TencentOS tiny 定制开发板直接操作LoRa模组

前言

有的时候想灵活的操作模组进行一些自定义的频点和数据发送操作,这时候编写代码肯定是不方便的,一款得心应手的串口AT模组将会大大提升我们的效率。

这篇文章将使用 TencentOS tiny 定制开发板直接操作板载E53接口的LoRa模组,通过对其AT命令操作来实现一些自定义操作。

原本打算使用 ST 原厂主推的 LoRa 评估套件 P-NUCLEO-LRWAN3 ,在研究了 《[UM01723]ST Nucleo LoRa Sensor getting started user manual》后,发现 Nucleo 底板与 Arduino Shiled 之间并没有硬件的跳线,需要对底板烧写相应的 USB-UART Bridge 的特殊固件,没办法直接操作到 Shiled 的 LoRa 模组,因此放弃这个方式。

腾讯云 IoT Explorer 是腾讯云主推的一站式物联网开发平台,IoT 小能手从设备侧开发、平台功能操作、应用侧开发三个部分来进行学习分享,另外还分享了一些动手实践作品及收录官方发布的产业合作案例,帮助读者更好地理解整个开发链路。详情可点此查看

1 硬件连接介绍

经过分析,发现 TencentOS tiny 定制开发板上具有相关的串口跳线,可以很方便的对其中任何一方的数据进行分析。

模组管脚 跳线引脚
模组的TX AT_RX
模组的RX AT_TX

只需要将 AT_RX 连接 PC_RX,AT_TX 连接 PC_TX,就可以直接使用板载的 USB串口来操作瑞兴恒方的LoRa模组。

2 AT操作介绍

串口配置为:115200-8-1
AT命令主要参考《[RHF-PS01709]Long 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

ID及密钥相关命令

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

数据收发命令

PORT

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

HEX发送

确认帧
AT+CMSGHEX=“12345678”
+CMSGHEX: Start
+CMSGHEX: Wait ACK
+CMSGHEX: Done

3 更多灵活设置

单频点通信

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

4 腾讯云物联网开发平台

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微信小程序远程浇花神器,会将模组上报的第一字节以土壤湿度的属性呈现出来。

END

That’s all


IoT小能手的其他精彩文章:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章