准备工作
安装并启动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
- 下载MQTTBox https://pan.baidu.com/s/1S_l4uDDklUOWXpdVwIuqnA
- 安装MQTTBox:双击MQTTBox-win.exe进行安装
连接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