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
上一篇:
下一篇: