基于CoAP协议的数据采集网关设计r
r
摘要:针对呼伦湖流域环境大数据采集的需求,同时为了解决不同厂商协议标准的不兼容性,设计了一种基于CoAP协议的数据采集网关。详细讨论了CoAP协议的基本原理和实现方法,并在开源系统RTThread和微控制器STM32的软硬件平台上实现。给出了系统整体设计以及各部分软硬件设计,实验结果表明,该设计方案可行,具有传输效率高、兼容性较好的特点。r
关键词:数据采集;网关;STM32;RTThread;CoAPr
0引言r
近年来,呼伦湖流域生态面临着严峻的挑战,水域污染加重、湖底淤积、生物多样性下降、湿地萎缩等问题日益突出1。目前,呼伦湖流域环境监测系统的信息化建设还处于起步阶段,监测点不足、基础数据不完善、数据采集系统自动化程度较低、监测数据不能通过网络共享等问题使得政府部门很难及时有效地做出应对措施。同时,由于各大厂商的技术缺乏兼容性,很难将不同的协议兼容使用。在这种背景下,本文设计了基于CoAP协议的数据采集网关,对多个监测点的传感器数据进行CoAP数据格式转换,上传远程数据库,积累生态环境大数据,为政府决策提供支持。r
1系统概述r
基于RTThread的CoAP协议网关系统是在传感器节点数据采集基础上,对多个传感器节点的数据进行CoAP数据格式转换,并与远程数据库进行数据交互,实现环境监测数据网络共享的效果2。整体设计框图。r
r
2硬件设计r
硬件设计框架图。r
r
传感器节点选择ST公司出产的增强型系列微控制器STM32F103RBT6作为主控制器3,选择DALLAS半导体公司出产的1Wire单总线数字温度计作为环境温度采集设备,选择I2C标准通信接口的16位数字输出型环境光强度模块BH1750FVI作为光照强度采集设备。r
CoAP网关节点选择ST公司出产的高性能微控制芯片STM32F407ZGT6作为主控制器,该控制器具有符合IEEE1588v2标准要求的以太网MAC101004,同时提供了先进的外设和标准的通讯接口;选择体积小、功耗低、全能型的以太网收发器LAN8720A作为以太网PHY。r
串口转ZigBee模块DRF1605H作为传感器节点与CoAP网关节点之间数据交互的桥梁。该模块基于CC2530F256芯片,运行ZigBee2007PRO协议,具有ZigBee协议的全部特点以及上电自动组网的特色。在传感器节点中,该模块被设置成Router节点使用;在CoAP网关节点中,该模块被设置成Coordi
ator节点使用。r
3CoAP协议原理及实现r
CoAP协议是为物联网中资源受限设备制定的应用层协议5。它是一种面向网络的协议,采用了与HTTP类似的特性,核心内容为资源抽象、REST式交互及可扩展的头选型等。客户端应用程序通过URI标r