有的时候想灵活的操作模组进行一些自定义的频点和数据发送操作,这时候编写代码肯定是不方便的,一款得心应手的串口AT模组将会大大提升我们的效率。
这篇文章将使用 TencentOS tiny 定制开发板直接操作板载E53接口的LoRa模组,通过对其AT命令操作来实现一些自定义操作。
原本打算使用 ST 原厂主推的 LoRa 评估套件 P-NUCLEO-LRWAN3 ,在研究了 《UM01723ST Nucleo LoRa Sensor getting started user manual》后,发现 Nucleo 底板与 Arduino Shiled 之间并没有硬件的跳线,需要对底板烧写相应的 USB-UART Bridge 的特殊固件,没办法直接操作到 Shiled 的 LoRa 模组,因此放弃这个方式。
腾讯云 IoT Explorer 是腾讯云主推的一站式物联网开发平台,IoT 小能手从设备侧开发、平台功能操作、应用侧开发三个部分来进行学习分享,另外还分享了一些动手实践作品及收录官方发布的产业合作案例,帮助读者更好地理解整个开发链路。详情可点此查看。
经过分析,发现 TencentOS tiny 定制开发板上具有相关的串口跳线,可以很方便的对其中任何一方的数据进行分析。
模组管脚 | 跳线引脚 |
---|---|
模组的TX | AT_RX |
模组的RX | AT_TX |
只需要将 AT_RX 连接 PC_RX,AT_TX 连接 PC_TX,就可以直接使用板载的 USB串口来操作瑞兴恒方的LoRa模组。
串口配置为:115200-8-1
AT命令主要参考《RHF-PS01709Long Range LoRa® Class ABC AT Command Specification v1.2.pdf》。
查询
AT+COMMAND
AT+COMMAND?
AT+COMMAND=?
配置/控制
AT+COMMAND=DATA
返回
+COMMAND: "RETURN DATA"
AT测试
AT
+AT: OK
查看版本
AT+VER
+VER: 3.5.9
使能日志
AT+LOG=DEBUG
+LOG: DEBUG
复位
AT+RESET
+RESET: OK
AT+ID
+ID: DevAddr, 00:00:4E:0F
+ID: DevEui, 8C:F9:57:20:00:00:4E:0F
+ID: AppEui, 70:B3:D5:7E:D0:0E:00:17
AT+KEY // 出于安全考虑,只能写入,不能查询
确认当前使能的信道
AT+CH=NUM
+CH: NUM, 0-7, 64
AT+MODE
+MODE: LWOTAA
+JOIN: Start
+JOIN: NORMAL
+LOG: DEBUG 11022761 LORA TX, 486300000, SF9, 125KHz, 20
+LOG: DEBUG 11022763 LORA TX, 0017000ED07ED5B3700F4E00002057F98CD3D4DF4DE72D
+LOG: DEBUG 11027954 LORA RX, 506700000, SF9, 125KHz
+LOG: DEBUG 11028137 LORA RX, 20BD6623406561250D47C4F9680A674FA3, -68, 8
+JOIN: Network joined
+JOIN: NetID 000035 DevAddr 6A:6B:16:CE
+JOIN: Done
AT+PORT=?
+PORT: 8
AT+MSG="Data to send"
AT+CMSG="Data to send"
AT+MSG="2"
+MSG: Start
+LOG: DEBUG 11185443 LORA TX, 486300000, SF9, 125KHz, 20
+LOG: DEBUG 11185445 LORA TX, 40CE166B6A00020008544D455CA8
+LOG: DEBUG 11186596 LORA RX, 506700000, SF9, 125KHz
+LOG: DEBUG 11186778 LW MACCMD, RX, 0330FF0051
+LOG: DEBUG 11186780 LORA RX, 60CE166B6A8501000330FF00513BA7F222, -59, 9
+MSG: FPENDING
+MSG: RXWIN1, RSSI -59, SNR 8.5
+MSG: Done
确认帧
AT+CMSGHEX="12345678"
+CMSGHEX: Start
+CMSGHEX: Wait ACK
+CMSGHEX: Done
1.仅使能80信道
AT+CH=NUM,80
+CH: NUM, 80
2.仅使用80信道的DR3进行通信
AT+CH=80
+CH: 80,486300000,DR0:DR5
AT+CH=80,486.3,3
+CH: 80,486300000,DR3:DR3
1.端侧上报数据
[17:45:11.507]发→◇AT+MSG="1234"
□
[17:45:11.517]收←◆+MSG: Start
+LOG: DEBUG 165368 LW MACCMD, TX, 0307
+LOG: DEBUG 165369 LORA TX, 486300000, SF9, 125KHz, 20
+LOG: DEBUG 165371 LORA TX, 408BDED96B020100030708711FE371F37D3B88
[17:45:12.694]收←◆+LOG: DEBUG 166541 LORA RX, 506700000, SF9, 125KHz
[17:45:13.698]收←◆+LOG: DEBUG 167551 LORA RX, 505300000, SF12, 125KHz
[17:45:14.515]收←◆+MSG: Done
2.平台侧查看
腾讯云 IoT Explorer 上我则使用之前创建的一个浇花器项目,13块钱DIY微信小程序远程浇花神器,会将模组上报的第一字节以土壤湿度的属性呈现出来。
That's all
IoT小能手的其他精彩文章:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。