LoRaWAN Node SDK入门指南

更新时间:2019-02-27 12:03:43

快速开始

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

配置环境

CMake 版本>= 3.6;
GNU ARM-Toolchain;
Visual Studio Code(可选);

下载代码

先在以下链接签署NDA:
https://service.iot.aliyun.com/partner/ecology
完成NDA签署之后,在以下链接提交申请表单:
https://page.aliyun.com/form/Link_WAN_RAN/index.htm
两个工作日以内, 阿里会给您在以下链接开放代码下载权限:

git clone https://code.aliyun.com/LinkWAN/LoRaNodeSDK.git

设置和编译

cd path/to/project/directory(替换为自己的目录)
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE="cmake/toolchain-arm-none-eabi.cmake" -DAPPLICATION="SdkExample" -DCLASS="classB" -DCLASSB_ENABLED="ON" -DACTIVE_REGION="LORAMAC_REGION_CN470" -DBOARD="NucleoL476" -DMBED_RADIO_SHIELD="SX1262DVK1DAS" -DTOOLCHAIN_PREFIX="/Users/opt/gcc-arm-none-eabi-7-2017-q4-major" ..

注:
TOOLCHAIN_PREFIX根据自己的按照路径修改。
修改SDK目录下Commissioning.h中节点三元组信息和组播地址和秘钥;

make –j8(MAC iOS/Linux)或者make(Windows)

编译结果:
\build\src\apps\LoRaMac\SdkExample-classB.hex

效果

下载Hex文件到开发板(默认ST NucleoL476开发板)后退出:
JLinkExe->loadfilebuild/src/apps/LoRaMac/SdkExample-classB.hex

打开串口工具,重启运行显示如下输出结果:


**********************************************
====LinkWAN LoRa Node SDK Example App ====

**********************************************
LoRa:LoRa_Init_Done,LoRaWANProtocol MAC VERSION: 44211200
=======================================================
DevEui:  xx-xx-xx-xx-xx-xx-xx-xx
AppEui :  xx-xx-xx-xx-xx-xx-xx-xx
=======================================================
LoRa:Next Join Delay Seconds =30,NumofJoin=0.
TXon freq 472700000 Hz at DR 4,channelIndex=4.
LoRa:MLME-Request- MLME_JOIN,STATUS: OK
LoRa:JOINING
PHYtxDone,time=233
PHYrxDone,rxSize=17,rssi=-78,snr=12,time=5328.
LoRa:MLME-Confirm,STATUS:OK
DevAddr     : 66EA1A51
DATARATE   : DR_4

LoRa:JoinResult is Successful.

调试

用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使用手册:docs/ SDK_Manual_vX.X.X.pdf;
节点接入要求:请见接入规范文档:docs/ ICA联盟标准-LoRa节点接入技术要求1.0.pdf

硬件支持

开发板

默认能运行LoRaWAN协议栈的开发板都支持,如:

  • NucleoL073

  • NucleoL152

  • NucleoL476 (default)

  • SAML21

  • SKiM880B

  • SKiM980A

  • SKiM881AXL

硬件移植

http://stackforce.github.io/LoRaMac-doc/_p_o_r_t_i_n_g__g_u_i_d_e.html

版本发布

v2.0.2发布,主要包括以下功能和服务:
- 提供了认证模式功能;
- 对上层提供更便捷的应用API;
- 新增实现了联盟的应用层组播功能;
- 新增LoRaWAN模块连接策略(入网退避策略,ClassB切换策略,时间同步策略等);
- 对原有ClassA/B/C缺陷进行修复;
- 对现有LoRaWAN节点协议栈的鲁棒性,可靠性,稳定性做了进一步增强;

参考链接:
LinkWAN平台:https://iot.aliyun.com/products/linkwan
LoRaWAN联盟协议规范:https://lora-alliance.org/resource-hub
LoRaWAN协议节点参考实现:https://github.com/Lora-net/LoRaMac-node/tree/v4.4.2-rc.1

results matching ""

    No results matching ""