文章目录
代码语言:txt复制- [前言](https://cloud.tencent.com/developer)
- [1 硬件连接介绍](https://cloud.tencent.com/developer)
- [2 AT操作介绍](https://cloud.tencent.com/developer)
- [基础格式](https://cloud.tencent.com/developer)
- [基础命令](https://cloud.tencent.com/developer)
- [ID及密钥相关命令](https://cloud.tencent.com/developer)
- [速率及频点相关命令](https://cloud.tencent.com/developer)
- [加网命令](https://cloud.tencent.com/developer)
- [数据收发命令](https://cloud.tencent.com/developer)
- [PORT](https://cloud.tencent.com/developer)
- [字符发送](https://cloud.tencent.com/developer)
- [HEX发送](https://cloud.tencent.com/developer)
- [3 更多灵活设置](https://cloud.tencent.com/developer)
- [单频点通信](https://cloud.tencent.com/developer)
- [4 腾讯云物联网开发平台](https://cloud.tencent.com/developer)
前言
有的时候想灵活的操作模组进行一些自定义的频点和数据发送操作,这时候编写代码肯定是不方便的,一款得心应手的串口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 小能手从设备侧开发、平台功能操作、应用侧开发三个部分来进行学习分享,另外还分享了一些动手实践作品及收录官方发布的产业合作案例,帮助读者更好地理解整个开发链路。详情可点此查看。
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-PS01709Long Range LoRa® Class ABC AT Command Specification v1.2.pdf》。
基础格式
代码语言:javascript复制查询
AT COMMAND
AT COMMAND?
AT COMMAND=?
代码语言:javascript复制配置/控制
AT COMMAND=DATA
代码语言:javascript复制返回
COMMAND: “RETURN DATA”
基础命令
代码语言:javascript复制AT测试
AT
AT: OK
代码语言:javascript复制查看版本
AT VER
VER: 3.5.9
代码语言:javascript复制使能日志
AT LOG=DEBUG
LOG: DEBUG
代码语言:javascript复制复位
AT RESET
RESET: OK
ID及密钥相关命令
代码语言:javascript复制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 // 出于安全考虑,只能写入,不能查询
速率及频点相关命令
确认当前使能的信道
代码语言:javascript复制AT CH=NUM
CH: NUM, 0-7, 64
加网命令
代码语言:javascript复制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
代码语言:javascript复制AT PORT=?
PORT: 8
字符发送
代码语言:javascript复制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发送
代码语言:javascript复制确认帧
AT CMSGHEX=“12345678”
CMSGHEX: Start
CMSGHEX: Wait ACK
CMSGHEX: Done
3 更多灵活设置
单频点通信
1.仅使能80信道
代码语言:javascript复制AT CH=NUM,80
CH: NUM, 80
2.仅使用80信道的DR3进行通信
代码语言:javascript复制AT CH=80
CH: 80,486300000,DR0:DR5
AT CH=80,486.3,3
CH: 80,486300000,DR3:DR3
4 腾讯云物联网开发平台
1.端侧上报数据
代码语言:javascript复制[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微信小程序远程浇花神器,会将模组上报的第一字节以土壤湿度的属性呈现出来。