一种基于物联网的传感器自动接入控制系统的制作方法

文档序号:15233024发布日期:2018-08-21 19:54阅读:931来源:国知局

本发明涉及一种基于物联网的传感器自动接入控制系统,属于物联网的技术领域。



背景技术:

物联网即物物相连的互联网。从技术架构上来看,物联网可以分为三层:感知层、网络层和应用层。感知层由各种传感器及传感器网关构成,是物联网识别物体和采集信息的来源,它们探测获取外界信息,保证了人与物、物与物的沟通能够实现。

传感器与传感网共同奠定了物联网的基石。将传感器接入平台之前,首先需要根据选择的硬件平台下载或编写相应的传感器驱动,之后才能使传感器运行上传采集的数据。然而,传感器种类繁多,接口类型也千差万别,再加上选择的平台不同,这就导致了传感器驱动的数量繁杂,从而增加了底层传感器接入平台的难度。

因此,针对目前传感器接入方式复杂,没有统一的规范的问题,设计出了一种能够在线升级传感器驱动,实现传感器即插即用的物联网系统。



技术实现要素:

本发明所要解决的技术问题在于克服现有技术的不足,提供一种基于物联网的传感器自动接入控制系统,解决目前传感器接入方式复杂,异构传感器接入平台过程繁琐和传感器无法拿来即用的问题。以硬件平台、网关和云平台为核心,实现传感器即插即用和传感器驱动在线升级,降低传感器接入平台难度,提高开发效率。

本发明具体采用以下技术方案解决上述技术问题:

基于物联网的传感器自动接入控制系统,包括:

云平台,用于创建由不同传感器的驱动文件组成的驱动文件库,并将每一个驱动文件对应的url同步发送至网关;及用于根据网关选择的url从ftp服务器中选取对应驱动文件并下发至网关;且还用于存储网关上传的http报文中的传感数据;

硬件平台,用于检测传感器是否被驱动,当检测到传感器被驱动时,将获取的传感数据按照设定协议格式封包上传至网关;当检测到传感器未被驱动时,生成包含传感器身份信息的驱动文件获取请求并上传至网关,及接收网关下发的驱动文件并驱动传感器;

网关,用于建立驱动url库和策略信息库,其中驱动url库,用于存储同步接收的每一个驱动文件对应的url;所述策略信息库,用于根据硬件平台的上传数据进行解析判断出该上传数据是驱动文件获取请求或传感数据,当判断出上传数据是驱动文件获取请求时,根据请求中的身份信息匹配到驱动url库中获得对应的url,将所获得的url发送至云平台并接收从云平台的ftp服务器中选取和下发的对应驱动文件,及将所述驱动文件下发至硬件平台;当判断出上传数据是传感数据时,将数据提取出后写入自定义格式的字符串中,并将字符串封装成http报文发送到云平台。

进一步地,作为本发明的一种优选技术方案:所述云平台中每一个驱动文件对应的url以json文件形式同步发送至网关。

进一步地,作为本发明的一种优选技术方案:所述硬件平台中设定协议格式由帧头、身份信息、数据位及帧尾组成。

进一步地,作为本发明的一种优选技术方案:所述网关中策略信息库在接收到硬件平台的上传数据后,先要根据自定义的数据格式进行判断,将判断为格式不符合的数据予以剔除。

进一步地,作为本发明的一种优选技术方案:所述网关通过zigbee或wifi或蓝牙方式和硬件平台建立数据传输。

进一步地,作为本发明的一种优选技术方案:所述云平台还用于为已注册的硬件平台分配devicekey,硬件平台将devicekey写入每次上传的数据中,所述云平台在接收到上传数据时根据其中的devicekey判断是否将该数据接收。

进一步地,作为本发明的一种优选技术方案:所述云平台还用于对网关ip进行身份认证,及在身份认证通过后对网关上传的数据接收。

进一步地,作为本发明的一种优选技术方案:所述云平台还用于在网关发送的url在ftp服务器中无法查询到对应驱动文件时,自动获取该驱动文件并更存入驱动文件库和下发至网关。

进一步地,作为本发明的一种优选技术方案:所述自动获取驱动文件包括通过互联网下载或自行编写方式获取。

本发明采用上述技术方案,能产生如下技术效果:

本发明提供一种基于物联网的传感器自动接入控制系统,

