節(jié)點SDK
Node SDK是Alibaba Cloud Link WAN模組設(shè)備廠商提供的LoRaWAN節(jié)點SDK,在完善和修復(fù)Semtech開源節(jié)點源碼缺陷的基礎(chǔ)之上,新增了具有實用價值的新特性說明、參考實現(xiàn)和應(yīng)用實例。符合LinkWAN接入規(guī)范,幫助模組廠商縮短新特性的開發(fā)周期,擴大模組的應(yīng)用場景,提高市場競爭力。
下載代碼
使用阿里云賬號登錄官網(wǎng)后,通過工單咨詢的方式獲取Link WAN 節(jié)點SDK。
配置環(huán)境
CMake 版本≥3.6
GNU ARM-Toolchain
(可選)Visual Studio Code
SEGGER-JLink(燒錄工具)
安裝配置詳細信息,請參見文檔中的安裝配置。
修改編譯配置
打開./LoRaMac-node/buildconfig.sh,配置開發(fā)板型號和工具鏈路徑。
修改./LoRaMac-node/src/LoRaModuleSDK/Commissioning.h 中節(jié)點三元組信息和組播地址和密鑰。
節(jié)點三元組取得方式:
在左側(cè)導(dǎo)航欄,單擊密鑰管理。
在密鑰管理頁面購買專業(yè)版或標準版密鑰均可。
編譯SDK
cd ./LoRaMac-node
sh build.sh
編譯結(jié)果:
./build/src/apps/LoRaMac/SdkExample-LoRaWanModule.hex
驗證SDK效果
下載Hex文件到開發(fā)板(默認ST NucleoL476開發(fā)板)后退出,JLink 燒錄方式如下: JLinkExe->loadfile build/src/apps/LoRaMac/SdkExample-LoRaWanModule.hex 。
打開串口調(diào)試工具,重啟運行顯示輸出結(jié)果如下:
**********************************************
====== LinkWAN LoRa Node SDK Example =====
====== LoRaWAN 1.0.3 Specification,CN470 =====
*********************************************
This is Debug Version, Input AT Cmd to start your Experience!
=======================================================
****Set DevInfo: e.g. AT+CDEVEUI=devEui, AT+CAPPEUI=joinEUI,AT+CAPPKEY=appKey
****Start OTAA Join: e.g. AT+CJOIN=1,1
****Send Data: e.g. AT+DTX=10,0123456789
****Switch Class: e.g. AT+CCLASS=2 (classC)
****Switch Class: e.g. AT+CCLASS=1,0,2 (classB)
****Enter Repeater Mode: e.g. AT+CJOINMODE=1
****ConfirmUp Send Periodically(20s): e.g. AT+CCONFIRM=1, AT+CRM=1,20
****More AT Cmd infor, pls ref <ICA AT Cmd Spec>.
=======================================================
調(diào)試
以ST NucleoL476開發(fā)板為例,用JLink和GDB調(diào)試開發(fā)板如下:
開啟JLinkGDBServer。
JLinkGDBServer -device STM32L476RGTx -if swd -speed 4000
開啟GDB Client進行調(diào)試。
arm-none-eabi-gdb SdkExample-classB -ex "target remote localhost:2331"
技術(shù)架構(gòu)圖
SDK說明
SDK說明,請參見SDK使用手冊:./LoRaNodeSDK/Doc/NodeSDK_Manual_vX.X.X.pdf
。
節(jié)點接入要求,請參見接入規(guī)范文檔:./LoRaNodeSDK/Doc/阿里云Link WAN節(jié)點接入規(guī)范vX.X.X.pdf
。
硬件支持
默認能運行LoRaWAN協(xié)議棧的開發(fā)板都支持,例如:
NucleoL073
NucleoL152
NucleoL476 (default)
SAML21
SKiM880B
SKiM980A
SKiM881AXL
版本發(fā)布
v2.0.4 主要包括以下功能和服務(wù):
支持RAK811節(jié)點開發(fā)板。
AT Cmd:增加使用說明打印,優(yōu)化AT+CDEVADDR功能。
v2.0.3 主要包括以下功能和服務(wù):
提供了《LinkWAN節(jié)點接入規(guī)范》的全頻段掃描參考實現(xiàn)。
提供了《ICA聯(lián)盟標準-面向LoRa的AT指令集規(guī)范1.0》增強版的參考實現(xiàn)。
支持LinkWAN Class A節(jié)點的中繼模式。
支持LBT功能。
支持檢測節(jié)點協(xié)議。
支持ABP模式。
v2.0.2 主要包括以下功能和服務(wù):
提供了認證模式功能。
對上層提供更便捷的應(yīng)用API。
新增實現(xiàn)了聯(lián)盟的應(yīng)用層組播功能。
新增LoRa模塊連接策略(入網(wǎng)退避策略、Class B切換策略、時間同步策略等)。
對原有Class A、Class B、Class C缺陷進行修復(fù)。
對現(xiàn)有LoRaWAN節(jié)點協(xié)議棧的魯棒性、可靠性、穩(wěn)定性做了進一步增強。參考鏈接如下:
LoRaWAN協(xié)議節(jié)點開源實現(xiàn),詳細信息,請參見LoRaNodeSDK/Doc/NodeSDK_QuickStart.docx。