DOI:10.19551/jki.issn1672-9129.2021.01.074
开源工具Node -RED 在LoRaWAN 物联网实验中的应用
司长明(贵州电子信息职业技术学院㊀凯里㊀556000)
摘要:物联网中可视化编程工具拥有的用户基础在不断增长,本文结合可视化 流 编程工具Node -RED 的主要特点,探究了其在LoRaWAN 物联网实验中主要的节点配置㊁数据链路设计及调试的方法㊂关键词:Node -RED ;物联网;LoRaWAN 中图分类号:TP391.44-4㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1672-9129(2021)01-0077-01㊀㊀1㊀Node -RED 开源工具介绍Node -RED 是IBM 公司开发的一款基于 流 编程的开源编程工具,它可以在Web 界面中实现可视化编程环境,能够让使用者将各种已经定义的Node(也称为节点,即预定义好的代码块)连接起来实现特定的功能㊂在Node -RED 中,每一个Node 都有特定的用途,可以通过配置来实现其特殊的功能,开发人员通过将输入节点㊁处理节点㊁输出节点组合,连接在一起构成一个能够处理数据㊁下发控制指令及发送警报的 流 (Flows),该流使用JSON 存储,可以方便地进行导入和导出,以便于和其他人共享㊂Node -RED 的这种基于视觉表示的编程模型,简化了代码块的连接,用户可以拖拽已经定义好的节点,经过简单的配置用线连接在一起就可以实现编程,不需要了解构建每个节点的代码,只需要关注系统的逻辑流程,这将方便更多的用户使用㊂2㊀Node -RED 工具在物联网实验中的配置在本文探讨的LoRaWAN 物联网实验中(该实验方案具体详见本
人已发表的文章),Node -RED 主要作为连接Chir-pstack 应用服务器端和ThingsBoard 平台端的物联网粘合剂,能够实现Chirpstack 端的数据通过Node -RED 上传到ThingsBoard 平台,同时ThingsBoard 平台下发的控制指令又可以通过Node -RED 传递到Chirpstack 端,最终实现对设备的控制㊂2.1配置中使用的节点㊂由于Node -RED 与Chirpstack 应用服务器及ThingsBoard 平台端通信使用的是MQTT 协议进行数据传输,因此在本实验中,主要使用MQTT Input 输入节点和MQTT Output 输出节点来实现数据的通信㊂其中,MQTT 是一种轻量级的基于pub /sub(发布/订阅)的消息传递协议,能够应用于网络环境不是很稳定的场景,其低带宽㊁开放㊁实时可靠和开销小的优点使得其非常适合应用于各种物联网IoT 设备㊂在MQTT 中有Publish(发布者)㊁Broker(消息代理/服务器)和Subscribe(订阅者)三种身份,传输的消息主要分为两部分:Topic(消息主题)和payload(消息内容),只有订阅者订阅Topic 后,订阅者才会收到该主题的消息内容㊂为了能够订阅到Chirpstack 端和ThingBoard 平台MQTT Broker 中的消息,Node -RED 中MQTT 输入㊁输出节点需要配置相应的主题㊂同时还需要有一个配置(Config)节点,这是一种特殊类型的节点,它包含可重用的配置,该配置可被流中的常规节点共享,实验中该节点主要配置MQTT 消息代理服务器的地址及端口号,以及用ThingsBoard 平台中创建设备的Token 访问令牌作为用户名连接MQTT 消息代理服务器㊂即使用MQTT Input 输入节点和与之关联的MQTT Con-fig 配置节点连接到MQTT 代理服务器可以接收预先配置主题的消息,使用MQTT Output 输出节点和与之关联的节点MQTT Config 连接到MQTT 代理服务器可以发布消息到预先配置的主题㊂同时为了将MQTT Input 节点中的JSON 字符串解析为JavaScript 对象,还会用到JSON 节点和函数处理Func
开源mqtt服务器
tion 节点㊂2.2上行和下行链路㊂上行链路:该链路的主要作用是接收Chirpstack 端传感器数据并将数据上传到ThingsBoard 平台中,因此在MQTT Input 节点中需要订阅Chirpstack 中的消息上行链路默认主题:application /[ApplicationID]/device /[DevEUI]/event /up,这样就可以接收到Chirpstack 端MQTT Broker 中转发的消息;同时该链路中的MQTT Output 节点需要订阅ThingsBoard 中的遥测数据(实时的数据,如温湿度)上传主题:v1/devices /me /telemetry 和客户端属性(如位置信息)上传主题:v1/devices /me /attributes,这样Node -RED 就可以将消息发送到ThingsBoard 中㊂下行链路:该链路的主要作用是下发ThingsBoard 平台的控制指令到Chirpstack 中,最终在硬件设备端实现对设备的控制,这是一种RPC 调用(远程过程调用),因此在MQTT Input 节点中需要订阅ThingsBoard 中的服务器端RPC 主题:v1/devices /me /rpc /request /+,这样Node -RED 可以接收ThingsBoard 的RPC 控制指令;同时链路中的MQTT Output 节点需要订阅Chirpstack 中的调度下行链路有效负载的默认主题:application /[ApplicationID]/device /[DevEUI]/com-mand /down,这样就可以将控制指令发送给Chirpstack 端㊂2.3数据调试㊂在搭建好数据上行和下行链路后,可以通过拖拽Debug 节点到链路中,点击侧边显示栏中的Debug 按钮即可开始数据的调试,同时在调试窗口中可以看到相应的传输数据㊂3㊀结语本文结合作者在企业中学习开源工具Node -RED 的实践经历,探究了Node -RED 在LoRaWAN 物联网实验中配置时需要用到的节点㊁主要配置项和数据调试的基本方法,对于用户在LoRaWAN 物联网实验中快速熟悉该开源工具的使用具有一定的帮助㊂参考文献:[1]蔡自伟.基于MQTT 的智能家居系统设计[J].运城学院学报,2020,38(03):29-32.
㊀㊀Android 客户端操作流程图:3㊀基于Android 的校园综合服务平台的现状与困难(1)开发工具的选择和使用(2)数据信息的安全保护(3)平台内外各环节的信息交互(4)硬件设备㊁应用投资有限4㊀结论随着智能手机的普及和互联网的高速发展,外加各种社交软件以及大数据时代的到来,加速了校园智能网络与互联网的无缝衔接㊂以上是我们基于Android 的校园综合服务平台的研究,是以宿州学院人员进行的一个数据抽样调查后并对数据进行分析和验证,得出了基于Android 的校园综合服务平台在高校应用的可行性与合理性㊂
参考文献:[1]黑马程序员.Android 移动应用基础教程[M].中国铁道出版社,2019.3[2]王鹤.智能信息服务平台移动客户端的设计与实现[D].北京邮电大学,2011.[3]王左利.校园移动平台:未来的主角[J].中国教育网络,2012(11):14-17.[4]张长学,张伟,董智明.移动推送技术面面观[J].移动通信,2011,35(5):21-27.[5]殷昊.基于Android 平台的消息推送能力的研究与实现[D].北京邮电大学,2013.作者简介:潘雨(1998 ),女,汉族,安徽宿州,本科,宿州学院信息工程学院㊂㊃
77㊃

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。