一种面向智慧工地应用的物联网网关设计与实现

发表时间:2020/10/10   来源:《建筑实践》2020年第16期   作者:邢瑞毅1
[导读] 物联网系统架构由物联网云平台、IoT网关和用户浏览器组成。
        邢瑞毅1
        上海电科智能系统股份有限公司  上海 200063
        摘要:物联网系统架构由物联网云平台、IoT网关和用户浏览器组成。智慧工地应用了多种物联网技术,由IoT网关通过网络(有线或无线)将数据上传物联网云平台。IoT网关基本架构为内嵌RTOS实时操作系统,JSON解析库和MQTT协议栈的核心单片机,通过网络通讯模块的TCP透传功能和云端服务器交互数据,通过RS485或其他工业总线与现场设备或传感器交互数据。核心单片机选取STM32F401,用STM32CubeMX集成FREERTOS用MDK-ARM开发,加载JSON库Jasson,移植MQTT协议栈。制作IoT网关原型并连接环境传感器(Modbus-RTU)测试,其可以实现控制消息的下发和数据消息的上传。
        关键词:物联网;智慧工地;IoT网关;MQTT
0 引言
        物联网是一个通过信息技术将各种物体连接成网络,以帮助人们获取这些物体的信息的媒介[1]。智慧工地是在物联网智能化的基础上,通过技术不断创新的智能终端采集系统,实现了对各项数据的收集、归纳、分析以及预判[2],打破传统施工现场的束缚,提供高效的远程监管手段。
1智慧工地的物联网框架体系
        物联网系统架构由物联网云平台、IoT网关和用户浏览器三部分组成[3]。云平台基于其强大的计算和存储能力,对IoT网关传入的数据进行处理,并授权用户通过浏览器访问和管理物联网资源。
        如图1所示,智慧工地应用了自动识别技术、传感技术、图像采集技术和定位跟踪技术等,由IoT网关通过网络(有线或无线)将数据上传物联网云平台。其相较于传统施工方式可大大提升施工现场、企业和政府的管理效率,保障质量安全等建设目标的实现,最终促进建筑业持续健康发展[4]。

        图1 智慧工地的物联网框架体系
2IoT网关的架构设计
        IoT网关作为设备和云平台之间的连接桥梁,实现对设备的控制操作,将设备的数据封装为统一的物联网平台数据格式[5],上传至云平台。
        JSON(JavaScript?Object Notation)是一种轻量级的数据交换格式。它基于?ECMAScript?的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据[6]。
        MQTT(消息队列遥测传输)是ISO标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的。
        
        图2 IoT网关基本架构
        如图2所示,核心单片机内嵌RTOS实时操作系统、JSON解析库和MQTT协议栈,通过网络通讯模块的TCP透传功能和云端服务器交互数据,通过RS485或其他工业总线与现场设备或传感器交互数据。
3通讯协议层的适配和实现
        核心单片机选取STM32F4系列,使用STM32CubeMX集成FREERTOS并生成初始工程。

        图3 STM32CubeMX界面
        开发工具采用MDK-ARM,加载JSON库Jasson。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目[7]。

        图4 MDK-ARM界面
        在MQTT官网mqtt.org上可下载官方的C语言协议栈源码和说明,参考修改库中的例程文件进行移植工作,根据硬件平台来修改发送/接收数据包的接口函数。
        云端物联网平台MQTT报文格式:
      
        2)数据接收
        topic: jowoiot/toEdge/<IMEI>
        qos: 0/1
payload demo: 格式与数据发送相同,由设备端主动订阅内容。云端如果收到控制指令,会下发具体的payload,由设备端解析并执行。
        
?4原型制作和测试
        制作一个IoT网关原型并连接环境传感器(Modbus RTU)进行测试。先在物联网平台通过注册得到相应的设备ID、网关ID和用户秘钥。设置4G模块中平台网址、MQTT端口参数实现TCP连接。根据设备的RTU指令格式编写驱动层代码获取到设备数据,编写应用层代码将设备数据封装为物联网平台统一的数据格式。
 
        图5 原型组成
        
        如图5所示IoT网关原型是一款以的自主开发原型板(核心单片机是STM32F4系列),连接气象传感器和激光扬尘传感器(RS485总线)。原型板具备以下功能:
1)一个USB-串口调试端口;
2)一个蓝牙-串口调试端口;
3)一个模块化网络端口,可兼容4G-串口模块或网口-串口模块;
4)工作电源支持9~36V直流宽压输入;
5)三个可独立设置波特率的UART端口,通过跳线选择TTL或RS485;
        在单片机驱动层、协议层和应用层中编写代码。驱动层主要编写初始化配置函数、串口中断回调函数、MQTT接收/发送接口函数;协议层主要编写JSON数据解析/打包函数、MQTT连接函数、MQTT心跳包函数、MQTT数据接收/上传函数、RS485接收/发送函数、Modbus CRC校验函数;应用层主要编写单片机各基本功能管理、串口接收/发送管理、MQTT协议栈三个线程任务。
        如图6所示,在物联网平台上对物模型和IoT设备进行配置。

    
5结语
        本文介绍了智慧工地的物联网框架体系,提出了IoT网关的架构设计,提供了通讯协议层的适配和实现方法,制作了原型并进行实际测试。实际测试表明,IoT网关原型可以正常工作,可以实现对多数设备的接入,可以实现控制消息的下发和数据消息的上传。这种物联网网关设计可以满足智慧工地的物联网应用需求。
        
参考文献:
[1] 单娟. 全球物联网发展及中国物联网建设若干思考[J].电子学报,2016,38(7):2590—2599.
[2] 庄琳.物联网技术下的智慧工地的构建研究[J].信息与电脑(理论版),2019(09):165-167.
[3] 盛俊阳. 物联网设备接入管理平台关键技术研究与实现[D].北京工业大学,2019.
[4] 柴洪伟, 赵欣. 基于物联网技术的智慧工地系统设计及应用[J]. 工程建设与设计, 2019(A01):14-16.
[5] 田创,陈文艺.物联网平台接入网关研究[J].信息技术,2018(09):125-128+133.
[6] 宋青山.JSON数据格式在企业数据交换中的应用[J].天津冶金,2014(02):114-117.
[7] 刘莹,祝学云,范文.检测技术课程设计型实验系统研制[J].实验技术与管理,2015,32(06):137-138+145.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: