Olá,
Temos módulos LoRaWAN + Shields Arduino da Radioenge.
A Radioenge postou no GitHub um script para conexão OTAA para TTN.
Esse script foi adaptado e a conexão OTAA funcionou corretamente.
Num segundo momento foi adaptado para ABP, mas não houve sucesso na conexão.
Segue abaixo o script para análise e sugestão de melhoria, por parte da Radioenge.
Tentamos postar uma dúvida no Fórum da Radioenge mas o site não estava funcionando.
=====================================================================
/* Includes */
#include <LoRaWAN.h>
#include <SoftwareSerial.h>
#include <stdint.h>
/* SoftwareSerial handles */
SoftwareSerial* hSerialCommands = NULL;
/* Variables */
char str_counter[128];
int counter = 0;
/* Setup */
void setup()
{
Serial.begin(9600);
delay(1000);
Serial.println(“Initializing…”);
/* Initialize SoftwareSerial */
hSerialCommands = SerialCommandsInit(7, 6, 9600);
Serial.println(“Reset…”);
SendRaw(“ATZ\r\n”);
delay(5000);
Serial.println(“Configurando ABP no device 8214…”);
SendRaw(“AT+NJM=0\r\n”);
delay(1000);
Serial.println(“Configurando DADDR…”);
SendRaw(“AT+DADDR=26:01:1B:72\r\n”);
delay(1000);
/* Configurando EndDevice como ABP */
Serial.println(“Sending Nwk Key…”);
SendRaw(“AT+NWKSKEY=76:4B:39:A8:E7:46:85:94:23:62:B1:AF:4A:9E:34:FA”);
delay(1000);
Serial.println(“Sending App Key…”);
SendRaw(“AT+APPSKEY=EF:81:C2:93:54:65:36:27:58:29:B0:8E:5F:73:0F:28”);
delay(1000);
Serial.println(“Sending Channel Mask…”);
SendRaw(“AT+CHMASK=FF00:0000:0000:0000:0001:0000”); // TTN
delay(1000);
Serial.println(“Sending JOIN…”);
SendRaw(“AT+JOIN”);
delay(1000);
Serial.println(“Aguardando 30 segundos apos JOIN…”);
delay(30000);
}
/* Loop ---------------------- */
void loop()
{
sprintf(str_counter, “AT+TXCFM=83:1:3:{“Contador”:“contador”,“value”:%d} \r\n\0”, counter++);
SendRaw(str_counter);
Serial.println(str_counter);
Serial.println(“Aguardando 60 segundos apara proximo envio…”);
delay(60000);
}
=====================================================================
Atenciosamente.