sexta-feira, 7 de junho de 2019

NINA B112 e HeartBeat

U-BLOX NINA B112 e VISUINO HEARTBEAT

O objetivo deste BLOG é demonstrar como é possível utilizar o VISUINO para programar o módulo U-BLOX NINA B112 para que via BLE possa usar o serviço de HeartBeat. Foi utilizado o módulo NINA B112 para o teste com o gravador Segger ou ST-LINK V2.




Abaixo o roteiro para você seguir:

Baixe e instale o Arduino IDE (pelo menos v1.6.12)
Inicie o Arduino IDE, vá em Preferências e adicione 

https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json 



como "URL adicional do gerenciador de pastas"

Abra o Boards Manager no menu Tools -> Board e instale o "Nordic Semiconductor nRF5 Boards"

Selecione sua placa nRF5 no menu Ferramentas -> Placa


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



Drivers

Windows

Configuração de driver para dispositivos mbed

Faça o download do driver serial Windows mbed

Configuração do driver para o Segger J-Link

Faça o download do Zadig
Plugin Segger J-Link ou placa DK
Iniciar o Zadig
Selecione Opções -> Listar Todos os Dispositivos
Conecte e desconecte seu dispositivo para descobrir o que muda e selecione a Interface 2 no menu suspenso do dispositivo
Clique em Substituir Driver
NOTA: Para reverter para o driver original, acesse: Gerenciador de dispositivos -> clique com o botão direito no dispositivo -> caixa de seleção para "Excluir o software do driver para este dispositivo" e clique em Desinstalar

Configuração do driver para o Black Magic Probe

Faça o download dos drivers dos arquivos .inf do blacksphere github
Plugin Black Magic Probe
Aponte o instalador para a pasta que contém blackmagic.inf

OBSERVAÇÃO: Se estiver usando o Windows 10 ou Linux, duas portas UART COM serão visíveis sem a necessidade de drivers adicionais.

Caso você queira usar os serviços BLE

Selecionando um SoftDevice

Os SoftDevices contêm a pilha BLE e o serviço de limpeza, e devem ser baixados uma vez antes que um esboço usando o BLE possa ser carregado. O SD consome ~ 5k de RAM + algum extra baseado na configuração real do BLE.

O SoftDevice S132 v2.0.1 suporta nRF52 no papel periférico e central. Tem 112k de tamanho.

Instalando exemplos BLE

Este núcleo do Arduino não contém nenhuma API do estilo Arduino para a funcionalidade BLE. Todos os arquivos de cabeçalho do Nordic SoftDevice (S110, S130, S132) relevantes são incluídos no caminho de construção quando um SoftDevice é selecionado através do menu Ferramentas.

Bibliotecas BLE recomentadas

BLEPeriférico
v0.3.0 e superior, disponível através do gerenciador de bibliotecas do Arduino IDE.

Suporta apenas o modo periférico.

Compílando o exemplo 

Abra o exemplo:



Habilite o SoftDevice S132



Selecione o programador (J-LINK) (Atenção, aplique o driver ZADIG sobre o J-LINK)





Grave o bootloader (softdevice)


Altere arquivo variant.H para que o TXD e RXD sejam os mesmos do NINA B112, ok ?, por exemplo


// Serial #define PIN_SERIAL_RX (5) // P0.05 #define PIN_SERIAL_TX (6) // P0.06



.
.
.

#define PIN_A0 (2) // P0.02


Copie as libraries do VISUINO C:\Users\users\Documents\Arduino\libraries para as libraries do NINA B112.

Ao executar o Arduino, o mesmo incluirá o visuino-libraries no conjunto de bibliotecas do Arduino.

Baixe e instale o VISUINO.



Selecione o módulo Generic NRF52


Adicione fluxos conforme figura abaixo!


Neste exemplo, é enviado via BLE o Batimento Cardiaco (Simulado) via Bluetooth, captado pela entrada ANALOGICA do NINA B112, como o dado é ponderado, aparecerá 0.XX

Configure o VISUINO para apontar para o ARDUINO.

Vá em menu Arduino-->Configure



Gerando código

Pressione F9, o VISUINO então vai transforma os fluxos em código C e então abrir o Arduino



Veja o código (baseado em CLASSES e MÉTODOS)

//---------------------------------------------- // // Sketch Generated by Visuino // www.visuino.com // Version 7.8.2.291 // //------------------ Source -------------------- // // visuino_esp32.visuino // //---------------------------------------------- #define VISUINO_ESP32 #include <OpenWire.h> #include <Mitov.h> #include <Mitov_FormattedSerial.h> #include <Arduino.h> #include <Mitov_ESP32.h> #include <Mitov_Text.h> #include <Mitov_RandomGenerator.h> // Arduino Board Declarations namespace BoardDeclarations
.
.
.

Agora compile


Selecione a J-LINK e transfira o programa, mas pode usar também o ST-LINK V2



Execute o APP NRF TOOLBOX da NORDIC





Questões: suporte@smartcore.com.br

FONTES: 

 
 

Sobre a SMARTCORE

A SmartCore fornece módulos para comunicaçã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