一种应用于物联网***的硬件中间件
技术领域
本发明涉及物联网***中网络物理层管理的技术领域,尤其涉及一种应用于物联网***的硬件中间件。
背景技术
对于复杂的物联网***而言,由单一的上位软件***直接对众多且分布广泛的下位的传感器、RFID读写器、电子标签、网络设备等硬件进行管理,与多个下位机通讯获取相关数据,是不能达到实时高效的管理的,此时必须要将***分成多层,就是要有中间层。运行在这些中间层的各种软硬件就是中间件了。
中间件在形式上既可以是独立的软件包或嵌入的软件包,也可以是独立的硬件加各种嵌入的软件包。***一旦被分成多层以后,虽然有了灵活性和大容量,但是会失去实时性。既要能够保证***的灵活可靠,又保障实时,对中间件的设计要求就比较高。
目前全世界的各大标准中,从整个***架构角度看,EPC最完善。ISO标准的***特征不明显。UID标准有***特征,但在实时和交互方面***能力不够,根本没有提出像样的中间层标准。EPC中间件是符合EPC标准的物联网***的神经,是一种企业通用的管理EPC数据的架构。它可以安装在商店、本地配送中心、区域甚至全国数据中心,以实现对数据的捕获、监控和传送。这种分布式结构可以简化物联网的管理,提高运行效率。EPC通过中间件控制分布于全世界各地的硬件资源,从而可以根据需要在任何时间读写任何地点的任一物品的讯息。真正做到实时交互。当然,EPC要想达到理想的效果还有很多工作要做,比如安全问题,配套的软件及硬件产品。
发明内容
本发明的目的在于提供一种应用于物联网***的硬件中间件,其发布和组网比软件中间件(主要指EPC的中间件)方便。
为达到上述目的,本发明采用的技术方案如下:
一种应用于物联网***的硬件中间件,利用嵌入式软硬件平台,构建软硬件框架;硬件平台是以嵌入式微处理器为核心,扩展硬件接口;软件平台采用嵌入式操作***和嵌入式数据库,为扩展的硬件接口及其级联或组网的接口定义不同级别和可配置的驱动,并对扩展的硬件接口数据统一采集、过滤、封装和解析;定义与上位机统一的软硬件通讯接口;组网采用设置软件网关,使上位软件可以控制跨区域的各种下位硬件。
硬件接口包括:USB通讯接口、串行通讯接口、太网口接口、ZigBee无线接口、WiFi无线接口、BlueTooth无线接口、红外无线接口。
在软件平台上对扩展的硬件接口数据采集是从各个端口驱动程序那里主动或被动接收或发送数据;过滤是对采集来的数据筛除重复、错误数据,并矫正数据等;封装是将这些数据封装成上位软件能够识别的标准数据;解析是对上位机传送过来的标准数据解析成下位机可以识别的指令和数据,通过扩展接口的驱动发送到下位机;这些过程中的所有最终数据或临时重要数据都由嵌入式数据库统一管理。
在定义与上位机统一的软硬件通讯接口中,硬件上采用标准以太网接口,在软件上定义了标准的上位机通讯指令。
整个标准指令包括:动作、物理空间地址、操作数据,指令数据最终以TCP/IP协议传递给上位软件。
在嵌入式操作***上,针对不同的硬件接口配备不同的软件驱动程序,并且根据接口下联的设备及硬件的种类和方式配置不同的驱动参数,形成多个层次的驱动。
硬件中间件和上位软件之间传递的所有标准指令数据都将通过软件网关被加密发送和接收。
嵌入式操作***是Linux嵌入式操作***,硬件平台是ARM平台。
本发明的有益效果在于:在庞大复杂的物联网***,硬件中间件配合其他组件,能够实时地将各种功能的、各种接口(以太网、串口、USB、Zigbee、WiFi、蓝牙等)的下位硬件(低频、高频、超高频、有源的RFID读写器及电子标签、温度湿度传感器、烟雾、水流等各种传感设备、网络交换机、路由器等各种网络设备)接入到上位软件***中去,并由上位软件统一调度。上位软件只要通过标准指令数据就能实时控制纷繁复杂的下位硬件,大大简化上位软件的开发工作,同样给下位硬件的开发带来了非常大的灵活性。软件网关使中间件在组网上非常灵活,使得整个物联网***能够实现无处不在的连接。
附图说明
下面根据附图和实施例对本发明作进一步详细说明。
图1为本发明硬件中间件的应用***结构图。
图2为本发明硬件中间件的硬件结构。
图3为本发明硬件中间件的软件结构。
图4为本发明硬件中间件的标准指令语法结构。
图5为本发明硬件中间件和下位硬件连接示意图。
图6为本发明硬件中间件应用时的组网结构。
具体实施方式
本发明是运用于网络物理层管理的一个物联网***的中间件。该***中利用本发明集成了大量的网络物理层监控设备,如:RFID读写器、电子标签、温湿度传感器、网络设备等。下面就结合附图和具体实施案例进一步说明本发明硬件中间件的原理和实现方法。
图1为本发明硬件中间件的应用***结构图。
本发明是一种应用于物联网***中的硬件中间件。该中间件处于整个***的中间层的位置,是将***中复杂的下位硬件(如:传感器、RFID读写器、电子标签、网络设备等)讯息实时收集并传递给上位软件***,同时将上位软件***的指令实时传递给下位硬件***的中间设备
图2为本发明硬件中间件的硬件结构图。
在硬件结构上以嵌入式微处理器ARM为核心,外加多种丰富的接口,包括:作为核心工作模块的嵌入式CPU;与所述嵌入式CPU相连的以太网接口模块,用于与其它上位网络设备连接,实现网络实时通讯;与所述嵌入式CPU相连的串行通讯接口,用于与被控制设备的远距离数据通讯。所述串行通信接口为RS485、RS232,分别适用于不同串行通信距离的场合;串行通信接口可以外接128个扩展接口。与所述嵌入式CPU相连的USB通信接口,分别适用于不同USB通信距离的场合;USB通信接口可以通过外接USB HUB多级扩展USB接口。与所述嵌入式CPU相连的无线通信接口,用于与被控制的智能设备的远距离无线数据通信。所述无线通信接口为蓝牙、红外、WiFi、ZigBee,分别适用于不同无线通信距离的场合;其中ZigBee可以通过自组网外接多级支持ZigBee接口的下位硬件,WiFi可以通过无线AP形成多个设备之间的互联。与所述嵌入式CPU相连的显示屏,LCD屏或OLED屏,用于显示硬件中间件与前后台***通信的数据或处理事件的反馈讯息。与所述嵌入式CPU相连的按键模块,有多个按键,可控制所述显示屏讯息的上翻、下翻、确认和返回等操作,也可对嵌入式控制器***的重启操作。与所述嵌入式CPU相连的LED灯模块,有多个LED灯,除电源指示灯外,可表示但不限于某种事件的状态:如***错误、告警、通讯正常等状态。与所述嵌入式CPU相连的语音模块,错误事件发生时可发出告警讯息。与所述嵌入式CPU相连的存储模块,包括程序存储器和数据存储器,所述程序存储器和数据存储器可为可擦写式存储器,其中所述程序存储器优选可擦写式闪存。本发明的硬件***抗干扰能力强,除运用于网络物理层的物联网***外,还适用于多种不同的复杂控制***中。
图3为本发明硬件中间件的软件结构。
除上述硬件模块,此硬件中间件还包括嵌入式操作***和各种嵌入式软件包,让硬件中间件能多任务实时处理各种数据和事件。硬件结构中的嵌入式CPU支持Linux、WinCE等嵌入式操作***。本发明中采用Linux嵌入式操作***。
为扩展的硬件接口及其级联或组网的接口定义了不同级别和可配置的驱动。运行或发布时用户可以根据实际情况配置硬件接口驱动。通过这些驱动控制接入到不同接口的硬件设备进行数据的读写。
在嵌入式操作***上,针对不同的硬件接口配备不同的软件驱动程序,并且根据接口下联的设备及硬件的种类和方式配置不同的驱动参数,形成多个层次的驱动。如,针对串口,只连接一个设备和连接多个设备时,驱动程序需要做不同的处理和配置。针对USB设备也是如此。ZigBee接口在连接不同的ZigBee设备时驱动程序可以设定自己的角色——叶子节点或路由节点。所有的硬件接口的驱动由硬件接口驱动管理程序来统一管理和配置。
在驱动之上就是数据处理模块。该模块利用嵌入式数据库(目前有二个版本,分别采用SQLlite和BerkerlyDB)对数据进行存取,提高了存取效率的同时,增加了***的灵活性。该模块的主要工作是调用驱动程序获取硬件接口数据,或者将数据写到硬件接口。获取数据之后,首先对数据进行过滤,去除掉重复的和非法的数据。然后,将合法的数据封装成标准的指令,再通过以太网接口,将指令传递给上位软件。同样当上位软件发送指令给本发明的硬件中间件时,也只要遵从这个标准指令就可以。数据处理模块自动将指令解析成合法的硬件驱动可以识别的数据,再通过硬件驱动传送给硬件,指挥硬件工作。
图4为本发明硬件中间件的标准指令语法结构。
整个标准指令分成三个部分,第一部分是指令动作、第二部分是地址、第三部分是数据。地址和数据是配对出现的,并且一个指令动作可以有多对地址和数据。在实际应用中,指令动作就是一组预定义的编码或字符。如:定义“ADD”为“OXFF00”,表示十六进制的“FF00”代表“增加”这个动作,此时指令就可以表达为
ADD 地址1 数据1
地址2 数据2
......
由于具体动作可以预定义,只要上位软件的预定义文件和本中间件的预定义文件一致,所有的指令动作就能相互识别了。同样地址和数据的格式也能预定义。虽然本发明可以适用于很多场合的物联网应用,但主要是为了管理网络物理层的设备而设计的。所以,一个完整的地址包括:局域网、网段、硬件中间件编号、下位硬件编号、端口编号。数据的格式统一为长度有限的字符。当然在其他场合应用时,地址和数据都可以定义成其它格式,只要上位软件中的预定义文件和本中间件的预定义文件中,二者一致就可以。
图5为本发明硬件中间件物联网实际应用中连接的下位硬件种类。
本发明主要应用在管理网络物理层设施的物联网***中。我们要管理的对象有:网络线路、配线架、交换机、路由器、机柜、空调、照明设施、摄像***、服务器、主机、UPS、PMU、门禁等,以及为管理这些对象所追加的RFID读写设备、射频天线及各种传感器。所有这些设备都需要直接或间接接入到该中间件中去。
这些设备中有有源的设备也有无源的设备,有具有标准通讯接口或通讯协议的设备也有非标准的设备,有非智能设备也有智能设备(如:交换机、路由器、服务器,它们可以直接接入局域网并被网管软件管理)。要利用物联网技术管理这些网络物理层设备,首先要将对象分为被识别对象和管理对象,一般被识别对象和管理对象是多对一的从属关系,由一个管理对象管理多个被识别对象。当然,某个管理对象很可能也是别的管理对象的下属被识别对象。即使是智能设备也很可能是被识别对象,如:资产管理下肯定管理多个智能设备。被识别对象就和电子标签绑定,管理对象就和RFID识别设备绑定。识别设备首先要支持RFID的读写,然后支持必要的传感器(网络物理层最常用的传感设备是温度、湿度、烟尘度、流体、光线等)。识别设备和中间件相连,具有有源RFID读写功能的识别设备基本是通过无线(ZigBee或WiFi等)和中间件通讯。具有无源RFID读写功能的识别设备基本都是通过有线(USB或串口等)和中间件通讯。一些标准设备也可以直接和中间件相连。最终,几乎所有的网络物理层对象都能够通过识别对象被接入到硬件中间件去管理。
图6为本发明硬件中间件物联网实际应用时的组网结构。
如前所述,该硬件中间件可以接入到局域网中,并和上位机通讯。实际应用中由于物联网***比较庞大,基本上都是跨网段的,甚至是跨区域的。本发明的硬件中间件在组网的时候还可以设定自己所属专用网关(这个网关是另外一个发明)IP。一个网段内的所有硬件中间件都被该网段的网关管理起来。该网关是硬件中间件和因特网之间的桥梁,通过这个网关中间件的讯息能够安全地在因特网上传送,并和上位软件之间进行实时讯息交互。一条从上位软件传递到中间件的指令,先要经过上位软件网关的加密,然后经过因特网传递到某个中间件的网关,再被该网关解密和解析,最后到达某个具体的硬件中间件。