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

下载代码

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

配置环境

  • CMake 版本≥3.6
  • GNU ARM-Toolchain
  • (可选)Visual Studio Code
  • SEGGER-JLink(烧录工具)
说明 安装配置详细信息,请参见安装配置

修改编译配置

  • 打开./LoRaMac-node/buildconfig.sh,配置开发板型号和工具链路径。
  • 修改./LoRaMac-node/src/LoRaModuleSDK/Commissioning.h 中节点三元组信息和组播地址和密钥。
说明 节点三元组取得方式:
  1. 登录物联网络管理平台控制台
  2. 在左侧导航栏,单击密钥管理
  3. 密钥管理页面购买专业版标准版密钥均可。

编译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节点协议栈的鲁棒性、可靠性、稳定性做了进一步增强。参考链接如下: