GW102与LM401节点开发板互联

LM401开发板是基于STM32WL平台的LoRaWAN节点开发板,可以与GW102网关通过LoRa无线方式连接,并通过ChirpStack服务管理。

由于频段的原因,建议选择470的80~87通道。

GW102网关配置

频点要配置为486.6Mhz和487.4Mhz。

cat /etc/lora1302-pktfwd/global_conf.json

"radio_0": {
		"enable": true,
		"type": "SX1250",
		"single_input_mode": true,
		"freq": 486600000,
		
		
		
"radio_1": {
		"enable": true,
		"type": "SX1250",
		"single_input_mode": true,
		"freq": 487400000,

启用sx1302开机自动运行服务

systemctl enable lora_sx1302_pktfwd.service

启动sx1302服务

systemctl start lora_sx1302_pktfwd.service

LM401节点端配置

修改为 CN490_80_87_Bands

方法一:不建议用此种方法

在LoRaWAN_AT_Slave 例程中修改如下三个地方

  1. 信道数

RegionCN470.h 文件中, 默认 96 修改为 8

#define CN470_MAX_NB_CHANNELS                       96
  1. 起始发送频点

RegionCN470.c 文件中 void RegionCN470InitDefaults( InitDefaultsParams_t* params) 函数中的Channels的频点,把 470300000 修改为 486300000

RegionNvmGroup2->Channels[i].Frequency = 470300000 + i * 200000
  1. 起始接收频点

RegionCN470.h 文件中,CN470_FIRST_RX1_CHANNEL的值修改为 500300000 修改为 506700000

#define CN470_FIRST_RX1_CHANNEL                     ( (uint32_t) 500300000 )

方法二:

打开LoRaWAN_AT_Slave项目后,先编译一边。然后单击Application/User/LoRaWAN/App下的lora_info.c文件前的加号,可以看到依赖的头文件。找到lorawan_conf.h文件,双击打开。

#define HYBRID_ENABLED                                  1
#define HYBRID_DEFAULT_MASK0 0x00FF
#define HYBRID_DEFAULT_MASK1 0x0000
#define HYBRID_DEFAULT_MASK2 0x0000
#define HYBRID_DEFAULT_MASK3 0x0000
#define HYBRID_DEFAULT_MASK4 0x0000
#define HYBRID_DEFAULT_MASK5 0x0000

找到如上代码,修改为如下

#define HYBRID_ENABLED                                  1
#define HYBRID_DEFAULT_MASK0 0x0000
#define HYBRID_DEFAULT_MASK1 0x0000
#define HYBRID_DEFAULT_MASK2 0x0000
#define HYBRID_DEFAULT_MASK3 0x0000
#define HYBRID_DEFAULT_MASK4 0x0000
#define HYBRID_DEFAULT_MASK5 0x00FF

表示使用CN470的80-87信道,跟网关的一致。

配置好后,使用AT命令配置如下参数,就可以和GW102网关通信成功了。

LM401ProKit节点的运行ATSlave程序后,波特率是9600。

ABP方式,需要配置DEUI,NetworkSessionKey,ApplicationSessionKey,DeviceAddr

OTAA方式,需要配置NetworkSessionKey,ApplicationSessionKey

以下使用ABP方式

AT+DEUI=3b:ac:47:7e:57:55:e2:ae

AT+NWKSKEY=cd:c6:28:94:d8:52:53:e2:66:f3:11:92:12:df:6a:47

AT+APPSKEY=4e:a2:29:01:c8:f3:30:b3:d2:3c:a9:bc:72:6c:a1:8b

AT+DADDR=01:68:57:8c

以上参数同样也要在ChirpStack页面中先配置好。

入网方式两种,ABP和OTAA。本次使用ABP方式入网。

0 = ABP, 1 = OTAA

AT+JOIN=0

OTAA需要NetworkKey,DEUI, DevAddr

AT+DEUI=3b:ac:47:7e:57:55:e2:ae
AT+DADDR=01:68:57:8c
AT+NWKKEY=cd:c6:28:94:d8:52:53:e2:66:f3:11:92:12:df:6a:47

AT+JOIN=1

这里的NWKKEY的值,来自Chirpstack的OTAA keys页面中的Application key值。

第一次JOIN会失败,需要把DADDR更新到平台。

发送数据

发送一个未确认的消息,“ABCD”数据到应用端口2

AT+SEND=2:0:ABCD

发送一个确认的消息,“ABCD”数据到应用端口2

AT+SEND=2:1:ABCD

DevEUI,由se-identity.h定义是静态还是动态

默认的EUI使用的MCU的UID上电时串口可以看到

/*!

When set to 1 DevEui is LORAWAN_DEVICE_EUI

When set to 0 DevEui is automatically set with a value provided by MCU platform

 */

#define STATIC_DEVICE_EUI                                  0

传感器数据上报,默认为定时上报。可以配置为按键触发上报方式。

函数接口,lora_app.c中的static void SendTxData(void)函数

定时周期位于lora_app.h中APP_TX_DUTYCYCLE

上类型由lora_app.c中EventType 定义

static TxEventType_t EventType = TX_ON_TIMER;

相关新闻

联系我们

029-89197679

技术咨询:support@i2som.tech

商务合作:market@i2som.tech

工作时间:周一至周五,9:30-18:30,节假日休息