Um exemplo de aplicativo de rede Point a Point a Point e Lorawan para o Zephyr RTOs.
Testado com os seguintes metas:
A pasta Lorawan contém código de exemplo para se conectar à rede de coisas e transmitir valores de temperatura e umidade a partir de um sensirion shtc3.
O dispositivo Lorawan EUI, JONE EUI e a chave do aplicativo devem ser inseridos no arquivo lorawan.h antes da compilação.
O arquivo prj.conf inclui declarações para ativar sua região (frequência):
#LORAMAC_REGION_AS923=y
LORAMAC_REGION_AU915=y
#LORAMAC_REGION_CN470=y
#LORAMAC_REGION_CN779=y
#LORAMAC_REGION_EU433=y
#LORAMAC_REGION_EU868=y
#LORAMAC_REGION_KR920=y
#LORAMAC_REGION_IN865=y
#LORAMAC_REGION_US915=y
#LORAMAC_REGION_RU864=y
O sensor i2C shtc3 pode ser conectado aos pinos i2C alocados no arquivo da placa relevante para sua meta.
O exemplo armazena o DevNonce no NVS (armazenamento não volátil), conforme as especificações de Lorawan 1.0.4.
O STM32WL5E possui um EUI IEEE de 64 bits armazenado em 0x1fff7580. Podemos ler isso e usá -lo como o dispositivo EUI. Atualmente, o dispositivo Lorawan EUI é codificado.
*** Booting Zephyr OS build zephyr-v3.2.0-3920-g5787c69b9ce5 ***
Zephyr LoRaWAN Node Example
Board: lemon_iot_lora_rak3172
NVS: ID 1, DevNonce: 8
Starting LoRaWAN stack.
Joining network using OTAA, dev nonce 8, attempt 1: Timed-out waiting for response.
Joining network using OTAA, dev nonce 9, attempt 2: Join successful.
Sending Temp 27.77 RH 50.1
Sending Temp 27.47 RH 51.2
A pasta Lora contém código de exemplo para permitir o teste de rádios LORA (comunicações ponto a ponto). Isso é útil para validar seu rádio Lora está funcionando corretamente antes de tentar se conectar às redes de Lorawan.
Quando iniciado, o aplicativo ouvirá pacotes na frequência/canal selecionados. Quando o SW1 for pressionado, transmitirá um pacote ('Olá') em ASCII.
Verifique a configuração de frequência/canal antes do uso e verifique se você está transmitindo em uma banda permitida para o seu país.
*** Booting Zephyr OS build zephyr-v3.2.0-3920-g5787c69b9ce5 ***
LoRa Point to Point Communications Example
LoRa Device Configured
XMIT 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00
XMIT 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00
XMIT 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00
XMIT 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00
XMIT 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -75dBm, SNR = 8dBm
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -75dBm, SNR = 8dBm
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -75dBm, SNR = 9dBm
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -74dBm, SNR = 9dBm
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -74dBm, SNR = 9dBm
RECV 6 bytes: 0x48 0x65 0x6c 0x6c 0x6f 0x00 RSSI = -74dBm, SNR = 8dBm