当前位置: 首页 > 专利查询>山东大学专利>正文

农业物联网多种数据传输及处理的方法技术

技术编号:12621279 阅读:105 留言:0更新日期:2015-12-30 18:56
农业物联网多种数据传输及处理的方法,属于物联网技术领域。基于农业物联网的环境下,在农业大棚中利用传感器采集农业大棚内温度、湿度、二氧化碳浓度、光照强度等环境参数,自定义数据帧规范统一传输数据帧的格式,同时提供解析数据帧的方法;农业大棚中使用光谱仪检测得到的光谱数据格式为txt文件,需要传输txt格式文件。使用C#语言编写程序使其支持对以上两种类型数据进行处理并基于网络socket技术进行传输,使数据最终存入远程数据库中。本发明专利技术方法实现了传输以及处理多种数据类型的大棚环境参数,可实时地观察、测试并管理改善农业大棚中的各种环境条件。

【技术实现步骤摘要】

本专利技术涉及一种,属于物联网

技术介绍
我国是农业大国,在网络技术发展迅猛的背景下,对农业智能化管理的需求越来越迫切,比如实时远程监测农业大棚中的环境参数,可以大大便利从事农业的技术人员掌握大棚内的情况。在查阅资料的过程中发现,很多智能农业物联网的解决方法被提出,却没有提出具体并有效的数据传输及处理的方式。申请号为201420171030.4、专利技术人为曾旭东、专利技术名称为“基于物联网的智慧农业管理及实时安全溯源系统”的技术专利涉及一种基于物联网的智慧农业管理及实时安全溯源系统,该系统中提出使用ZigBee无线网络技术将传感器的数据传至数据中心,但ZigBee无线网络技术传输范围有限,不能支持将数据传输至远程服务器,且该专利未提出所支持的具体数据格式以及处理方法。
技术实现思路
为了克服现有技术存在的缺陷和不足,本专利技术提供了一种,结合了串口通信、网络socket技术和多线程编程技术等一套完整的支持农业物联网多种类型数据传输以及处理的解决方案,实现数据实时存入远程服务器数据库的功能。本专利技术方法是通过以下具体技术方案实现的:一种,由客户端和远程服务器通过互联网建立的网络系统来实现,客户端运行于置于农业大棚里的PC机上,该PC机与温度、湿度、光照强度、二氧化碳数据采集模块相通过串口连接,同时光谱仪通过USB接口与该PC机相连;服务器端和数据库运行于远程服务器上,该方法步骤如下:I)客户端运行在位于农业大棚的PC机上,服务器端运行于远程服务器上,客户端与服务器端通过网络socket技术进行通信;a、服务器端设置固定的IP和端口号,准备接收数据,在这里对于不同数据类型设置了不同的端口号分别进行监听,可同步接收多种类型的数据;b、客户端则创建多个Socket的实例,以支持多种数据格式的发送,分别按照服务器所设定的IP和端口号进行连接;2)客户端与数据采集模块进行串口通信,从而获取各个数据采集模块所检测到的大棚内的数据,通过串口通信获得自定义协议串口数据帧;光谱仪通过USB 口与客户端主机相连,直接在某个路径下生成需要发送的txt文件;a、自定义农业大棚数据协议:①数据帧总长32位,使用其中16位,后16位作为预留;②前16位中,前4位作为帧头,后4位作为帧尾,帧头和帧尾一起作为数据帧格式fe验;③第5、6位表示数据帧来自大棚中几号数据采集模块;④第7位表示数据类型,第8、9、10、11位表示数据内容;当第7位为OI时,则第8、9位表示大棚湿度,而第10、11位表示大棚温度;第7位为02时,第8、9、10、11位的数据为二氧化碳浓度;第7位为03时,第8、9、10、11位的数据为光照强度;⑤第12位作为校验位,为第8、9、10、11位的数据之和,进一步对数据的准确度进行校验;客户端在发送串口数据帧时,首先检验数据帧长,然后定义一个长度为32的定长byte类型的数组,将数据帧放入数组中,利用Socket实例执行Send发送该数组,最后将数组清零,等待下一帧数据的写入;b、客户端使用一个FileSystemWatcher实例对文件系统进行监视,一旦有新的txt文件产生或txt文件被覆盖,则会触发事件,该事件具体步骤如下:①将触发了事件的txt文件写入文件流FileStream ;②定义一个长度为500的byte型数组,将文件流分成η个长度为500的数据包循环写入数组进行发送;③判断最后一个长度不足500的数据包长度是否为0,如果不为零则新定义一个符合该数据包长度的数组进行发送;如果为最后一个数据包的长度为0,则表明该文件流已完全写入数组,发送完毕;3)服务器端需要开启两个线程对两个端口号分别进行监听,使得接收串口数据帧和txt文件时互不干扰,在监听线程下,一旦有客户端与之连接,则需要开启子线程接收并处理数据,最后服务器端与数据库进行连接将数据插入数据库;a、将数据库的操作封装成一个类,提供连接数据库、更新数据库、查询数据、插入数据、删除数据的方法,便于数据库的操作;b、将处理串口数据帧封装成类,提供按照自定义农业大棚数据协议解析数据帧的方法method O,在监听线程下新建子线程new Thread (new ThreadStart (method)),解析出来数据,服务器端调用数据库操作的类,插入数据库;C、将txt文件的接收也封装成类,提供接收txt文件的方法Process O,在另一个监听线程下新建子线程new Thread (new ThreadStart (Process)),在txt文件接收完毕后,服务器端读取该txt文件,调用数据库操作的类,将数据插入数据库。本专利技术方法基于农业物联网的环境下,实现了传输以及处理多种数据类型的大棚环境参数。在农业大棚中利用传感器采集农业大棚内温度、湿度、二氧化碳浓度、光照强度等环境参数,自定义数据帧规范统一传输数据帧的格式,同时提供解析数据帧的方法;农业大棚中使用光谱仪检测得到的光谱数据格式为txt文件,需要传输txt格式文件。使用C#语言编写程序使其支持对以上两种类型数据进行处理并基于网络socket技术进行传输,使数据最终存入远程数据库中,可实时地观察、测试并管理改善农业大棚中的各种环境条件。本专利技术的有益效果是:I)本专利技术提供了一套完整的农业物联网多种类型数据采集以及处理的解决方案,使得农业大棚中传感器所采集的环境参数以及光谱仪所检测的光谱数据都传输至远程服务器并插入数据库中得以保存。2)本专利技术具有较强的可扩展性,客户端的数目和类型可扩展,不只是本专利技术提供的客户端,且只要是基于Socket网络技术进行传输,且传输数据格式符合自定义数据帧协议的客户端,服务器端都可进行处理。【附图说明】图1是本专利技术方法所使用的网络系统的结构示意图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步说明,但不限于此。实施例:本专利技术实施例如图1所示,一种,由客户端和远程服务器通过互联网建立的网络系统来实现,客户端运行于置于农业大棚里的PC机上,该PC机与温度、湿度、光照强度、二氧化碳数据采集模块通过串口相连接,同时光谱仪通过USB接口与该PC机相连;服务器端和数据库运行于远程服务器上,该方法步骤如下:I)客户端运行在位于农业大棚的PC机上,服务器端运行于远程服务器上,客户端与服务器端通过网络socket技术进行通信;a、服务器端设置固定的IP和端口号,准备接收数据,在这里对于不同数据类型设置了不同的端口号分别进行监听,可同步接收多种类型的数据;b、客户端则创建多个Socket的实例,以支持多种数据格式的发送,分别按照服务器所设定的IP和端口号进行连接;2)客户端与数据采集模块进行串口通信,从当前第1页1 2 本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/CN105208016.html" title="农业物联网多种数据传输及处理的方法原文来自X技术">农业物联网多种数据传输及处理的方法</a>

