|
|
@@ -122,7 +122,7 @@ LoRaWAN-ED-Stack软件包在LoRaWAN开源协议栈[LoRaMAC-Node](https://github.
|
|
|
1. 配置LoRaWAN-ED Debug信息,根据需求,使能不同层的日志输出
|
|
|
1. 选择LoRaWAN End-Device测试示例
|
|
|
1. LoRaWAN-ED-Test-Shell.c
|
|
|
- 1. Class A功能的入网、数据通信、LoRaWAN上下行网络链路质量测试等
|
|
|
+ 1. Class A\Class C入网、数据通信、LoRaWAN上下行网络链路质量测试等
|
|
|
### 2.2.1 MDK 5开发环境
|
|
|
使用 LoRaWAN-ED-Stack软件包,需要在 RT-Thread 的包管理中选中它,具体路径如下:
|
|
|
```
|
|
|
@@ -144,22 +144,24 @@ RT-Thread online packages --->
|
|
|
## 3.1 lorawan-ed-test-shell
|
|
|
lorawan-ed-test-shell提供了常用的shell命令,用来读写LoRaWAN End-Device相关MAC、PHY等参数,并进行LoRaWAN入网、Class A通信等测试验证。
|
|
|
当前支持的命令如下
|
|
|
-
|
|
|
+
|
|
|
| 序号 | 命令类型 | finish命令 | 说明 |
|
|
|
| --- | --- | --- | --- |
|
|
|
| 1 | 参数设置与读取 | lorawan deveui <para1> | 设置\读取DevEUI<br />- 有<para1>,设置DevEUI的值,16进制,8个字节<br />- 无 para1,读取当前DevEUI的值<br /> |
|
|
|
-| 2 | 参数设置与读取 | lorawan appeui <para1> | 设置\读取AppEUI<br /> - 有<para1>,设置AppEUI的值,16进制,8个字节<br /> - 无 para1,读取当前AppEUI的值<br /> |
|
|
|
-| 3 | 参数设置与读取 | lorawan appkey <para1> | 设置\读取AppKey<br /> - 有<para1>,设置AppKey的值,16进制,16个字节<br /> - 无 para1,读取当前AppKey的值<br /> |
|
|
|
-| 4 | 参数设置与读取 | lorawan devaddr <para1> | 设置\读取DevAddr<br /> - 有<para1>,设置DevAddr的值,16进制,4个字节,仅适用于ABP<br /> - 无 para1,读取当前DevAddr的值<br /> |
|
|
|
-| 5 | 参数设置与读取 | lorawan appskey <para1> | 设置\读取AppSKey<br /> - 有<para1>,设置AppSKey的值,16进制,16个字节,仅适用于ABP<br /> - 无 para1,读取当前AppSKey的值<br /> |
|
|
|
-| 6 | 参数设置与读取 | lorawan nwkskey <para1> | 设置\读取NwkSKey(NwkSEncKey)<br /> - 有<para1>,设置NwkSKey的值,16进制,16个字节,仅适用于ABP<br /> - 无 para1,读取当前NwkSKey的值<br /> |
|
|
|
-| 7 | 参数设置与读取 | lorawan class <para1> | 设置\读取 Class类型<br /> - 有<para1>,设置Class的值,1个字节<br /> - 0 - Class A<br /> - 1 - Class B<br /> - 2 - Class C<br /> - 无 para1,读取当前Class的值<br /> |
|
|
|
-| 8 | 参数设置与读取 | lorawan confirm <para1> | 设置\读取 数据传输类型 Confirm\Unconfirm<br /> - 有<para1>,设置数据传输类型的值,1个字节<br /> - 0 - UnConfirm<br /> - 1 - Confirm<br /> - 无 para1,读取当前数据传输类型的值<br /> |
|
|
|
-| 9 | 参数设置与读取 | lorawan activation <para1> | 设置\读取 设备激活方式<br /> - 有<para1>,设置激活方式的值,1个字节<br /> - 0 - OTAA<br /> - 1 - ABP<br /> - 无 para1,读取当前激活方式的值<br /> |
|
|
|
-| 10 | 入网 | lorawan join <nbtrials><interval> | 启动入网<br /> - nbtrials:单次最大入网重试次数<br /> - 0 - 停止入网<br /> - 非0 - 入网重试次数<br /> - interval:入网包之间的发送间隔,单位:秒,最小周期8s<br /> |
|
|
|
-| 11 | 数据通信 | lorawan ping <nbtrials><interval> | LoRaWAN网络上下行链路质量测试<br />在设备入网后,执行该指令,LoRaWAN终端发送指定数量的Link Check测试数据包,测试完成后,shell输出当前上下行无线链路质量结果<br /> - nbtrials:每次ping测试,发送的数据包总数<br /> - 缺省nbtrials = 10<br /> - interval:ping数据包之间的发送间隔,单位:秒<br /> |
|
|
|
-| 12 | 数据通信 | lorawan tx <mode><cfm><port><len><data> | 发送Class A数据包<br /> - mode 发送模式<br /> - 0 - 停止周期性发送<br /> - 1 - 立即发送一次<br /> - 2 ~ 1500 - 按次数发送,执行该指令后,设备发送指定次数的数据包后停止,发送间隔为10s<br /> - >1500 - 按周期发送,单位ms,执行该指令后,设备周期性发送<br /> - cfm 数据消息类型<br /> - 0 - 非确认帧<br /> - 1 - 确认帧<br /> - port 应用端口号<br /> - 1~223<br /> - len - 数据包长度<br /> - data - 自定义发送数据包{x1,x2,x3...},16进制格式<br /> |
|
|
|
-
|
|
|
+| 2 | 参数设置与读取 | lorawan appeui <para1> | 设置\读取AppEUI<br />- 有<para1>,设置AppEUI的值,16进制,8个字节<br />- 无 para1,读取当前AppEUI的值<br /> |
|
|
|
+| 3 | 参数设置与读取 | lorawan appkey <para1> | 设置\读取AppKey<br />- 有<para1>,设置AppKey的值,16进制,16个字节<br />- 无 para1,读取当前AppKey的值<br /> |
|
|
|
+| 4 | 参数设置与读取 | lorawan devaddr <para1> | 设置\读取DevAddr<br />- 有<para1>,设置DevAddr的值,16进制,4个字节,仅适用于ABP<br />- 无 para1,读取当前DevAddr的值<br /> |
|
|
|
+| 5 | 参数设置与读取 | lorawan appskey <para1> | 设置\读取AppSKey<br />- 有<para1>,设置AppSKey的值,16进制,16个字节,仅适用于ABP<br />- 无 para1,读取当前AppSKey的值<br /> |
|
|
|
+| 6 | 参数设置与读取 | lorawan nwkskey <para1> | 设置\读取NwkSKey(NwkSEncKey)<br />- 有<para1>,设置NwkSKey的值,16进制,16个字节,仅适用于ABP<br />- 无 para1,读取当前NwkSKey的值<br /> |
|
|
|
+| 7 | 参数设置与读取 | lorawan class <para1> | 设置\读取 Class类型<br />- 有<para1>,设置Class的值,1个字节<br /> - 0 - Class A<br /> - 1 - Class B<br /> - 2 - Class C<br />- 无 para1,读取当前Class的值<br /> |
|
|
|
+| 8 | 参数设置与读取 | lorawan confirm <para1> | 设置\读取 数据传输类型 Confirm\Unconfirm<br />- 有<para1>,设置数据传输类型的值,1个字节<br /> - 0 - UnConfirm<br /> - 1 - Confirm<br />- 无 para1,读取当前数据传输类型的值<br /> |
|
|
|
+| 9 | 参数设置与读取 | lorawan activation <para1> | 设置\读取 设备激活方式<br />- 有<para1>,设置激活方式的值,1个字节<br /> - 0 - OTAA<br /> - 1 - ABP<br />- 无 para1,读取当前激活方式的值<br /> |
|
|
|
+| 10 | 入网 | lorawan join <nbtrials><interval> | 启动入网<br />- nbtrials:单次最大入网重试次数<br /> - 0 - 停止入网<br /> - 非0 - 入网重试次数<br />- interval:入网包之间的发送间隔,单位:秒,最小周期8s<br /> |
|
|
|
+| 11 | 数据通信 | lorawan ping <nbtrials><interval> | LoRaWAN网络上下行链路质量测试<br />在设备入网后,执行该指令,LoRaWAN终端发送指定数量的Link Check测试数据包,测试完成后,shell输出当前上下行无线链路质量结果<br />- nbtrials:每次ping测试,发送的数据包总数<br /> - 缺省nbtrials = 10<br />- interval:ping数据包之间的发送间隔,单位:秒<br /> |
|
|
|
+| 12 | 数据通信 | lorawan tx <mode><cfm><port><len><data> | 发送Class A数据包<br />- mode 发送模式<br /> - 0 - 停止周期性发送<br /> - 1 - 立即发送一次<br /> - 2 ~ 1500 - 按次数发送,执行该指令后,设备发送指定次数的数据包后停止,发送间隔为10s<br /> - >1500 - 按周期发送,单位ms,执行该指令后,设备周期性发送<br />- cfm 数据消息类型<br /> - 0 - 非确认帧<br /> - 1 - 确认帧<br />- port 应用端口号<br /> - 1~223<br />- len - 数据包长度<br />- data - 自定义发送数据包{x1,x2,x3...},16进制格式<br /> |
|
|
|
+| 13 | 保存 | lorawan save <type> | 保存配置信息到Flash(需要硬件支持easyflash)<br />- type 保存类型<br /> - dev - 设备身份信息(DevEUI、AppEUI、AppKey等)<br /> - cfg - LoRaWAN工作参数(Class Type、OTAA\ABP等)<br /> |
|
|
|
+| 14 | 恢复出厂设置 | lorawan factory | 恢复LoRaWAN工作参数为出厂值 |
|
|
|
+
|
|
|
测试示例:
|
|
|

|
|
|
入网示例(标准CN470-OTAA-ClassA)
|
|
|
@@ -199,17 +201,15 @@ static void lorawan_ed_receive_message(lorawan_ed_appdata_t *app_data)
|
|
|
# 4 版本更新历史 Change log
|
|
|
|
|
|
## 4.1 LoRaWAN-ED-Stack 1.0.0 pre-released 20.10.27
|
|
|
-
|
|
|
- - LoRaWAN-ED-Stack1.0.0 基于LoRaMac-node 4.4.4 released版本
|
|
|
- - 支持lorawan regional parameters 1.0.3
|
|
|
- - 协议栈本身的实现最大程度保持LoRaMAC-node保持一致,便于后续持续更新
|
|
|
- - 修复下行Buffer潜在的溢出风险漏洞 (腾讯安全团队)
|
|
|
- - 支持lorawan-ed-test-shell命令快速进行LoRaWAN End-Device参数配置与功能验证、测试等
|
|
|
- - 支持menuconfig进行lorawan协议参数的灵活配置
|
|
|
- - 支持LoRaWAN地区规范(region)
|
|
|
- - [x] CN470
|
|
|
- - [x] CN470自定义同频
|
|
|
-
|
|
|
+- LoRaWAN-ED-Stack1.0.0 基于LoRaMac-node 4.4.4 released版本
|
|
|
+ - 支持lorawan regional parameters 1.0.3
|
|
|
+ - 协议栈本身的实现最大程度保持LoRaMAC-node保持一致,便于后续持续更新
|
|
|
+ - 修复下行Buffer潜在的溢出风险漏洞 (腾讯安全团队)
|
|
|
+- 支持lorawan-ed-test-shell命令快速进行LoRaWAN End-Device参数配置与功能验证、测试等
|
|
|
+- 支持menuconfig进行lorawan协议参数的灵活配置
|
|
|
+- 支持LoRaWAN地区规范(region)
|
|
|
+ - [x] CN470
|
|
|
+ - [x] CN470自定义同频
|
|
|
|
|
|
# 5 参考
|
|
|
|