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