三、LoRaWAN End Node 【LoRaWAN实战项目】

1、LoRaWAN终端节点

1.1 LoRaWAN End Node

** LoRaWAN End Node 模块选用的是利尔达科技的LSD4WN-2L717M90 **
LSD4WN-2L717M90官网资料
模块特点:
超高接收灵敏度:-136±1dBm(@SF=12);
 超远有效通讯距离:5Km(城市公路环境,非旷野环境);
 符合 LoRaWANTM Specification 1.01 标准,支持 EU433、CN470 同频协议等;
 内部集成 LoRaWANTM 协议栈,支持 Class A\Class C 设备类型;
 低功耗:待机电流 ≤ 2 uA;
 UART 通信,简易指令配置模块参数;

技术参数:
在这里插入图片描述

1.2 模块功能介绍

本模块集成了 LoRaWANTM 协议栈,符合 LoRa Alliance 发布的 LoRaWANTM
Specification 1.01,支持 Class A\Class C 设备类型,从空口支持的频段来看, 模块
功能包括:

  • LoRaWAN CN470~510 同频应用等
  • LoRaWAN CN470 应用等
    本模块通过串口与用户进行数据/指令交互。
    用户在命令模式通过 AT 指令配置 LoRaWAN 网络参数(如果未配置,将采用默认参数配置)。
    用户首次使用,需要配置模块必要的网络参数,并执行保存命令后,复位模块(模块将以新参数来初始化),然后切换为透传模式。
    缺省情况下,模块会自动加入设定的 LoRaWAN 网络,并启动运行。用户可以通过判断 STAT 引脚状态,或者进入命令模式查询当前数据发送结果等详细信息,以获取模块入网结果等信息。
    如下图为模块功能图谱:
    温馨提示: 可点击图片看大图
    在这里插入图片描述

1.3 硬件实现

用户接口:串口、GPIO、电源
天线接口:50Ω邮票孔输出
在这里插入图片描述
说明:
1:加粗 Trace 为系统所需连接(推荐)。
2:天线出口(ANT<->PIN22)的绿色 Trace 要求 50Ω阻抗匹配。
3:缺省情况下,R1 为 0Ω,C1,C2 为空贴。C4 空贴(只做预留)。
4、R1、C1、C2 参数的具体取值,由产品进行天线匹配后确定。

模块封装图
封装图

2、 LoRa节点开发

命令模式:

  • MODE引脚 接 高电平
  • WAKE引脚 接 高电平
  • 接 串口
  • 接 VCC
  • 1、2、6、12、17、20、21号引脚 接 GND
    透传模式:
  • MODE引脚 接 低电平
  • WAKE引脚 接 高电平
  • 接串口
  • 接VCC
  • 1、2、6、12、17、20、21号引脚 接 GND

命令模式切换透传模式:
模式切换时电源可以不用断开
在wake引脚低电平状态下,先拉低mode引脚再拉高wake引脚,进入透传模式
模式之间切换需要延时100毫秒
执行指令时需要延时10毫秒

2.1 串口调试,配置参数

模块引脚飞线直接和PC机通过串口连接,使用串口助手配置参数
波特率:9600 、 1个停止位、无校验位
在这里插入图片描述
LoRaWAN 节点 OTAA 方式入网步骤:
(1) 唤醒模块:保持 WAKE 引脚为高,模块不进入睡眠
(2) 进入指令模式:拉高 MODE 引脚
(3) 配置 OTAA 模式(出厂默认值,如果未改变,该项可不配置)
AT+OTAA=1
(4) 配置 AppEui,(该参数 FF 00 66 FF FF FF 0 1 仅作为示例说明,以实
际使用为准,需与服务器端保持一致)
AT+APPEUI= FF 00 66 FF FF FF 0 1
(5) 配置 AppKey,(该密钥 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE
FF 仅作为示例说明,以实际使用为准,需与服务器端保持一致)
AT+APPKEY= 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF
(6) 保存参数到 EEPROM
AT+SAVE
(7) 复位,重启模块
AT+RESET 或者拉低 Reset 引脚 ,并保持 1ms
(8) 进入透传模式(请注意:只有在透传模式下,模块才会执行 JOIN 操
作)。拉低 MODE 引脚
(9)BUSY,STAT 引脚为高电平,表明模块加入成功。加入成功后,用
户可以通过串口收发数据。
(以上任何参数发生变化,需要执行 SAVE,并复位后,处于透传模式的
模块将使用新参数 JOIN 网络)

串口助手发送命令配置节点过程:

