Node SDK是Alibaba Cloud Link WAN模组设备厂商提供的LoRaWAN节点SDK,在完善和修复Semtech开源节点源码缺陷的基础之上,新增了具有实用价值的新特性说明、参考实现和应用实例。符合LinkWAN接入规范,帮助模组厂商缩短新特性的开发周期,扩大模组的应用场景,提高市场竞争力。
下载代码
使用阿里云账号登录官网后,通过工单咨询的方式获取Link WAN 节点SDK。
配置环境
CMake 版本≥3.6
GNU ARM-Toolchain
(可选)Visual Studio Code
SEGGER-JLink(烧录工具)
安装配置详细信息,请参见文档中的安装配置。
修改编译配置
打开./LoRaMac-node/buildconfig.sh,配置开发板型号和工具链路径。
修改./LoRaMac-node/src/LoRaModuleSDK/Commissioning.h 中节点三元组信息和组播地址和密钥。
节点三元组取得方式:
登录物联网络管理平台控制台。
在左侧导航栏,单击密钥管理。
在密钥管理页面购买专业版或标准版密钥均可。
编译SDK
cd ./LoRaMac-node
sh build.sh
编译结果:
./build/src/apps/LoRaMac/SdkExample-LoRaWanModule.hex
验证SDK效果
下载Hex文件到开发板(默认ST NucleoL476开发板)后退出,JLink 烧录方式如下: JLinkExe->loadfile build/src/apps/LoRaMac/SdkExample-LoRaWanModule.hex 。
打开串口调试工具,重启运行显示输出结果如下:
**********************************************
====== 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>.
=======================================================
调试
以ST NucleoL476开发板为例,用JLink和GDB调试开发板如下:
开启JLinkGDBServer。
JLinkGDBServer -device STM32L476RGTx -if swd -speed 4000
开启GDB Client进行调试。
arm-none-eabi-gdb SdkExample-classB -ex "target remote localhost:2331"
技术架构图
SDK说明
SDK说明,请参见SDK使用手册:./LoRaNodeSDK/Doc/NodeSDK_Manual_vX.X.X.pdf
。
节点接入要求,请参见接入规范文档:./LoRaNodeSDK/Doc/阿里云Link WAN节点接入规范vX.X.X.pdf
。
硬件支持
默认能运行LoRaWAN协议栈的开发板都支持,例如:
NucleoL073
NucleoL152
NucleoL476 (default)
SAML21
SKiM880B
SKiM980A
SKiM881AXL
版本发布
v2.0.4 主要包括以下功能和服务:
支持RAK811节点开发板。
AT Cmd:增加使用说明打印,优化AT+CDEVADDR功能。
v2.0.3 主要包括以下功能和服务:
提供了《LinkWAN节点接入规范》的全频段扫描参考实现。
提供了《ICA联盟标准-面向LoRa的AT指令集规范1.0》增强版的参考实现。
支持LinkWAN Class A节点的中继模式。
支持LBT功能。
支持检测节点协议。
支持ABP模式。
v2.0.2 主要包括以下功能和服务:
提供了认证模式功能。
对上层提供更便捷的应用API。
新增实现了联盟的应用层组播功能。
新增LoRa模块连接策略(入网退避策略、Class B切换策略、时间同步策略等)。
对原有Class A、Class B、Class C缺陷进行修复。
对现有LoRaWAN节点协议栈的鲁棒性、可靠性、稳定性做了进一步增强。参考链接如下:
LoRaWAN协议节点开源实现,详细信息,请参见LoRaNodeSDK/Doc/NodeSDK_QuickStart.docx。