【技术保护点】
一种农业物联网多种数据传输及处理的方法,由客户端和远程服务器通过互联网建立的网络系统来实现,客户端运行于置于农业大棚里的PC机上,该PC机与温度、湿度、光照强度、二氧化碳数据采集模块通过串口相连接,同时光谱仪通过USB接口与该PC机相连;服务器端和数据库运行于远程服务器上,该方法步骤如下:1)客户端运行在位于农业大棚的PC机上,服务器端运行于远程服务器上,客户端与服务器端通过网络socket技术进行通信;a、服务器端设置固定的IP和端口号,准备接收数据,在这里对于不同数据类型设置了不同的端口号分别进行监听,可同步接收多种类型的数据;b、客户端则创建多个Socket的实例,以支持多种数据格式的发送,分别按照服务器所设定的IP和端口号进行连接;2)客户端与数据采集模块进行串口通信,从而获取各个数据采集模块所检测到的大棚内的数据,通过串口通信获得自定义协议串口数据帧;光谱仪通过USB口与客户端主机相连,直接在某个路径下生成需要发送的txt文件;a、自定义农业大棚数据协议:①数据帧总长32位,使用其中16位,后16位作为预留;②前16位中,前4位作为帧头,后4位作为帧尾,帧头和帧尾一起作为数据帧格式校验;③第5、6位表示数据帧来自大棚中几号数据采集模块;④第7位表示数据类型,第8、9、10、11位表示数据内容;当第7位为01时,则第8、9位表示大棚湿度,而第10、11位表示大棚温度;第7位为02时,第8、9、10、11位的数据为二氧化碳浓度;第7位为03时,第8、9、10、11位的数据为光照强度;⑤第12位作为校验位,为第8、9、10、11位的数据之和,进一步对数据的准确度进行校验;客户端在发送串口数据帧时,首先检验数据帧长,然后定义一个长度为32的定长byte类型的数组,将数据帧放入数组中,利用Socket实例执行Send发送该数组,最后将数组清零,等待下一帧数据的写入;b、客户端使用一个FileSystemWatcher实例对文件系统进行监视,一旦有新的txt文件产生或txt文件被覆盖,则会触发事件,该事件具体步骤如下:①将触发了事件的txt文件写入文件流FileStream;②定义一个长度为500的byte型数组,将文件流分成n个长度为500的数据包循环写入数组进行发送;③判断最后一个长度不足500的数据包长度是否为0,如果不为零则新定义一个符合该数据包长度的数组进行发送;如果为最后一个数据包的长度为0,则表明该文件流已完全写入数组,发送完毕;3)服务器端需要开启两个线程对两个端口号分别进行监听,使得接收串口数据帧和txt文件时互不干扰,在监听线程下,一旦有客户端与之连接,则需要开启子线程接收并处理数据,最后服务器端与数据库进行连接将数据插入数据库;a、将数据库的操作封装成一个类,提供连接数据库、更新数据库、查询数据、插入数据、删除数据的方法,便于数据库的操作;b、将处理串口数据帧封装成类,提供按照自定义农业大棚数据协议解析数据帧的方法method(),在监听线程下新建子线程new Thread(new ThreadStart(method)),解析出来数据,服务器端调用数据库操作的类,插入数据库;c、将txt文件的接收也封装成类,提供接收txt文件的方法Process(),在另一个监听线程下新建子线程new Thread(new ThreadStart(Process)),在txt文件接收完毕后,服务器端读取该txt文件,调用数据库操作的类,将数据插入数据库。...

【技术特征摘要】

【专利技术属性】
技术研发人员:朱维红罗璐璐王凯杨宝华
申请(专利权)人:山东大学
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1