quarta-feira, 19 de agosto de 2020

NINA B302 ACESSANDO SQL (MARIADB) - 802.3 (ENC28J60)

 NINA B302 ACESSANDO MariaDB (SQL) - ENC28J60


O objetivo deste BLOG é apresentar uma ideia geral de como o NINA B302 possa ser utilizado para acessar um bando de dados (MariaDB - SQL) via conexão TCP


Você já quis conectar seu projeto NINA B302  a um banco de dados para armazenar os dados que você coletou ou recuperar dados salvos para acionar eventos em seu esboço?

Bem, agora você pode conectar seu projeto Arduino diretamente a um servidor MySQL / MariaDB sem usar um computador intermediário ou um serviço baseado na web ou em nuvem. Ter acesso direto a um servidor de banco de dados MySQL/MariaDB significa que você pode armazenar dados adquiridos de seu projeto, bem como verificar valores armazenados em tabelas no servidor.

Isso também significa que você pode configurar seu próprio servidor MySQL local para armazenar seus dados, eliminando ainda mais a necessidade de conectividade com a Internet. Se isso não for um problema, você ainda pode se conectar e armazenar dados em um servidor MySQL por meio de sua rede, Internet ou mesmo na nuvem!

ENC28J60

O módulo Ethernet ENC28J60 utiliza o novo IC controlador controlador independente Microchip ENC28J60 com uma série de recursos para lidar com a maioria dos requisitos de protocolo de rede. A placa se conecta diretamente à maioria dos microcontroladores com uma interface SPI padrão com uma velocidade de transferência de até 20MHz.

SMARTCORE

A SmartCore fornece módulos para comunição wireless, biometria, conectividade, rastreamento e automação.
Nosso portifó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

Instalando Arduino Adafruit no NINA B302


Abaixo o roteiro para você seguir:

Baixe e instale o Arduino IDE 
Inicie o Arduino IDE, vá em Preferências e adicione 

https://www.adafruit.com/package_adafruit_index.json




como "URL adicional do gerenciador de pastas"

Abra o Boards Manager no menu Tools -> Board e instale o "Adafruit nRF52 by Adafruit"

Selecione sua placa nRF5 no menu Ferramentas -> Placa

Adafruit Bluefruit nRF52 Feather





OBSERVAÇÃO: Durante a instalação, o Arduino IDE leva alguns minutos para extrair as ferramentas após o download, por favor, seja paciente.

Gravando bootloader da Adafruit


Use o gravador SEGGER JLINK para gravar o BREAKOUT com módulo NINA B302, conecte nos pinos do SWCLK (pino 7) e SWDIO (pino 9) do SEGGER JLINK nos pinos  SWDCLK e SWDIO do BREAKOUT (pinos nas laterais, próximo à antena). Não esquecer de ligar os GND do BREAKOUT no GND do SEGGER JTAG, bem como alimentar o BREAKOUT com 3.3V.





Ligue os pinos SWD DIO e CLK ...



...nestes pinos da placa BREAKOUT


Você pode também usar o ST-LINK V2



Abra J-FLASH lite e grave o bootloader da Adafruit


Mudar NRF52840
 
O mesmo se encontra em 

....\packages\adafruit\hardware\nrf52\0.19.0\bootloader\feather_nrf52840_express

Compile depois para o NINA B302
https://github.com/adafruit/Adafruit_nRF52_Bootloader

Com ele, você poderá transferir programas via DFU USB. Maiores detalhes sobre este bootloader

https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/update-bootloader

Segundo a documentação, se você pressionar o reset, o módulo aguardará por um certo tempo se há algo sendo enviado pelo Arduino, ou seja, o programa a ser gravado via DFU.

ATENÇÃO, o bootloader usa USB para gravação do NINA 302, OU SEJA, CRIA UMA COMM VIRTUAL, TAMBÉM PARA SER A SERIAL PADRÃO DO ARDUINO

INSTALE OS DRIVERS
https://github.com/adafruit/Adafruit_Windows_Drivers

Conecte na USB + e USB - um cabo USB, AGUARDE INSTALAR OS DRIVERS


Futuramente altere arquivo variant.cpp para que as GPIOS sejam os mesmos do NINA B302, atualmente estão para o ADAFRUIT FEATHER EXPRESS.





ÓTIMA REFERENCIA PARA PINOS DO ARDUINO E PINOS (GPIOS) DO NINA B302


Consulte


Conexão com NINA B302 e ENC28j60

static const uint8_t SS   = (10);----> CS  (ENC28J60)
static const uint8_t MOSI = PIN_SPI_MOSI; ----> SI (ENC28J60)
static const uint8_t MISO = PIN_SPI_MISO;----> SO (ENC28J60)
static const uint8_t SCK  = PIN_SPI_SCK;----> SCK      (ENC28J60)

#define PIN_SPI_MISO         (24)    //24 original   IO8
#define PIN_SPI_MOSI         (25)    //25 original   IO3
#define PIN_SPI_SCK          (26)    //26 original    IO45

// D24 .. D26 (aka SPI pins)
  32,  // D24 is P1.00 (SPI MISO)
  15,  // D25 is P0.15 (SPI MOSI)
   7,  // D26 is P0.07 (SPI SCK )
  14,  // D10 is P0.14

Siga criteriosamente o Roteiro deste LINK





INSTALAÇÃO DO MariaDB

Siga o link abaixo para que você possa Instalar o seu servidor MariaDB em na plataforma Linux.


O mesmo pode ser instalado também no WINDOWS 10.

CONFIGURAÇÃO DO MariaDB NO ARDUINO

char user[] = "invited-guest"; // MySQL user login username
char password[] = "the-invited-guest"; // MySQL user login password


e

IPAddress server_addr(192, 168, 2, 112); uint16_t server_port = 5698; //3306;
  //MariaDB IP address and Port


e

// Only one of the following to be true. #define USE_ETHERNET false //true #define USE_ETHERNET_LARGE false #define USE_ETHERNET2 false //true #define USE_ETHERNET3 false //true #define USE_ETHERNET_ESP8266 false //true #define USE_ETHERNET_LAN8742A false //true // KH, from v1.0.1 #define USE_UIP_ETHERNET true //////

Compilação e Gravação


Execução



DÚVIDAS
suporte@smartcore.com.br

Referências:

Nenhum comentário:

Postar um comentário