本发明的系统,在云平台ftp服务器构建了驱动文件库,存放所有的传感器驱动文件;在网关侧建立了驱动url库和策略信息库两种信息库。驱动url库存放了ftp服务器中每个驱动文件对应的url。策略信息库首先对硬件平台上传的数据进行接入认证,之后对报文进行解析确认是驱动获取请求还是上传的传感数据,而当报文是驱动获取请求时需要根据请求中的身份信息匹配到驱动url库中对应的url,最后再根据url从ftp服务器下载驱动文件并下发给硬件平台,更快速的实现驱动的在线下载。本专利的优点在于本系统实现了传感器即插即用和传感器驱动在线升级,同时可以减少传感器接入硬件平台的开发步骤,缩短开发时间。

附图说明

图1为本发明的系统整体结构示意图。

图2为本发明的网管功能流程图。

图3为本发明的硬件平台结构图。

具体实施方式

下面结合说明书附图对本发明的实施方式进行描述。

如图1所示,本发明设计了一种基于物联网的传感器自动接入控制系统,该系统主要包括:云平台、硬件平台、网关。硬件平台主要实现驱动查询和传感数据上传的功能。网关主要实现传感器身份认证、驱动下载与转发和传感数据上传的功能。云平台实现驱动文件下发以及传感数据存储的功能。

具体地,所述云平台,用于建立由不同传感器的驱动文件组成的驱动文件库及存放在云平台的ftp服务器上,并将每一个驱动文件对应的url同步发送至网关;及用于根据网关选择的url从ftp服务器中选择对应驱动文件并下发至网关;且还用于存储网关上传的传感数据;

所述硬件平台,用于检测传感器是否被驱动,当检测到传感器被驱动时,将获取的传感数据按照设定协议格式封包上传至网关;当检测到传感器未被驱动时,生成包含传感器身份信息的驱动文件获取请求并上传至网关,及接收网关下发的驱动文件;

所述网关,用于建立驱动url库和策略信息库,其中驱动url库,用于存储同步接收的每一个驱动文件对应的url;所述策略信息库,用于根据硬件平台的上传数据进行解析判断出该上传数据是驱动文件获取请求或传感数据,当判断出上传数据是驱动文件获取请求时,根据请求中的身份信息匹配到驱动url库中获得对应的url,将所获得的url发送至云平台且接收来自云平台的ftp服务器中选择和下发的对应驱动文件,及将所述驱动文件下发至硬件平台;当判断出上传数据是传感数据时,将传感数据提取出来写入自定义格式的字符串中,最后将字符串封装成http报文上传到云平台。

本发明的实施例中,搭建了物联网的云平台,包括了http服务器、ftp服务器、数据库等。硬件平台想要接入平台都需要先在平台进行用户注册,进入个人中心后申请创建设备,服务器会给每一个硬件平台生成一个唯一的devicekey,硬件平台需要把devicekey写入设备中,并按照表2所设定的数据格式封包,硬件平台需要把devicekey写入每次上传的数据中,平台接收数据时需要根据devicekey是否来决定数据是否插入数据库,由此设备上传的数据才能被云平台接收。所述云平台在接收到硬件平台上传的数据后,先要根据自定义的数据格式进行判断,将格式不符合的数据剔除。

云平台建立了用于驱动不同传感器的驱动文件组成的驱动文件库,存放在ftp服务器中,并将库中的每一个驱动文件的url以json格式同步和存储到网关上。云平台的http服务器还可以实现网关的身份认证,接收网关上传的数据并插入数据库。

所述网关的功能流程图如图2所示,网关实现了底层硬件平台的发现并接收硬件平台上传的数据,然后通过策略信息库对收到的数据进行解析判断数据是传感数据还是驱动下载请求。如果是传感数据,则对传感器数据进行提取写入自定义格式的字符串中,并重新封包将字符串封装成http报文后通过http上传到云平台。如果是驱动下载请求则根据其中的身份信息从驱动url库中匹配对应驱动的url,如果匹配成功,则根据url通过ftp协议从云平台下载驱动文件,最后将驱动下发给底层硬件平台;如果匹配失败,则以http格式向云平台发送驱动缺失的告警信息。

智能硬件平台以stm32单片机为基础,针对传统方案硬件驱动开发更新困难的问题,采用了移植micropython的方案,利用python语法简单以及内置exec等函数便于驱动文件调用的优点,大大节省了底层的开发时间以及实现文件的检索和调用。

