set dev eui from MCU-ID (UID) of STM32WL
This commit is contained in:
parent
bee5012e04
commit
55fbfaf1d5
@ -14,7 +14,9 @@ LOG_MODULE_REGISTER(lorawan_class_a);
|
||||
extern bool relais_state;
|
||||
const static struct device *lora_dev;
|
||||
static struct lorawan_join_config join_cfg;
|
||||
static uint8_t dev_eui[8];
|
||||
static uint8_t app_key[] = LORAWAN_APP_KEY;
|
||||
static uint8_t join_eui[] = LORAWAN_APP_EUI;
|
||||
|
||||
static void dl_callback(uint8_t port, uint8_t flags, int16_t rssi, int8_t snr, uint8_t len,
|
||||
const uint8_t *hex_data)
|
||||
@ -46,6 +48,20 @@ struct lorawan_downlink_cb downlink_cb = {
|
||||
|
||||
void init_lorawan()
|
||||
{
|
||||
|
||||
/* set dev eui from MCU-ID (UID) of STM32WL */
|
||||
uint32_t uid_l = HAL_GetUIDw0();
|
||||
uint32_t uid_h = HAL_GetUIDw1();
|
||||
|
||||
dev_eui[0] = (uid_h >> 24) & 0xFF;
|
||||
dev_eui[1] = (uid_h >> 16) & 0xFF;
|
||||
dev_eui[2] = (uid_h >> 8) & 0xFF;
|
||||
dev_eui[3] = (uid_h) & 0xFF;
|
||||
dev_eui[4] = (uid_l >> 24) & 0xFF;
|
||||
dev_eui[5] = (uid_l >> 16) & 0xFF;
|
||||
dev_eui[6] = (uid_l >> 8) & 0xFF;
|
||||
dev_eui[7] = (uid_l) & 0xFF;
|
||||
|
||||
int err;
|
||||
|
||||
lora_dev = DEVICE_DT_GET(DT_ALIAS(lora0));
|
||||
@ -69,8 +85,9 @@ void init_lorawan()
|
||||
lorawan_register_downlink_callback(&downlink_cb);
|
||||
|
||||
join_cfg.mode = LORAWAN_ACT_OTAA;
|
||||
join_cfg.dev_eui = dev_eui;
|
||||
join_cfg.otaa.join_eui = join_eui;
|
||||
join_cfg.otaa.app_key = app_key;
|
||||
join_cfg.otaa.dev_nonce = sys_rand16_get();
|
||||
}
|
||||
|
||||
void join_network_otaa()
|
||||
@ -79,8 +96,6 @@ void join_network_otaa()
|
||||
while (lorawan_join(&join_cfg) < 0)
|
||||
{
|
||||
LOG_ERR("lorawan_join_network failed: %d, retrying..", ret);
|
||||
// use another dev nonce
|
||||
join_cfg.otaa.dev_nonce = sys_rand16_get();
|
||||
k_sleep(K_MSEC(5000));
|
||||
}
|
||||
LOG_INF("Succesfully joined network over OTAA");
|
||||
|
||||
@ -7,9 +7,11 @@
|
||||
#define LORAWAN_APP_KEY {0x71, 0x5A, 0x39, 0xB2, 0x86, 0xC3, \
|
||||
0x37, 0xA3, 0xC4, 0xF0, 0x78, 0xF9, \
|
||||
0x0F, 0x33, 0x07, 0x7D}
|
||||
#define LORAWAN_APP_EUI {0x1F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, \
|
||||
0x0F, 0x0F}
|
||||
|
||||
#define RETRY_DELAY K_MSEC(1000)
|
||||
#define SEND_INTERVALL K_SECONDS(20)
|
||||
#define SEND_INTERVALL K_MINUTES(5)
|
||||
|
||||
void init_lorawan();
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user