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
-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.
Muitas LIBRARIES
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.
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
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
FONTES:
https://www.u-blox.com/sites/default/files/NINA-B3_DataSheet_%28UBX-17052099%29.pdf
https://forums.adafruit.com/viewtopic.php?f=60&t=148531&start=30
https://circuitpython.readthedocs.io/en/2.x/shared-bindings/microcontroller/__init__.html?highlight=microcontroller
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