[14:47:21.704]发→◇AT+DEVEUI?
[14:47:21.721]收←◆
+DEVEUI: 00 ** ** 00 00 00 ** **
OK
[14:47:24.574]发→◇AT+FACTORY
[14:47:24.597]收←◆
OK
[14:47:26.942]发→◇AT+OTAA=1
[14:47:26.954]收←◆
OK
[14:52:47.351]发→◇AT+APPEUI=C6DA60**********
[14:52:47.381]收←◆
OK
[14:52:49.750]发→◇AT+APPKEY=E91DF491*******************
[14:52:49.906]收←◆
OK
[14:59:25.793]发→◇AT+CLASS=0
[14:59:25.808]收←◆
OK
[15:00:07.695]发→◇AT+DEBUG=1
[15:00:07.709]收←◆
OK
[15:00:10.030]发→◇AT+RX1?
[15:00:10.040]收←◆
+RX1: 1000, 0, 5000
OK
[15:00:13.719]发→◇AT+VER?
[15:00:13.730]收←◆
+VER:LoRaWAN1.0.2_CN470P.01-02.21.14_Aug  2 2019 17:06:38
OK
[15:00:26.599]发→◇AT+PORT?
[15:00:26.611]收←◆
+PORT: 0A
OK
[15:00:32.422]发→◇AT+DATARATE?
[15:00:32.438]收←◆
+DATARATE: 3, 3, 50, 08, 20
OK
[15:05:11.135]发→◇AT+BAND?
[15:05:11.147]收←◆
+BAND: 7, 1, 0, 0
OK
[15:05:15.104]发→◇AT+BAND=7
[15:05:15.119]收←◆
OK
[15:05:17.790]发→◇AT+FREQ?
[15:05:17.802]收←◆
+FREQ:
 CH0: 475300000, 50
 CH1: 475500000, 50
 CH2: 475700000, 50
 CH3: 475900000, 50
 CH4: 476100000, 50
 CH5: 476300000, 50
 CH6: 476500000, 50
 CH7: 476700000, 50
OK
[15:05:21.734]发→◇AT+FREQ=1,8,475300000
[15:05:21.793]收←◆
OK
[15:05:25.509]发→◇AT+SAVE
[15:05:25.592]收←◆
OK
[15:05:27.653]发→◇AT+RESET
[15:05:27.665]收←◆
OK
[15:05:27.700]收←◆LoRaWAN1.0.2_CN470P.01-02.21.14_Aug  2 2019 17:06:38
LoRaWAN Modem - Command

注: DEVEUI、APPEUI等关键信息我用星号“ * ”代替。

2.2 在LoRaWAN物联网平台添加LoRa节点

在这里插入图片描述
登录LoRaWAN NS物联网平台后,在 项目管理 -->查看 对应项目 --> 设备管理 中选择 节点,如下图:
注: 我已经添加过两个节点设备
在这里插入图片描述
点击 添加,选择添加OTAA设备
配置的三元素与平台添加设备要一致

  • DEVEUI:设备固件的EUI
  • APPEUI:平台应用EUI,自己可以随便设定,位数
  • APPKEY:自己可以设置,与平台保持一致即可
    在这里插入图片描述
  • 设置为CLASS_A模式
  • loraWAN版本
    在这里插入图片描述
    在这里插入图片描述
    最后点确定,添加节点成功,在节点列表中显示。

3、上行、下行数据调试

3.1硬件连接

模式切换为透传模式:

  • MODE引脚 接 低电平(透传模式)
  • WAKE引脚 接 高电平(激活)
  • 串口连接USU转TTL调试工具
  • 打开PC端串口调试助手

串口打印输出:

[15:12:56.337]收←◆+JOIN INFO: 0, 7, [3]475900000, 0, 9, 20, -133, -12
[15:12:58.673]收←◆
[UP] Cfm_Stat: 0,UpCnt: 0,CH4: 476100000,DR3: SF9,TxPower: 20,AckCnt: 0,PER: 10000,TOA: 164864,nbTrials: 1,BackOff: 0,cRssi: 0,Nb: 0,Band: 7

3.2 平台准备

登录LoRaWAN NS物联网平台后,在 项目管理 -->查看 对应项目 --> 设备管理 中选择 节点找到对应设备点节点调试按钮,如下图:
在这里插入图片描述
进入节点调试后如下图:
选择对应调试类型。
节点调试可选择下行的模式,如auto、rx1和rx2
在这里插入图片描述

  • CLASS A调试:支持CLASS A、CLASS B、CLASS C 设备
  • 自动回复:CLASS A调试适用,勾选并提交后会根据节点上行自动回复调试内容
  • 优先:CLASS A调试适用,勾选并提交后会将当前调试内容优先下发

3.3 上行数据调试

在PC端通过串口小助手发送数据,平台端将接收到数据。
在这里插入图片描述
PC端 上报数据“8888888888888888888888”

[16:44:16.144]发→◇8888888888888888888888[16:44:18.427]收←◆
[UP] Cfm_Stat: 0,UpCnt: 24,CH1: 475500000,DR5: SF7,TxPower: 20,AckCnt: 0,PER: 10000,TOA: 77056,nbTrials: 1,BackOff: 0,cRssi: 0,Nb: 0,Band: 7

注: “ [UP] ”为上行标志,这部分内容是平台响应设备端,表示数据上报平台成功。

平台端 收到数据部分为 “38383838383838383838383838383838383838383838”