所述硬件平台,主要包括各传感器、mcu、通信模组,如图3所示,硬件平台的主要运行过程为:首先,硬件平台检测传感器是否被驱动,如果成功,则运行驱动文件并将传感器采集的传感数据上传到网关;如果没有被驱动,则与网关建立连接并发送驱动文件获取请求。最后,硬件平台会监听网关是否下发驱动文件,接受到下发的驱动文件后自动保存在sd卡中。所述硬件平台上传包括zigbee、wifi、蓝牙三种方式,因而在网关上搭载了zigbee协调器、无线网卡、蓝牙嗅探器这三种接收装置,这样基本可以覆盖智能物联网领域大部分设备的通讯方式。

并且,对传感数据上传到网关时,对硬件平台上传数据协议格式设计,考虑到传感器的种类和接口类型的差异以及与网关通信方式的不同,定义了一套基于专利系统的数据传输报文格式。这个报文格式包含了传感器种类、传感器接口类型、上传数据方式、硬件平台信息等身份信息,从而网关的策略信息库可以根据这些身份信息准确匹配到相应的驱动文件并下发。具体协议格式如表1所示:

表1、上传数据格式信息

下面对表1中的格式信息进行详细说明:

(1).协议标识信息:为了防止其它广播报文的干扰,定义了作为引导码的帧头和作为结束码的帧尾,从而确保网关接收到正确的数据。

(2).devicekey:这是用户在云平台注册添加硬件平台时由云平台自动生成的devicekey,硬件平台上传数据时需要将devicekey写入其中,云平台接收数据时需要验证devicekey是否正确,才能判断是否将这条数据插入数据库;

(3).传感器类型信息:标识传感器的功能种类,即标识是光照、温湿度、烟雾或其它功能的传感器,多功能传感器种类信息之间用符号“&“间隔,例如温湿度传感器信息表示方式为:stype=temp&humi。

(4).传感器接口信息:标识传感器接入硬件平台的方式,即传感器接口是rs232、rs485、spi或iic等。

(5).上传方式信息:标识硬件平台连接网关的方式,即说明硬件平台是通过zigbee、wifi还是蓝牙等方式连接网关。

(6).扩展信息:预留字段,用于以后的信息扩展,默认为空。

(7).数据信息:这是本数据格式中的关键所在,当硬件平台检测到传感器没有驱动时,数据位定义为nonedrive,而当网关检测到nonedrive后会根据之前的身份信息匹配驱动库寻找驱动,当成功匹配到驱动时立即选择并下发到硬件平台;而当传感器能够运行的时候,数据位就记录传感器采集到的数据,例如温湿度、光照强度等数据。当采集到的数据不止一种时,数据间用符号“&“分隔,例如同时上传温湿度:temp=20&humi=40。

下面给出一个具体的报文实例,以常见的温湿度传感器dht11为例,传感器类型:温湿度,传感器接口:单线串行接口,上传方式:wifi。

获取驱动时的报文数据格式为:

“t/devkey=ff2aa0640d21441287519e53baed536f/stype=temp&humi/inter=doci/utype=wifi/nonedrive/b”;

当传感器能够运行时上传的报文格式为:

“t/devkey=ff2aa0640d21441287519e53baed536f/stype=temp&humi/inter=doci/utype=wifi/temp=20&humi=40/b”;

在以上格式中,不同信息之间通过使用符号“/“分隔,同一类信息中的数据之间采用符号”&“分隔,支持多种数据传输,便于扩展。

所述网关在识别出硬件平台上传的是传感数据后,对传感器数据提取后按表2格式重新封包得到http报文后再以http协议上传到云平台。详细协议格式如下表2所示:

表2、网关上传报文协议格式

其中,所述帧头、传感器id、传感器类型、传感器接口、上传方式、扩展位和帧尾这几个字段的含义与表1相同;

网关信息:该字段添加的是网关的ip,便于平台对网关进行定位以及管理;

数据信息:当网关接收到传感数据时,该字段里添加的是传感数据;而当网关接收到的是硬件平台的驱动获取请求并且在现有的驱动文件库中没有成功匹配到寻找的驱动文件时,这个字段定义为nonedrive,当服务器收到这个信息时表示现有的驱动库没有储存所需传感器的驱动,需要对原本的驱动库进行扩展更新。

下面是一个具体的报文实例,以常见的温湿度传感器dht11为例,传感器类型:温湿度,传感器接口:单线串行接口,上传方式:wifi。

当没有成功匹配到所需驱动时的报文数据格式为:

“t/devkey=ff2aa0640d21441287519e53baed536f/stype=temp&humi/inter=doci/utype=wifi/gwip=192.168.1.100/nonedrive/b”;

当传感器能够运行时上传的报文格式为:

“t/devkey=ff2aa0640d21441287519e53baed536f/stype=temp&humi/inter=doci/utype=wifi/gwip=192.168.1.100/temp=20&humi=40/b”;

在以上格式中,不同信息之间通过使用符号“/“分隔,同一类信息中的数据之间采用符号”&“分隔,支持多种数据传输,便于以后的扩展。

本发明的基于物联网的传感器自动接入控制系统,具体的工作流程如下:

步骤1、首先,在云平台建立完善由不同驱动文件组成的驱动文件库,将驱动文件存放在云平台的ftp服务器上,并将每一个驱动文件对应的url以json文件的形式实时同步存储到网关上;

步骤2、运行硬件平台,硬件平台的mcu循环检测传感器是否被驱动。

当硬件平台检测到传感器被驱动时,将采集到的数据按照表1所述的设定协议格式封包上传给网关,再由网关确认收到的数据是传感数据时,再按表2所述的格式重新封包通过http协议上传到云平台的管理服务器进行存储。

当检测到传感器未被驱动时,硬件平台的mcu生成包含传感器身份信息的驱动文件获取请求并上传至网关。

步骤3、网关在收到硬件平台的数据时,网关中策略信息库在接收到硬件平台上传的数据后,先要根据自定义的数据格式进行判断,将格式不符合的数据剔除,由此进行解析来判断数据的合法性,再判断数据属于驱动请求还是传感数据,为了提高解析效率,在网关建立了驱动url库和策略信息库。所述驱动url库存储同步接收的每一个驱动文件对应的url;所述策略信息库根据硬件平台的上传数据进行解析判断出该上传数据是驱动文件获取请求或传感数据,其判断过程具体如下:

步骤31、网关接收到硬件平台上传的数据,将报文以符号“/“分隔,对分割后的首尾字符串分别和”t“、”b“进行比较判断,如果全部正确可以确认这是合法字符,否则判断出是格式不符合的数据,将报文丢弃和剔除;

步骤32、网关提取数据位的字符串,根据数据位判断这组数据是数据位还是下载驱动的请求,如果数据位是nonedrive,进入步骤33;否则,进入步骤35;

步骤33、网关判断出硬件平台上传的是驱动文件获取请求时,网关综合传感器类型、接口类型等身份信息进行驱动匹配,如果能够在现有驱动url库中匹配的所需要url,就根据匹配到的url发送至云平台,通过与云平台的管理服务器建立ftp连接,管理服务器选择对应的驱动文件后下发到网关。如果现有的驱动url库中无法匹配的所需要的url,则进入步骤36;

步骤34、网关将接收到的云平台选择和下发的驱动文件再下发给硬件平台,再执行步骤1;

步骤35、当网关判断出硬件平台上传数据是传感数据时,网关将硬件平台上传的数据以表1的协议格式为基础重新封装成http数据报文,与管理服务器进行http连接,将封装后的报文上传到云平台的管理服务器;

该过程中,云平台需要判断网关上传的传感数据中判断是否存在合法的devicekey,由于云平台为注册过的硬件平台分配一个devicekey,硬件平台需要把devicekey写入每次上传的数据中,云平台接收数据时需要根据devicekey来判断是否将数据插入数据库,当存在合法devicekey时对传感数据接收和存储至数据库。否则不接受网关上传的传感数据。

步骤36、将数据位定义为nonedrive,通过http上传给管理服务器,提醒需要进行驱动文件库的补充升级,即ftp服务器中无法查询到对应驱动文件时,从外部自动获取所需驱动文件并添加到驱动库中。

当管理服务器接收到的报文数据位字段为“nonedrive”时,表明现有的驱动文件库中没有所需要传感器的驱动,需要对驱动文件库进行补充扩展,从外部获取的方式,可以通过互联网下载或者自行编写方式,来根据需要将所需的驱动文件自行添加到驱动文件库中。

步骤4、硬件平台将获取的驱动文件储存在sd卡中,并同mcu运行sd卡中的文件,驱动传感器上传采集到的数据。重复所述过程,直至硬件平台中的传感器均获取到驱动文件,并执行驱动文件,使得传感数据得到上传。

综上,本发明可以硬件平台、网关和云平台为核心,分别从传感器即插即用和传感器驱动在线升级,实现传感器即插即用的物联网系统,从而降低传感器接入平台难度,提高开发效率。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1