王鸿磊,任成义,许雨亭
(1.中国矿业大学 信息与控制工程学院,江苏 徐州221116;2.中国电信股份有限公司徐州分公司,江苏 徐州221000;3.徐州工业职业技术学院 信息与电气工程学院,江苏 徐州221140)
窄带物联网(Narrow Band Internet of Things,NB-IoT)是3GPP(The 3rd Generation Partnership Project)为智能电表、环境监测等以传感和数据采集为目标的应用场景提出的一种低功耗广域覆盖(low power wide area, LPWA)技术[1-2],NB-IoT 采用10-30km 覆盖范围的广域覆盖、20dB 穿透损耗的深度覆盖、功率节省模式(PowerSaving Mode,PSM)和增强型非连续结接收模式(Extended Discontinuous Reception,eDRX)两种低功耗模式[3-5]。
现有的ZigBee 无线传感网系统存在传输距离短、中继节点分布多和系统部署成本高等诸多问题。本文提出了一套基于NB-IoT 的云平台无线数据监控系统,系统由NB-IoT 开发板和多种传感器组成,具有体积小、安装方便、操作简单的特点,可以现场监测环境信息,实现在多个平台实时数据显示、数据查询等功能。
窄带物联网体系架构包括NB-IoT 终端(UE)、NB-IoT 基站(eNodeB)、NB-IoT 分组核心网(EPS)、IOT 连接管理平台和行业应用服务器。考虑到NB-IoT 终端(UE)的硬件配置一般很低,与IOT 连接管理平台多使用CoAP 等物联网专用的应用层协议进行通信,连接管理平台与行业应用服务器性能较强,以及代管、安全等因素,所以IOT连接管理平台与行业应用服务器之间使用HTTP/HTTPs 应用层协议。
基于NB-IoT 网络体系架构完成无线数据监测系统,系统架构如图1 所示。
数据采集设备通过传感器模块和GPS 模块采集相关数据,并通过NB-IoT 模块将数据输送到IOT 连接管理平台,IOT 连接管理平台将数据存到行业应用服务器。客户端通过访问行业应用服务器,查询并显示需要的传感器数据和GPS 数据。
图1 系统架构框图
窄带物联网终端由微控制芯片、NB-IoT 模块、传感器和全球定位模块等其他外围电路组成。采用STM32F103 作为终端微控制芯片,负责终端数据采集、处理、分析,最后通过相关AT 指令连接NB-IoT 模块实现通信连接。NB-IoT 模块采用BC26 模组,支持全球频段,提供丰富的外部接口(UART、SPI、ADC 等)和网络协议栈(TCP、CoAP、MQTT 等),支持OpenCPU 功能,支持中国移动OneNET 云平台、中国电信EasyIoT、华为Ocean-Connect 物联网云平台。终端可通过SPI、ADC 等接口连接开关量、数字量和模拟量等数据类型的传感器以及全球定位模块。传感器采用温湿度传感器DHT11,全球定位模块采用北斗定位模组ZS1216F8BD。
系统软件设计如图2 所示,其中“构建发送数据包”包括各种传感器数据和全球定位经度和纬度数据。MQTT 是物联网的主要通信协议,它基于TCP 长连接。先跟MQTT 服务器建立TCP 连接,然后发送登录请求,要保持长连接,还要定时发心跳包跟服务器保持连接。MQTT 最核心的传输协议是订阅(Subcribe)和推送(Publish)。物联网硬件订阅一个主题(topic),其它的客户端(例如手机)向服务器的这个主题推送一个有效数据(Payload),服务器就会把有效数据转发给订阅这个主题的客户端(物联网硬件),实现了客户端(手机)通过服务器(MQTT)远程发送数据给物联网硬件。
图2 系统软件设计框图
本系统选择移动开发平台的OneNET 物联网开发云平台作为数据上传云平台。OneNET 是一款功能强大的物联网开放平台,使用OneNET 下的开发者中心创建产品,经过MQTT 服务协议读取NB-IOT 开发板数据。设备的接入方式为MQTT协议,产品的ID 号是NB-IOT 开发板发送的辨别号码。
经过MQTT 通信服务协议完成窄带物联网终端数据传输。采用OneNET 下的开发插件,通过OneNET 应用编辑器,用户可以方便快捷地实现OneNET 平台上的设备数据流可视化,可以更加直观地了解设备的详细数据信息,通过选择设备的数据流就可以查看云平台采集到的开发板数据信息。技术参数信息如图3 所示。
图3 技术参数图
本系统正常运行后,OneNET 物联网开发云平台会接收到对应的温度、湿度、全球定位信息和RFID 信息,实现远程数据采集和存储,如图4 所示。用户可通过查询服务器数据库的方式在移动客户端显示对应传感器信息,如图5 所示。
图4 云平台数据显示图
图5 温湿度移动端显示
基于窄带物联网的无线数据监测系统利用STM32 控制器采集开关量、数字量和模拟量等各种类型传感器以及RFID 和全球定位信息,利用MQTT 通信服务协议通过窄带物联网将数据传送到云端服务器并存储,用户通过查询服务器数据库的方式显示对应传感器信息。在运营商窄带物联网网络良好的前提下,此系统可以广泛应用于无需中继节点的远距离、低功耗、低成本通信传输。