Node SDK是Alibaba Cloud Link WAN为合作伙伴(模组设备厂商)提供的LoRaWAN节点SDK,在完善和修复Semtech开源节点源码的缺陷基础之上,新增了额外的具有实用价值的新特性说明、参考实现和应用实例。符合LinkWAN接入规范,能够帮助模组厂商缩短新特性的开发周期,扩大模组的应用场景,提高市场竞争力。

下载代码

代码库提供稳定版的节点SDK。进入代码库,您可以选择直接下载zip文件,或者在代码库中设置好SSH登录方式获得代码。

配置环境

  • CMake 版本≥3.6
  • GNU ARM-Toolchain
  • (可选)Visual Studio Code
  • SEGGER-JLink(烧录工具)
  • 安装配置详见此处

修改编译配置

打开./LoRaMac-node/buildconfig.sh,配置您使用的开发板型号和工具链路径。 修改./LoRaMac-node/src/LoRaModuleSDK/Commissioning.h 中节点三元组信息和组播地址和秘钥。

说明 节点三元组取得方式:可在Link WAN密钥管理控制台购买取得,专业版标准版密钥皆可使用。

编译

cd ./LoRaMac-node
sh build.sh            

编译结果: ./build/src/apps/LoRaMac/SdkExample-LoRaWanModule.hex

效果

下载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>. 
=======================================================           

调试

用JLINK和GDB调试开发板如下,以ST NucleoL476开发板为例,开启JLinkGDBServer的方法如下。

JLinkGDBServer -device STM32L476RGTx -if swd -speed 4000           

开启GDB Client进行调试。

arm-none-eabi-gdb SdkExample-classB -ex "target remote localhost:2331"           

技术架构图

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

硬件移植

可参考LoRaWAN Alliance移植文档

版本发布

  • v2.0.4 ChangeNotes
    • 支持RAK811节点开发板;
    • AT Cmd:增加使用说明打印,bugfix AT+CDEVADDR;
  • v2.0.3 ChangeNotes: 主要包括以下功能和服务
    • 提供了《LinkWAN节点接入规范》的全频段扫描参考实现。
    • 提供了《ICA联盟标准-面向LoRa的AT指令集规范1.0》增强版的参考实现。
    • 支持LinkWAN ClassA节点的中继模式。
    • 支持LBT功能。
    • 支持检测节点协议。
    • 支持ABP模式。
  • v2.0.2 ChangeNotes: 主要包括以下功能和服务
    • 提供了认证模式功能。
    • 对上层提供更便捷的应用API。
    • 新增实现了联盟的应用层组播功能。
    • 新增LoRa模块连接策略(入网退避策略,ClassB切换策略,时间同步策略等)。
    • 对原有ClassA/B/C缺陷进行修复。
    • 对现有LoRaWAN节点协议栈的鲁棒性、可靠性、稳定性做了进一步增强。参考链接如下: