Comunicação p2p com Arduino MKR 1300 (LoRa)

Serão apresentadas 2 opções: O Arduino Web Editor e o Arduino IDE. Considero o Arduino Web Editor mais simples já que não é necessário instalar nada, apenas um plugin para rodar no Linux. Bibliotecas, drivers, exemplos já estão presentes por ser online.

1. Usando o Arduino Web Editor (versão online da IDE) "Create": https://create.arduino.cc/editor


É necessário fazer um pequeno cadastro no site para usar.

Na versão online é necessário apenas instalar o plugin para Linux: "Arduino Create Agent".
Basta seguir os passos indicados no site.

Testei no Navegador Opera e não funcionou, o Create Arduino não carrega. Então optei pelo Firefox onde funcionou perfeitamente.

2.1 Configurar o Arduino Web Editor para usar a placa MKR 1300


Com a placa já conectada na porta usb deve-se selecionar a placa que está usando:


2.2 Configurar a placa no Arduino IDE:

Instalar a placa:


Tools >> Board >> Boards manager >> Arduino SAMD Boards (32-bits ARM Cortex-MD) by Arduino (USAR A VERSÃO 1.1.20, A 21 NÃO FUNCIONA)



Selecionar a placa:

Tools >> Board >> Arduino MKR WAN 1300

Selecionar a porta:


Tools >> Port >> Arduino MKR

3.1 Bibliotecas no Arduino Web Editor

3.1.1 Sketch MKRWANFWUpdate_standalone

Buscamos por "Examples" o primeiro Sketch que vamos precisar: MKRWANFWUpdate_standalone da biblioteca MKRWAN:


1 - Exemples
2 - Buscar pela biblioteca
3 - Selecionar o Sketch
4 - Selecionar a placa
5 - Compile (Compilar o código)
6 - Upload (Gravar na placa)
7 - Serial Monitor (Observar no Monitor até terminar)

3.1.2 Incluir a biblioteca LoRa by Sandeep Mistry:


1 - Libraries
2 - Library Manager

3 - Procurar a biblioteca LoRa
4 - Adicionar aos Favoritos

3.1.3 Sketch LoRa Sender


5 - Acessar os Favoritos
6 - Abrir a biblioteca LoRa
7 - Abrir os Exemplos
8 - Abrir o Sketch LoRaSender
9 - Ao abrir o Sketch, executar os passos de compilar e gravar o Sketch na placa.

3.1.3 Sketch LoRa Receiver

Seguir os mesmos passos do LoRa Sender e escolher o LoRa Receiver para gravar na outra plca MKR 1300.

É possível acompanhar no "Monitor" os pacotes sendo enviados e recebidos pelas placas. As duas placas devem estar conectadas no computador via usb e deve-se usar 2 janelas do navegador para visualizar.

3.2 Bibliotecas no Arduino IDE

3.2.1 Adicionar a biblioteca MKRWAN:

Sketch >> Include Library >> Manage Libraries >> MKRWAN
[https://github.com/arduino-libraries/MKRWAN/tree/master/examples]



Primeiro gravar o Sketch MKRWANFWUpdate_standalone da biblioteca MKRWAN (tanto na placa Sender quanto na Receiver)

Observar no Serial Monitor o término da execução.

3.2.2 Adicionar a biblioteca LoRa:

Sketch >> Include Library >> Manage Libraries >> LoRa (by Sandeep Mistry)


Procurar em "Exemples" os Sketch LoRa Sender e LoRa Receiver para gravar nas placas.