前言
有的時候想靈活的操作模組進行一些自定義的頻點和數據發送操作,這時候編寫代碼肯定是不方便的,一款得心應手的串口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小能手的其他精彩文章: