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)
Altere arquivo variant.H para que o TXD e RXD sejam os mesmos do NINA B112, ok ?, por exemplo
.
.
.
Sobre a SMARTCORE
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
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:
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
FONTES:
https://github.com/sandeepmistry/arduino-nRF5
https://www.arduinolibraries.info/libraries/ble-peripheral
https://github.com/sandeepmistry/arduino-nRF5/issues/102
https://www.u-blox.com/sites/default/files/NINA-B1_SIM_%28UBX-15026175%29.pdf
https://www.arduinolibraries.info/libraries/ble-peripheral
https://github.com/sandeepmistry/arduino-nRF5/issues/102
https://www.u-blox.com/sites/default/files/NINA-B1_SIM_%28UBX-15026175%29.pdf