通过MQTT订阅ChirpStack数据

准备工作

安装并启动ChirpStack

-《Windows安装ChirpStack》 https://blog.csdn.net/jiangjunjie_2005/article/details/97164644

-《Linux安装ChirpStack》 https://github.com/triplestudio/chirpstack-docker

基站和节点上电并注册到ChirpStack

-《配置ChirpStack》 https://blog.csdn.net/jiangjunjie_2005/article/details/96169551

第1步:使用MQTTBox连接ChirpStack

连接ChirpStack

  • 创建 MQTT 客户端:点击"Create MQTT Client"
  • MQTT Client Name = rimelink_mqtt_client
  • Protocol = mqtt / tcp
  • Host = 192.168.1.112
  • 点击"Save"
  • 查看连接状态:显示绿色的"Connected"。

小窍门

如果连接状态出错,这说明MQTTBox没有成功与ChirpStack的Mosquitto组件对接。请按如下方法排查错误

  • 是否正确填写ChirpStack的IP地址,请核实并ping测试。
  • ChirpStack是否开启Mosquitto的防火墙

图1.1 配置MQTT客户端

图1.2 连接成功

第2步:订阅节点数据

填写订阅主题

  • 打开Web浏览器,访问ChirpStack
  • 点击"Applications",看到:ID = 2
  • 点击"rimelink_application_01",看到:Device EUI=363437470e27002b

组织订阅主题

  • 订阅主题格式 = application/{applicationId}/device/{devEUI}/event/up
  • 代入应用 ID 和设备EUI = application/2/device/363437470e27002b/event/up
  • 点击"Subscribe"

小窍门:请仔细检查订阅主题--前后没有空格,devEUI必须是"小写字母"。

图2.1 获取AppID和DevEUI

解码Base64数据

  • 打开Base64在线编解码:http://base64.us/
  • 点击"高级设置" -> 解码输出格式=H
  • 复制"data"中的字符串:QfAUfEKj1WhB1KPz//wE
  • 点击"解码(Decode)",即可看到结果:41 F0 14 7C 42 A3 D5 68 41 D4 A3 F3 FF FC 04

图2.3 获取定阅数据

图2.4 解码Base64

解释DEMO上传数据

  • 打开在线进制转换:在线进制转换-IEE754浮点数16进制转换
  • 第1个4字节=温度,41 F0 14 7C = 30.0
  • 第2个4字节=湿度,42 A3 D5 68 = 81.9
  • 第3个4字节=露点,41 D4 A3 F3 = 26.6
  • 第4个2字节=RSSI,FF FC = 65532(即 -4dBm)
  • 第5个1字节=SNR,04 = 4(即 4dB)

图2.5 浮点数转整数

图2.6 十六进制转十进制

第3步:发布节点数据

组织发布主题

  • 发布主题格式 = application/{applicationId}/device/{devEUI}/command/down
  • 代入应用ID和设备EUI = application/2/device/363437470e27002b/command/down

编码 Base64 数据

  • 打开 Base64 在线编解码:Base64 在线编码解码 | Base64 加密解密 - Base64.us
  • 点击"高级设置" -> 编码输入格式=文本 -> 编码输出格式=纯文本
  • 输入字符=rimelink,点击"编码(Encode)",即可看到结果:cmltZWxpbms=

发布数据并验证

  • 发送格式:{"reference":"abcd1234","confirmed":false,"fPort":100,"data":"cmltZWxpbms="}
  • referece:可以填写任意值
  • confiremed=false:非确认帧,不需要节点回应 ACK
  • fPort=100:LoRaWAN端口号
  • data= cmltZWxpbms=:下行数据的 Base64 编码
  • 点击"Publish",当DEMO下一次上报后(闪烁绿灯),即可看到"跑马灯"(LED5/4/3/2依次点亮)。

图3.1 编码Base64

图3.2 DEMO接收下行数据

开发LoRaApp请参考

​-《基于C#开发LoRaApp》 https://blog.csdn.net/jiangjunjie_2005/article/details/101021926

-《基于Java开发LoRaApp》 https://blog.csdn.net/jiangjunjie_2005/article/details/102658550

-《基于Android开发LoRaApp》 https://blog.csdn.net/jiangjunjie_2005/article/details/104901450

相关推荐
星纵物联22 天前
中建八局低碳技术实验室建设与办公大楼智能化改造
人工智能·物联网·lorawan·传感器·绿色建筑
SmartRadio1 个月前
物联网云平台数据库选型与搭建全指南(NRF52840, CH585M,ESP32-S3的硬件资源要求选型对比、方案设计、搭建步骤)
c语言·数据库·物联网·lora·lorawan
SmartRadio1 个月前
物联网云平台数据库选型与搭建全指南(LoRaWAN)
数据库·物联网·lora·lorawan
SmartRadio1 个月前
计算 CH584M-SX1262-W25Q16 组合最低功耗 (1)
c语言·开发语言·物联网·lora·lorawan
星纵物联1 个月前
高精度人数统计传感器揭秘
人工智能·物联网·lora·智慧城市·lorawan
努力学代码的小信2 年前
LoRaWAN网关源码分析(配置篇)
源码分析·lorawan
狂奔De鸵鸟2 年前
LoRaWAN协议栈LoRaMac-Node版本变迁历史(最新4.7.0)
c语言·物联网·嵌入式·lorawan
视觉&物联智能2 年前
[杂谈]-快速了解LoRaWAN网络以及工作原理
物联网·网络协议·lora·lorawan·无线网络