文章目录
前言
上一节熟悉了 RESTful JSON API,并且用它进行了下行数据,但它无法接收上行数据。这里就得启用 MQTT,本篇笔记介绍该项目中 MQTT 的集成能力,演示如何使用 MQTT 工具进行数据上下行。
主要参考介绍。
小能手最近在学习 ChirpStack 项目,应该是最有影响力的 LoRaWAN 服务器开源项目。它组件丰富,代码可读性强,是个很好的学习资料。更多学习笔记,可点此查看。
1 工具准备
推荐一个比较好用的MQTT工具mqttfx,在 MAC 和 WINDOWS 平台都可以使用。
1.1 设置连接 profile
1.2 简单订阅
在工具连接之后,即可进行一些订阅操作。
例子中 “application/1/#” 表示订阅整个应用的所有数据。
2 订阅获得上行数据
2.1 topic 订阅
application/[applicationID]/device/[devEUI]/rx
2.2 工具订阅
在节点上行之后便能看到上行数据。
3 推送下行数据
3.1 topic 准备
application/[applicationID]/device/[devEUI]/tx
3.2 payload 准备
Payload 中 “data” 字段需要使用 base64 编码,例如借助这个网站,我使用 “Hello” 得到了 Base64 编码 “SGVsbG8=”。
{
"confirmed": true,
"fPort": 10,
"data": "SGVsbG8="
}
3.3 工具 Publish
3.4 节点接收
由于是CLASS A节点,需要先发一条数据上行。对模块进行AT操作,顺利收到下行数据。
[19:12:24.483]发→◇AT+TXA=21,HI
□
[19:12:24.512]收←◆
OK
[19:12:28.024]收←◆+RCV:10,Hello