segunda-feira, 18 de janeiro de 2021

U-BLOX NINA B302 FAZENDO P2P COM SX1276 E WISOL LOM204 VIA JAVASCRIPT - ESPRUINO

U-BLOX NINA B302 FAZENDO P2P COM SX1276 E WISOL LOM204 VIA JAVASCRIPT - ESPRUINO


O objetivo deste BLOG é demonstrar como é possível utilizar e programar o módulo U-BLOX NINA B302 com a linguagem de Scripts JAVASCRIPT e então prepará-lo para recepção de Pacote LoRA (enviado pelo WISOL LOM204) via SX1276. Foi utilizado o breakout NINA B302 conectado ao SX1276 para recepção e o LOM204A02 para transmissão (módulo).


Adquirimos então os seguintes componentes



Montamos a BREAKOUT (B302)


O esquema elétrico é este



Algumas características do Kit

-Botão de RESET;
-Botão de Modo BOOTLOADER (W102);
-Plugável no PROTOBOARD;
-Acesso às várias GPIOS;

Pequena 


Espruino é um intérprete de JavaScript para microcontroladores que torna o desenvolvimento de software embarcado rápido e fácil. O intérpretador Espruino é um firmware de código aberto que roda em uma variedade de microcontroladores diferentes.

O Espruino em si não é apenas o firmware ou hardware do interpretador - há também o IDE da Web, ferramentas de linha de comando, documentação, tutoriais e módulos que formam uma solução completa para desenvolvimento de software embarcado.
 
Grave o código HEX do JAVASCRIPT usando o utility J-FLASH LITE ou NRFGO STUDIO no NINA B302



Resete o NINA B302

Instale o ESPRUINO IDE (Native)

Instale o USB DONGLE CSR 4.0 (drivers)


Mas atenção!

Para o Windows 8.1 e posterior
O IDE é capaz de usar os drivers BLE do próprio Windows. A única configuração necessária é que você vá para as configurações de Bluetooth do seu sistema e clique em Conectar (Parear no Windows 10) no seu dispositivo NINA B302. Isso expõe ao sistema e garante que ele apareça no IDE da Web. Para o Windows anterior ao 8.1
Como as versões do Windows anteriores à 8.1 não suportam Web Bluetooth no sistema operacional, o noble (que o Espruino IDE usa) precisa acessar diretamente o adaptador BLE - portanto, é necessário garantir que o driver WinUSB seja carregado para ele (como oposição a um driver específico do fabricante). Baixe o Zadig e execute-o - é apenas um executável Vá para Opções -> Listar todos os dispositivos Escolha o seu adaptador BLE (o meu é CSR8510 A10) Certifique-se de que o WinUSB esteja definido como o driver Agora, quando você executar o IDE da Web nativo e clicar em "conectar" no canto superior esquerdo, deverá ver uma lista de dispositivos BLE conectáveis.



Execute o ESPRUINO IDE (Native)


Faça o SCAN para encontrar o NINA B302


Conecte ao NINA B302


Transfira o SCRIPT JAVASCRIPT abaixo 


No B302 transfira o seguinte código Javascript e execute

//D7 CLK //D32 MISO //D15 MOSI //D13 CS //D44 RST SPI1.setup({ sck:D7, miso:D32, mosi:D15 }); var sx = require("SX127x").connect({spi: SPI1, cs: D13, rst : D44 }); // Until DIO0 line irqs are implemented we need this: setInterval(function() { sx.onIRQ(); }, 100); var config = { power : 14, // transmit power in dBm, allowed range: -4 to +17dBm or 20dBm. If you use Hope RF or TTGO module see the note below! freq: 917300000, // frequency in MHz, by default 868MHz bandwidth : 0, // 0: 125 kHz (default), 1: 250 kHz, 2: 500 kHz datarate : 7, // spreading factor, 7(default)..12 coderate : 1, // [1: 4/5 (default), 2: 4/6, 3: 4/7, 4: 4/8] preambleLen : 8, // preamble length, default: 8 fixLen : false, // fixed length? a boolean. If true, payloadLen needs specifying too crcOn : false, // CRC enabled? freqHopOn : false, // frequency hopping on? If true, hopPeriod should be set iqInverted : false, // Inverts IQ signals rxContinuous : true, // continuous reception? it's easiest to set this to true and manually cancel reception symbTimeout : false, // RxSingle timeout value when rxContinuous = false forcePaBoost : false // Required for HopeRF RFM9xW and TTGO LoRa32 modules }; sx.setRxConfig(config); // enter receive mode sx.rx(function(err, inf) { // Error, or you get signal strength and data returned in an object if (err) console.log("RX ERROR"); else console.log("RX>",inf); });



LoRa

LoRa é uma tecnologia de radio frequência que permite comunicação a longas distâncias (em áreas urbanas 3-4 Km de alcance, e em áreas rurais, até 12 Km ou mais), com consumo mínimo de energia.

LOM204A02


Modem LoRa. para operação redes públicas e privadas LoRaWAN bem como ponto a ponto (P2P), Permite embarcar a aplicação, Dimensão: 15mm x 18mm x 2.2mm, SAW filter integrado, Potência de saida: +20dBm, Baixo consumo

Módulo LoRa


Descrição
Módulo Lora1278 433 mhz Lora 2.0 - IOT CHIP SX1276

Características:
Faixa De freqüência: 433 MHz
sensibilidade-139 dBm até
potência máxima de saída: 20dBm
10.3mA @ modo receptor
Consumo modo Sleep atual < 200nA
taxa de transferência de dados: @ FSK, 1.2-300 kbps
@ Lora TM, 0.018-37.5 kbps
Modulação FSK, GFSK e OOK
Lora TM
Alimentação 1.8-3.7Vdc
127 dB Dynamic Range RSSI
pacote de dados até 256 bytes com CRC
Faixa de Temperatura de operação:-40 ~ + 85 ° C
sensor de temperatura embutido e indicador de bateria fraca

1) Montagem

Um cabo USB foi soldado em D+, D-, GND e VBUS do NINA B302 (BREAKOUT)




2) Conectando  Módulo SX1276 no NINA B302

//D7 CLK
//D32 MISO
//D15 MOSI
//D13 CS
//D44 RST


Datasheet



3) Preparando LOM204 para transmissao de pacote LoRa 


4) Execute a aplicação no NINA B302 JAVASCRIPT (para recebimento)

5) Transmita Pacote pelo WISOL LOM204 (STRING AAA)



6) Veja recebimento no NINA B302 JAVASCRIPT






Questões: suporte@smartcore.com.br



Sobre a SMARTCORE

A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portfólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
Mais detalhes em www.smartcore.com.br

Nenhum comentário:

Postar um comentário