【干货】小型城市气象数据监测的应用技术方案(1)-数据采集终端技术实现
从本周开始,小编会分几篇内容拆解整个系统各个系统环节的技术实现方案让大家有个全面的了解,然后再根据各个系统环节详细介绍具体的实现方法。
物联网(Internet of Things,IoT)曝光率越来越高。虽然HTTP是网页的标准,不过机器之间(Machine-to-Machine,M2M)的大规模沟通需要不同的模式:之前的请求/回答(Request/Response)模式不再合适,取而代之的是发布/订阅(Publish/Subscribe)模式。这就是轻量级、可扩展的MQTT(Message Queuing Telemetry Transport)可以施展拳脚的舞台。气象数据采集终端则选用当前主流的MQTT协议作为数据的传输协议。
终端控制器硬件选型
终端主控制器小编选择的是开源硬件Raspberry Pi Zero W。之所以选择这款开源硬件是因为它是一款非常棒的单板计算机,不仅具有小巧的尺寸和便宜的价格,还得益于它便捷、易用的特性。其在加装了microUSB/USB 转换头之后,将Raspberry Pi Zero W和电脑连接起来,即可配置成USB以太网设备可以实现给Raspberry Pi Zero W供电的同时并将它接入因特网。不再需要携带额外的电源适配器、 USB HUB和无线网卡并且精简Linux系统保证了整个终端设备的高稳定性。非常方便开发者在前期的功能验证调试。这些特性对做一款传感监测终端无疑是一个很理想的选择。
四类气象传感器选择工业级应用传感变送器,其具有更高的精度和稳定性。传感变送器通过RS485接口方式传输数据。传感变送器包括温湿度传感,二氧化碳传感,PM2.5传感和GPS传感,主控制器与传感变送器之间采用周期问询方式获取传感数据。
终端控制器脚本功能
终端控制器实现功能如下:
1.开机网络自检
2.断网重连机制
3.周期采集传感数据
4.周期上传至后台服务器
5.小程序“速连宝”一键配置WiFi网络
6.终端上电脚本自启动
终端控制器使用python作为开发语言开发功能脚本。功能脚本的流程图如下所示。
终端上电后会自启动功能脚本。脚本正常运行后会进行网络自检,若发现当前无法连接到网络则会以3秒周期不断进行重连直至网络连接成功。
网络自检完成后,设备会将设备ID和鉴权**发送至后台服务器中的IoT消息服务器进行设备鉴权。此时IoT消息服务器会根据接收到的设备ID和鉴权**与数据库中的权限表中进行比对,若匹配上则准许此设备接入,否则拒绝。
设备鉴权成功后,设备可与IoT消息服务器进行数据交互。此时会存储设备的上下线状态和时间记录到数据库设备状态表中,同时设备传输上来的传感数据也会根据规则存储到数据库中的传感数据表中。IoT消息服务器支持1万台气象采集终端的接入。
使用WiFi给终端提供网络,对终端进行WiFi网络的配置是使用一款小编自己开发工具微信小程序“速连宝”(已上线),支持一键配置WiFi网络。小程序配置界面如下图所示。
小型城市气象数据监测的应用数据采集终端技术实现方案介绍完毕,接下来会分享系统服务后台技术实现方案。接下来的干货会陆续袭来,没有关注的请关注我哦。