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

文档序号:9455906阅读:901来源:国知局
农业物联网多种数据传输及处理的方法
【技术领域】
[0001]本发明涉及一种农业物联网多种数据传输及处理的方法,属于物联网技术领域。
【背景技术】
[0002]我国是农业大国,在网络技术发展迅猛的背景下,对农业智能化管理的需求越来越迫切,比如实时远程监测农业大棚中的环境参数,可以大大便利从事农业的技术人员掌握大棚内的情况。在查阅资料的过程中发现,很多智能农业物联网的解决方法被提出,却没有提出具体并有效的数据传输及处理的方式。申请号为201420171030.4、发明人为曾旭东、发明名称为“基于物联网的智慧农业管理及实时安全溯源系统”的实用新型专利涉及一种基于物联网的智慧农业管理及实时安全溯源系统,该系统中提出使用ZigBee无线网络技术将传感器的数据传至数据中心,但ZigBee无线网络技术传输范围有限,不能支持将数据传输至远程服务器,且该专利未提出所支持的具体数据格式以及处理方法。

【发明内容】

[0003]为了克服现有技术存在的缺陷和不足,本发明提供了一种农业物联网多种数据传输及处理的方法,结合了串口通信、网络socket技术和多线程编程技术等一套完整的支持农业物联网多种类型数据传输以及处理的解决方案,实现数据实时存入远程服务器数据库的功能。
[0004]本发明方法是通过以下具体技术方案实现的:
[0005]一种农业物联网多种数据传输及处理的方法,由客户端和远程服务器通过互联网建立的网络系统来实现,客户端运行于置于农业大棚里的PC机上,该PC机与温度、湿度、光照强度、二氧化碳数据采集模块相通过串口连接,同时光谱仪通过USB接口与该PC机相连;服务器端和数据库运行于远程服务器上,该方法步骤如下:
[0006]I)客户端运行在位于农业大棚的PC机上,服务器端运行于远程服务器上,客户端与服务器端通过网络socket技术进行通信;
[0007]a、服务器端设置固定的IP和端口号,准备接收数据,在这里对于不同数据类型设置了不同的端口号分别进行监听,可同步接收多种类型的数据;
[0008]b、客户端则创建多个Socket的实例,以支持多种数据格式的发送,分别按照服务器所设定的IP和端口号进行连接;
[0009]2)客户端与数据采集模块进行串口通信,从而获取各个数据采集模块所检测到的大棚内的数据,通过串口通信获得自定义协议串口数据帧;光谱仪通过USB 口与客户端主机相连,直接在某个路径下生成需要发送的txt文件;
[0010]a、自定义农业大棚数据协议:
[0011]①数据帧总长32位,使用其中16位,后16位作为预留;
[0012]②前16位中,前4位作为帧头,后4位作为帧尾,帧头和帧尾一起作为数据帧格式fe验;
[0013]③第5、6位表示数据帧来自大棚中几号数据采集模块;
[0014]④第7位表示数据类型,第8、9、10、11位表示数据内容;当第7位为OI时,则第8、9位表示大棚湿度,而第10、11位表示大棚温度;第7位为02时,第8、9、10、11位的数据为二氧化碳浓度;第7位为03时,第8、9、10、11位的数据为光照强度;
[0015]⑤第12位作为校验位,为第8、9、10、11位的数据之和,进一步对数据的准确度进行校验;
[0016]客户端在发送串口数据帧时,首先检验数据帧长,然后定义一个长度为32的定长byte类型的数组,将数据帧放入数组中,利用Socket实例执行Send发送该数组,最后将数组清零,等待下一帧数据的写入;
[0017]b、客户端使用一个FileSystemWatcher实例对文件系统进行监视,一旦有新的txt文件产生或txt文件被覆盖,则会触发事件,该事件具体步骤如下:
[0018]①将触发了事件的txt文件写入文件流FileStream ;
[0019]②定义一个长度为500的byte型数组,将文件流分成η个长度为500的数据包循环写入数组进行发送;
[0020]③判断最后一个长度不足500的数据包长度是否为0,如果不为零则新定义一个符合该数据包长度的数组进行发送;如果为最后一个数据包的长度为0,则表明该文件流已完全写入数组,发送完毕;
[0021]3)服务器端需要开启两个线程对两个端口号分别进行监听,使得接收串口数据帧和txt文件时互不干扰,在监听线程下,一旦有客户端与之连接,则需要开启子线程接收并处理数据,最后服务器端与数据库进行连接将数据插入数据库;
[0022]a、将数据库的操作封装成一个类,提供连接数据库、更新数据库、查询数据、插入数据、删除数据的方法,便于数据库的操作;
[0023]b、将处理串口数据帧封装成类,提供按照自定义农业大棚数据协议解析数据帧的方法method O,在监听线程下新建子线程new Thread (new ThreadStart (method)),解析出来数据,服务器端调用数据库操作的类,插入数据库;
[0024]C、将txt文件的接收也封装成类,提供接收txt文件的方法Process O,在另一个监听线程下新建子线程new Thread (new ThreadStart (Process)),在txt文件接收完毕后,服务器端读取该txt文件,调用数据库操作的类,将数据插入数据库。
[0025]本发明方法基于农业物联网的环境下,实现了传输以及处理多种数据类型的大棚环境参数。在农业大棚中利用传感器采集农业大棚内温度、湿度、二氧化碳浓度、光照强度等环境参数,自定义数据帧规范统一传输数据帧的格式,同时提供解析数据帧的方法;农业大棚中使用光谱仪检测得到的光谱数据格式为txt文件,需要传输txt格式文件。使用C#语言编写程序使其支持对以上两种类型数据进行处理并基于网络socket技术进行传输,使数据最终存入远程数据库中,可实时地观察、测试并管理改善农业大棚中的各种环境条件。
[0026]本发明的有益效果是:
[0027]I)本发明提供了一套完整的农业物联网多种类型数据采集以及处理的解决方案,使得农业大棚中传感器所采集的环境参数以及光谱仪所检测的光谱数据都传输至远程服务器并插入数据库中得以保存。
[0028]2)本发明具有较强的可扩展性,客户端的数目和类型可扩展,不只是本发明提供的客户端,且只要是基于Socket网络技术进行传输,且传输数据格式符合自定义数据帧协议的客户端,服务器端都可进行处理。
【附图说明】
[0029]图1是本发明方法所使用的网络系统的结构示意图。
【具体实施方式】
[0030]下面结合附图和实施例对本发明作进一步说明,但不限于此。
[0031]实施例:
[0032]本发明实施例如图1所示,一种农业物联网多种数据传输及处理的方法,由客户端和远程服务器通过互联网建立的网络系统来实现,客户端运行于置于农业大棚里的PC机上,该PC机与温度、湿度、光照强度、二氧化碳数据采集模块通过串口相连接,同时光谱仪通过USB接口与该PC机相连;服务器端和数据库运行于远程服务器上,该方法步骤如下:
[0033]I)客户端运行在位于农业大棚的PC机上,服务器端运行于远程服务器上,客户端与服务器端通过网络socket技术进行通信;
[0034]a、服务器端设置固定的IP和端口号,准备接收数据,在这里对于不同数据类型设置了不同的端口号分别进行监听,可同步接收多种类型的数据;
[0035]b、客户端则创建多个Socket的实例,以支持多种数据格式的发送,分别按照服务器所设定的IP和端口号进行连接;
[0036]2)客户端与数据采集模块进行串口通信,从
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1