LoRa Server@Web 访问数据
准备工作
|-- 启动 LoRa Server 系统(请参考《LoRa Server@Windows:一键安装》
| LoRa Server@Windows:一键安装_lora server windows_RimeLink的博客-CSDN博客)
\-- 网关和节点上电并且注册在 LoRa Server(请参考《LoRa Server@Web 管理设备》
LoRa Server 配置与管理_RimeLink的博客-CSDN博客)
第 1 步:使用 MQTTBox 连接 LoRa Server
|-- 下载 MQTTBox:MQTTBox-win.exe_免费高速下载|百度网盘-分享无限制
|-- 安装 MQTTBox:双击 MQTTBox-win.exe 进行安装
|-- 连接 LoRa Server
| |-- 创建 MQTT 客户端:点击"Create MQTT Client"
| |-- MQTT Client Name = rimelink_mqtt_client
| |-- Protocol = mqtt / tcp
| |-- Host = 192.168.1.112
| \-- 点击"Save"
\-- 查看连接状态:显示绿色的"Connected"。
小窍门
如果连接状态出错,这说明 MQTTBox 没有成功与 LoRa Server 的 Mosquitto 组件对接。
请按如下方法排查错误
|-- 是否正确填写 LoRa Server 的 IP 地址,请核实并 ping 测试。
\-- LoRa Server 是否开启 Mosquitto 的防火墙,请参考:《LoRa Server@CentOS#9:开放 LoRa Server 防火墙》
https://blog.csdn.net/jiangjunjie_2005/article/details/94589265
图1.1 配置 MQTT 客户端
图1.2 连接成功
第 2 步:订阅节点数据
|-- 填写订阅主题
| |-- 打开 Web 浏览器,访问 LoRa App Server
| | |-- 点击"Applications",看到:ID = 2
| | \-- 点击"rimelink_application_01",看到:Device EUI = 363437470e27002b
| |-- 组织订阅主题
| | |-- 订阅主题格式 = application/{applicationId}/device/{devEUI}/rx
| | \-- 代入应用 ID 和设备EUI = application/2/device/363437470e27002b/event/up
| \-- 点击"Subscribe"
图2.1 获取 AppID 和 DevEUI
|-- 解码 Base64 数据
| |-- 打开 Base64 在线编解码:Base64 在线编码解码 | Base64 加密解密 - 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.3 DEMO 接收下行数据
后记:
如需开发 App 接收上行数据,下发控制命令,请参考:《LoRaAppDemo@C#》 LoRaAppDemo@C#_c# lora_RimeLink的博客-CSDN博客