技术领域
[0001] 本实用新型涉及智能粮库控制器技术领域,具体为一种可以动态匹配设备协议的智能粮库控制器。
相关背景技术
[0002] 智能农业是指在相对可控的环境条件下,采用工业化生产,实现集约高效可持续发展的现代超前农业生产方式,就是农业先进设施与陆地相配套、具有高度的技术规范和高效益的集约化规模经营的生产方式。智能农业还包括智能粮库系统,该系统通过将粮库内温湿度变化的感知与计算机或手机的连接进行实时观察,记录现场情况以保证量粮库的温湿度平衡。
[0003] 现有的粮库控制器设备,接入的如粮情主机、温湿度传感器、气体采集传感器等终端设备,只能透传数据,无法对相应的设备进行数据解析,无法统一数据格式上传平台;有后台进行数据解析,增加后台系统压力,以及现有粮库的控制器设备,一旦接入新的设备,新的设备协议与现有的设备协议不同,必须对粮库控制器进行程序升级,而且需要专业的技术人员现场升级,增加升级的复杂性,针对上述情况,在现有的粮库控制器设备基础上进行技术创新。实用新型内容
[0004] 本实用新型的目的在于提供一种可以动态匹配设备协议的智能粮库控制器,以解决上述背景技术中提出现有的粮库控制器设备,接入的如粮情主机、温湿度传感器、气体采集传感器等终端设备,只能透传数据,无法对相应的设备进行数据解析,无法统一数据格式上传平台;有后台进行数据解析,增加后台系统压力,以及现有粮库的控制器设备,一旦接入新的设备,新的设备协议与现有的设备协议不同,必须对粮库控制器进行程序升级,而且需要专业的技术人员现场升级,增加升级的复杂性的问题。
[0005] 为实现上述目的,本实用新型提供如下技术方案:一种可以动态匹配设备协议的智能粮库控制器,包括密码验证模块和协议库操作模块,所述协议库操作模块的输出端连接有协议库存储模块,所述密码验证模块和协议库存储模块的输出端均连接有配置操作显示模块,且配置操作显示模块的输出端连接有配置保存模块,且配置保存模块的输出端分别连接有协议库动态计算模块和数据库模块,所述协议库动态计算模块的输出端连接有数据解析模块。
[0006] 优选的,所述协议库操作模块通过API接口与协议库存储模块之间构成数据通信通道,且密码验证模块和协议库存储模块均通过API接口与配置操作显示模块构成数据通信通道。
[0007] 优选的,所述配置操作显示模块通过API接口与配置保存模块之间构成数据通信通道,且配置保存模块通过API接口分别与协议库动态计算模块、数据解析模块和数据库模块构成数据共享通道。
[0008] 优选的,所述协议库动态计算模块、数据解析模块和数据库模块三者均通过API接口构成数据共享通道。
[0009] 与现有技术相比,本实用新型的有益效果如下:
[0010] 提升设备性能与系统的安全性,增加设备的可扩展性,易于后期系统升级,以及解决动态协议库文件保存与协议库文件动态匹配问题;粮库控制器可以解析接入的外围设备数据,同一数据格式上传平台,减少平台运行压力;粮库控制器与平台通过标准的协议格式进行通信,当需要扩展新的设备时,平台软件无需修改,使系统具有很好的可扩展性;通过下装新的协议库,完成对新的设备的添加,无需对控制器的程序进行修改;通过动态协议库对相应的设备进行数据解析,并对解析的数据进行数据保存,增加数据的安全性。
[0011] 密码验证模块是对管理员密码进行验证,因为密码保存时是MD5加密保存的,为了系统安全性,只有管理员才有权限去修改系统配置信息,由于MD5加密是不可逆的,所以该模块会对输入的密码进行MD5加密后与存储的MD5密码进行对比,对比结果正常,才运行进入系统配置界面;配置操作显示模块是一个页面,会展现出当前支持的参数,支持配置参数;协议库操作模块,主要是读取系统当前支持的协议库列表,展现出来,用户可以选择配置,以及协议库选中以后,系统会提示出该协议库的基本信息:设备类型、设备支持的参数等等,以给用户做参考;协议库存储模块用于存储管理当前支持的协议,该模块也类似于数据库模块,提供查询和更新的API接口给应用层调用,协议库操作模块调用该模块的查询接口来查询当前系统支持的协议库。
[0012] 配置保存模块是用于调用数据库存储模块API接口,将用户配置的数据写入到数据库中。
[0013] 协议库动态计算模块是从配置信息中读取到该设备的配置信息,拿到其配置的动态协议库名称,然后实例化协议库对象,这个对象就用于与该设备进行通信;数据解析模块是对采集的数据进行解析为统一的格式,主要功能也就是数据格式化,数据解析模块是协议库实例化后,对数据进行解析分析的一个模块,不同的设备数据,其格式与解析方式都不一样,所以这个模块是比较复杂的,依赖于设备类型与协议类型;数据库模块是用于存储配置参数,数据库是使用的Sqlit3数据库,Sqlite3是由C语言开发的一个轻量级数据库,并且访问速度非常快,很适合嵌入式系统使用,Sqlite3数据库是文件数据库,即将数据按照其格式存储到文件中,不用搭建服务器,使用起来比较方便,以及按照参数需求建立好数据库表结构,然后通过其C语言的API接口写数据到库表即可。
具体实施方式
[0016] 下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。
[0017] 请参阅图1,本实用新型提供一种技术方案:一种可以动态匹配设备协议的智能粮库控制器,包括密码验证模块1和协议库操作模块3,协议库操作模块3的输出端连接有协议库存储模块8,密码验证模块1和协议库存储模块8的输出端均连接有配置操作显示模块2,且配置操作显示模块2的输出端连接有配置保存模块6,且配置保存模块6的输出端分别连接有协议库动态计算模块4和数据库模块7,协议库动态计算模块4的输出端连接有数据解析模块5。
[0018] 本实用新型中,进一步地,协议库操作模块3通过API接口与协议库存储模块8之间构成数据通信通道,且密码验证模块1和协议库存储模块8均通过API接口与配置操作显示模块2构成数据通信通道;密码验证模块1是对管理员密码进行验证,因为密码保存时是MD5加密保存的,为了系统安全性,只有管理员才有权限去修改系统配置信息,由于MD5加密是不可逆的,密码验证模块1可对输入的密码进行MD5加密后与存储的MD5密码进行对比,对比结果正常,才运行进入系统配置界面;配置操作显示模块2是一个页面,会展现出当前支持的参数,支持配置参数;协议库操作模块3主要是读取系统当前支持的协议库列表,展现出来,用户可以选择配置,以及协议库选中以后,系统会提示出该协议库的基本信息:设备类型、设备支持的参数等等,以给用户做参考;协议库存储模块8用于存储管理当前支持的协议,协议库存储模块8也类似于数据库模块7,提供查询和更新的API接口给应用层调用,协议库操作模块3调用该模块的查询接口来查询当前系统支持的协议库。
[0019] 进一步地,配置操作显示模块2通过API接口与配置保存模块6之间构成数据通信通道,且配置保存模块6通过API接口分别与协议库动态计算模块4、数据解析模块5和数据库模块7构成数据共享通道;配置保存模块6是用于调用数据库存储模块API接口,将用户配置的数据写入到数据库中。
[0020] 进一步地,协议库动态计算模块4、数据解析模块5和数据库模块7三者均通过API接口构成串联电性连接;协议库动态计算模块4是从配置信息中读取到该设备的配置信息,以及获取协议库动态计算模块4配置的动态协议库名称,将实例化协议库对象,该对象就用于与该设备进行通信;数据解析模块5是对采集的数据进行解析为统一的格式,主要功能也就是数据格式化,以及数据解析模块5是协议库实例化后,对数据进行解析分析的一个模块,不同的设备数据,其格式与解析方式都不一样,数据解析模块5是比较复杂的,依赖于设备类型与协议类型;数据库模块7是用于存储配置参数,数据库是使用的Sqlit3数据库,Sqlite3是由C语言开发的一个轻量级数据库,并且访问速度非常快,很适合嵌入式系统使用。Sqlite3数据库是文件数据库,即将数据按照其格式存储到文件中,不用搭建服务器,使用起来比较方便,以及按照参数需求建立好数据库表结构,然后通过其C语言的API接口写数据到库表即可。
[0021] 该可以动态匹配设备协议的智能粮库控制器的工作原理:
[0022] 第一步,如果需要配置一个新的动态协议库,由协议库操作模块3对协议库文件进行导入,有协议库存储模块8保存协议库文件。
[0023] 第二步,如果粮库控制器需要添加新的设备,需要输入密码由密码验证模块1进行安全验证,配置操作显示模块2进行配置信息的显示,可以通过配置操作显示模块2对设备进行添加、修改、删除操作,添加新的设备以后,配置上相应的设备名称、相应的串口、通信地址,选择相应的设备协议库。由配置保存模块6对配置的信息进行保存,将配置保存模块6配置的信息保存到数据库模块7。当接入的设备与粮库控制器建立通信时,通过协议库动态计算模块4从协议库存储模块8中获取到对应的设备的协议库文件,有数据解析模块5完成对应设备的数据解析,并将解析的数据,保存至数据库模块7中。
[0024] 尽管已经示出和描述了本实用新型的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本实用新型的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本实用新型的范围由所附权利要求及其等同物限定。