EndNode应用
lorawan_conf.h,LoRaWAN区域和频段配置
选择当前固件中包含哪些区域和频段
/*#define REGION_AS923*/
/*#define REGION_AU915*/
#define REGION_CN470
/*#define REGION_CN779*/
/*#define REGION_EU433*/
/*#define REGION_EU868*/
/*#define REGION_KR920*/
/*#define REGION_IN865*/
/*#define REGION_US915*/
/*#define REGION_RU864*/
对于AU915, CN470和US915频段分为多个组,可以选择使用哪个组的频率。
//#define HYBRID_ENABLED 0
#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
lora_app.h 配置LoRa通信参数
#define ACTIVE_REGION LORAMAC_REGION_CN470
#define LORAWAN_USER_APP_PORT 2
#define LORAWAN_DEFAULT_CLASS CLASS_A
#define LORAWAN_DEFAULT_ACTIVATION_TYPE ACTIVATION_TYPE_OTAA
se_identity.h 配置LoRaWAN的网络参数
设备DEUI
#define LORAWAN_DEVICE_EUI { 0x00, 0x80, 0xE1, 0x01, 0x01, 0x01, 0x01, 0x01 }
Network Key
#define LORAWAN_NWK_KEY 2B,7E,15,16,28,AE,D2,A6,AB,F7,15,88,09,CF,4F,3C
OTAA下只需要配置Network Key,DEUI默认使用芯片的ID号。以下是OTAA的入网输出信息。
APPLICATION_VERSION: V1.2.0
MW_LORAWAN_VERSION: V2.4.0
MW_RADIO_VERSION: V1.2.0
L2_SPEC_VERSION: V1.0.3
RP_SPEC_VERSION: V1-1.0.3
###### OTAA ######
###### AppKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
###### NwkKey: CD:C6:28:94:D8:52:53:E2:66:F3:11:92:12:DF:6A:47
###### ABP ######
###### AppSKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
###### NwkSKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
###### IDs ######
###### DevEui: 00:80:E1:15:00:11:5D:54
###### AppEui: 01:01:01:01:01:01:01:01
###### DevAddr: 00:11:5D:54
0s032:TX on freq 486700000 Hz at DR 0
[10:58:31.035]收←◆1s516:MAC txDone
[10:58:36.068]收←◆6s549:RX_1 on freq 507100000 Hz at DR 0
[10:58:37.810]收←◆8s292:MAC rxDone
###### = JOIN FAILED
[10:58:39.551]收←◆10s035:VDDA: 254
10s035:temp: 25
10s039:TX on freq 486900000 Hz at DR 0
[10:58:41.041]收←◆11s523:MAC txDone
[10:58:46.074]收←◆16s556:RX_1 on freq 507300000 Hz at DR 0
[10:58:47.818]收←◆18s299:MAC rxDone
###### = JOINED = OTAA =====================
###### MCRootKey: 7D:F7:6B:0C:1A:B8:99:B3:3E:42:F0:47:B9:1B:54:6F
###### MCKEKey: 8C:B8:66:5E:0C:0E:0B:64:5B:2E:D9:E4:8A:19:27:7C
###### NwkSKey: CF:B7:21:F7:15:9E:ED:C2:4D:0A:57:40:1E:A4:57:B9
###### AppSKey: E0:9B:48:02:A3:5E:61:92:40:84:83:B3:31:2B:87:ED
[10:58:49.557]收←◆20s041:VDDA: 254
20s041:temp: 25
20s045:TX on freq 486500000 Hz at DR 0
20s047:SEND REQUEST
[10:58:51.209]收←◆21s694:MAC txDone
[10:58:52.244]收←◆22s727:RX_1 on freq 506900000 Hz at DR 0
[10:58:53.493]收←◆23s978:MAC rxDone
###### ========== MCPS-Confirm =============
[10:58:59.564]收←◆30s048:VDDA: 254
30s048:temp: -105
30s052:TX on freq 486700000 Hz at DR 5
30s054:SEND REQUEST
[10:58:59.642]收←◆30s125:MAC txDone
[10:59:00.625]收←◆31s109:RX_1 on freq 507100000 Hz at DR 5
[10:59:00.686]收←◆31s171:MAC rxDone
###### ========== MCPS-Confirm =============
发送数据
EndNode应用默认发送15Byte数据,lora_app.c文件中SendTxData()
AppData.Buffer[i++] = AppLedStateOn;
AppData.Buffer[i++] = (uint8_t)((pressure >> 8) & 0xFF);
AppData.Buffer[i++] = (uint8_t)(pressure & 0xFF);
AppData.Buffer[i++] = (uint8_t)(temperature & 0xFF);
AppData.Buffer[i++] = (uint8_t)((humidity >> 8) & 0xFF);
AppData.Buffer[i++] = (uint8_t)(humidity & 0xFF);
latitude = sensor_data.latitude;
longitude = sensor_data.longitude;
AppData.Buffer[i++] = GetBatteryLevel(); /* 1 (very low) to 254 (fully charged) */
AppData.Buffer[i++] = (uint8_t)((latitude >> 16) & 0xFF);
AppData.Buffer[i++] = (uint8_t)((latitude >> 8) & 0xFF);
AppData.Buffer[i++] = (uint8_t)(latitude & 0xFF);
AppData.Buffer[i++] = (uint8_t)((longitude >> 16) & 0xFF);
AppData.Buffer[i++] = (uint8_t)((longitude >> 8) & 0xFF);
AppData.Buffer[i++] = (uint8_t)(longitude & 0xFF);
AppData.Buffer[i++] = (uint8_t)((altitudeGps >> 8) & 0xFF);
AppData.Buffer[i++] = (uint8_t)(altitudeGps & 0xFF);
作者:SteveChen 创建时间:2025-11-22 09:29
最后编辑:SteveChen 更新时间:2025-11-23 01:38
最后编辑:SteveChen 更新时间:2025-11-23 01:38