2020-06-03 16:44:14.730: {"gatewayEui":"D896E0FFF0******","devEui":"0095690000******","devAddr":"00000***","serverTime":"2020-06-03 16:44:14","tmst":1090752987,"chan":1,"rfch":0,"freq":475.5,"stat":1,"modu":"LORA","datr":"SF7BW125","codr":"4/5","lsnr":8.8,"rssi":-53,"size":35,"data":"401A0100008018000A14B26432FD87B3419E7B234893C0D7EB90B6B887F394CF0A8814","pingtime":28753,"hashCode":"46FF1BCE0DC375F934559067F5AD73AC","major":0,"adr":true,"adrAckReq":false,"ack":false,"mic":true,"foptsLen":0,"fcnt":24,"fport":10,"payloadData":"38383838383838383838383838383838383838383838","toa":77.056,"mtype":2}

注: payloadData(数据部分)是经过字符串转16进制获得的。

3.4 下行命令调试

下行命令只能是设备端主动上报数据时,平台再将缓存的命令下发至设备

第一步: 在平台提交命令
在这里插入图片描述

  • 提示:已提交!
  • 显示:调试等待
    第二步: 在PC端上报数据
    在这里插入图片描述
    PC端 上报数据“666666”
    收到命令“111111”
[17:06:27.959]发→◇666666[17:06:29.091]收←◆
[UP] Cfm_Stat: 0,UpCnt: 27,CH4: 476100000,DR5: SF7,TxPower: 20,AckCnt: 0,PER: 10000,TOA: 51456,nbTrials: 1,BackOff: 0,cRssi: 0,Nb: 0,Band: 7

[DN] Ind_Stat: 0,DnCnt: 5,CH4: 476100000,DR5: SF7,Port: 10,RxSlot: 0,pRSSI: -68,SNR: +6,Pend: 0,SIZE: 6,Multi: 0,Margin: 0,nGW: 0
111111

注: “ [DN] ”为下行标志,这部分内容是平台下发设备端。

平台端 收到数据部分为 “363636363636”
下发命令“111111”

2020-06-03 17:03:50.210: 调试等待
2020-06-03 17:06:26.510: {"gatewayEui":"D896E0***0000***","devEui":"0095690***","devAddr":"0000****","serverTime":"2020-06-03 17:06:26","tmst":2422522483,"chan":4,"rfch":1,"freq":476.1,"stat":1,"modu":"LORA","datr":"SF7BW125","codr":"4/5","lsnr":9.5,"rssi":-55,"size":19,"data":"401A010000801B000A1A7EF2B08AFDF1833697","pingtime":28900,"hashCode":"E9BDB1DE265F315F27E29744A25888EE","major":0,"adr":true,"adrAckReq":false,"ack":false,"mic":true,"foptsLen":0,"fcnt":27,"fport":10,"payloadData":"363636363636","toa":51.456,"mtype":2}
2020-06-03 17:06:26.921: {"gatewayEui":"D896E0FFF00****","devEui":"0095690000*****","devAddr":"000****","serverTime":"2020-06-03 17:06:26","imme":false,"tmst":2423522483,"freq":476.1,"rfch":0,"powe":17,"modu":"LORA","datr":"SF7BW125","codr":"4/5","ipol":true,"size":19,"data":"601A0100008005000A97F1FC6256B85F22D5A0","ncrc":true,"major":0,"adr":true,"ack":false,"foptsLen":0,"fcnt":5,"fport":10,"payloadData":"313131313131","toa":51.456,"mtype":3}

注: “mtype”:3,表示此数据为设备对平台下发命令的响应,说明设备已收到命令,设备响应部分在平台调试窗口显示为灰色。

4、节点数据查看

项目管理 -->查看 对应项目 --> 设备管理 中选择 节点找到对应设备点击设备的 devEui 号按钮,进入设备详情如下图:
在这里插入图片描述
点击查看数据可查看该设备的所有上下行数据
在这里插入图片描述
至此 LoRaWAN 节点添加,调试已经完成,下一节将对接应用服务器 。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LoRaWAN(低功耗广域网)规范是一种针对物联网(IoT)设备的通信协议。它建立了一个能够长距离和低功耗传输数据的无线网络。LoRaWAN规范定义了设备与网络之间的通信方式,使得大规模的物联网应用成为可能。 LoRaWAN协议采用了一种分层架构,包括终端节点(End Nodes)、网关(Gateways)和网络服务器(Network Servers)。终端节点是传感器或其他物联网设备,负责采集和发送数据。网关负责接收节点的数据并将其传输到网络服务器。网络服务器则负责对数据进行处理和转发。 LoRaWAN协议还定义了一种调制技术,即扩频频移键控(CSS)。该技术允许在长距离范围内传输低功耗数据,使得设备能够在低功耗模式下工作数年之久。 LoRaWAN规范还提供了多种安全机制,确保设备和网络的安全通信。它使用身份验证和加密措施,以保护数据的完整性和机密性。 通过LoRaWAN规范,物联网设备可以连接到全球性的物联网网络,实现远程监测、智能城市、智能农业等各种应用。LoRaWAN的优势在于其低成本、长距离传输和低功耗特性,使得它成为许多物联网应用的理想选择。 总结来说,LoRaWAN规范是一种定义物联网设备与网络之间通信的协议,它提供了低功耗、长距离传输和安全性等特点。这种协议为物联网提供了全球性连接的能力,并促进了各种物联网应用的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值