U-blox nina B302 com Bluetooth 5 avançado e Arduino IDE - Gateway
Índice
- 1 Visão geral: Primeiros passos com u-blox NINA B302 usando Arduino IDE
- 2 O que é Bluetooth Low Energy (BLE 5.0)?
- 3 Termos do BLE 5.0
- 4 Nordic NRF52840
- 5 Placa de Desenvolvimento Smartcore
- 6 Primeiros passos com u-blox NINA B302 usando Arduino IDE
- 7 u-blox NINA B302 Arduino 1º Programa - LED piscando
- 8 Aplicativo Adafruit Bluefruit LE Connect
- 9 código / programa do Arduino para se comunicar com o aplicativo Bluefruit LE Connect
- 10 Comunicação entre o aplicativo nRF52840 Adafruit Bluefruit LE Connect
Visão geral: Introdução ao u-blox NINA B302 usando Arduino IDE
Neste artigo, aprenderemos sobre Bluetooth Low Energy 5.0 e sua aplicação usando u-blox NINA B302 com Arduino IDE . O nRF52840 (core do u-blox NINA B302) SoC é um Bluetooth 5 flexível e eficiente projetado e desenvolvido pela Nordic Semiconductor . O nRF52840 SoC é construído em torno de um processador ARM® Cortex®-M4F de 32 bits otimizado para operação com consumo de energia ultrabaixo . Ele tem suporte de protocolo para Bluetooth 5, Bluetooth mesh, ANT e pilhas proprietárias de 2,4 GHz .
O NRF52840 BLE 5.0 tem uma ampla gama de aplicativos como Mesh Networking , por exemplo, desligar um prédio inteiro de luzes de um único smartphone. Da mesma forma, ele é usado em aplicações de saúde como BPM, SP02 , termômetro e outros. As outras áreas de aplicações incluem área de Fitness e Esportes para Atletas, Conectividade com a Internet, Sensores genéricos, conectividade HID sobre perfis GATT, Detecção de Proximidade, hardware de áudio, Sistema de Alerta, teclados sem fio, mouses e controladores de jogo.
Neste tutorial de introdução , programaremos a placa de breakout U-blox NINA B302 da Smartcore . Aprenderemos tudo sobre os pinos GPIO, arquitetura e mapeamento de pinos. Também aprenderemos sobre o aplicativo Bluefruit da Adafruit. Usando o aplicativo Bluefruit , podemos controlar vários dispositivos por meio de uma conectividade sem fio entre o aplicativo Android e a placa u-blox NINA B302, no caso utilizaremos BLE serial.
O que é Bluetooth Low Energy (BLE 5.0)?
Bluetooth 5.0 é a versão mais recente do padrão de comunicação sem fio Bluetooth . Bluetooth 5 é o avanço mais significativo no padrão Bluetooth desde a introdução do Bluetooth Low Energy no Bluetooth 4.0 . É comumente usado para fones de ouvido sem fio e outros hardwares de áudio, bem como teclados, mouses e controladores de jogos sem fio. O Bluetooth também é usado para comunicação entre vários dispositivos de casa inteligente e Internet das Coisas (IoT) .
Existem quatro novos recursos significativos do Bluetooth 5 em comparação com o BLE 4.0:
1. Uma taxa de bits mais alta de 2 Mbps.
2. Um modo de longo alcance com melhor sensibilidade em duas novas taxas de bits mais baixas de 500 kbps e 125 kbps.
3. Uma melhoria de 8 vezes na capacidade de transmissão com extensões de publicidade.
4. Um algoritmo de seleção de canal aprimorado
Termos BLE 5.0
1. Central
2. Periférico
3. Publicidade
4. Serviço
5. Pacote
Nordic nRF52840 (core do u-blox NINA B302)
O nRF52840 System on Chip é construído em torno de um processador ARM® Cortex®-M4F de 32 bits otimizado para operação de ultra-baixo consumo de energia, combinando Bluetooth 5, Bluetooth Mesh, Thread, IEEE 802.15.4 , ANT e proprietário de 2,4 GHz . Ele também é apresentado com NFC no chip e um controlador USB 2.0 (velocidade total) no chip . O SoC é desenvolvido com 1 MB FLASH e 256 kB de RAM .
Características e especificações
1. Advanced Single-chip de 2,4 GHz multi-protocolo SoC
2. 32 bits ARM Cortex-M4F Processor
3. 1.7v para 5.5v operação
4. 1MB Flash + 256kB RAM
5. Longo alcance e alta taxa de transferência
6. 802.15 .4 Suporte de rádio
7. NFC on-chip
8. PPI - Interconexão periférica programável
9. Sistema de gerenciamento de energia automatizado
10. Mapeamento de E / S analógico / digital configurável
11. 48 GPIO , 1 QSPI , 4 SPI , 2I2C , I²S , 2 UART , 4 PWM
12. Controlador USB 2.0
13. Interface de microfone digital (PDM)
14. Decodificador de quadratura
15. ADC de 12 bits
16. Comparador de baixa potência
17. On-air compatível com nRF52, nRF51 e nRF24 Series
Breakout para U-BLOX NINA B302
-Botão de RESET;
-Botão de Modo BOOTLOADER (W10X);
-Plugável no PROTOBOARD;
-Acesso às várias GPIOS.
Pequena
Primeiros passos com u-blox NINA B302 usando Arduino IDE
Então isso é tudo sobre a parte de hardware. Agora, não vamos passar para a parte de programação e o programa u-blox NINA B302 usando o IDE do Arduino .
Baixando Arduino Bootloader para placa u-blox NINA B302
Para fazer o download do firmware para a placa nRF52840 , você precisa ter um J-Link .
Etapa 1: Baixe o J-Link do seguinte link: https://www.segger.com/downloads/jlink/JLink_Windows.exe
Etapa 2: Faça a seguinte conexão entre o conector J-Link e a placa u-blox NINA B302.
Na nova janela selecione “ Cortex-M0 Board “. Selecione SWD para Interface e velocidade em 4000. E clique em OK.
Etapa 4: Selecione nRF52840_xxAA
Etapa 5: Baixe o firmware nRF52840 Arduino no seguinte link:
https://github.com/Makerfabs/NRF52840/tree/master/Arduino
Etapa 6: Ligue a placa usando a porta MicroUSB. Abra o arquivo e selecione o firmware que você acabou de baixar.
PS: 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.
Etapa 7: Agora clique no alvo. Clique em “ Conectar ”. Isso conectará a placa ao J-Link. Em seguida, selecione Programação manual. Primeiro, apague o chip clicando em “ Apagar Chip “. Assim que o Chip for apagado, agora você pode programar o dispositivo clicando na opção “ Programar e verificar ”.
Você atualizou com sucesso o Arduino Bootloader para a placa breakout u-blox NINA B302
Adicionando nRF52840 ao Board Manager do Arduino IDE (NO FINAL É APRESENTADO PARA O U-BLOX NINA B302)
Agora precisamos instalar as placas no IDE do Arduino. Portanto, siga as seguintes etapas:
Etapa 1: Abra seu IDE Arduino. Clique em Arquivo >>> Preferência
Etapa 2: Copie o seguinte URL do gerente da placa para aseção “ URLs adicionais do gerente da placa ”. E depois de adicionar clique em OK .
Etapa 3: Agora vá para Ferramentas >>>> Placas >>>> Gerenciador de placa
Etapa 4: agora pesquise NRF52840 na caixa de pesquisa.
Portanto, selecione nrf52 Adafruit Option e clique em instalar. Então, depois de um tempo, a placa será instalada com sucesso .
Conecte a USB do u-blox nina B302 no PC
ATENÇÃO, o bootloader usa USB para gravação do NINA B302, OU SEJA, CRIA UMA COMM VIRTUAL, TAMBÉM PARA SER A SERIAL PADRÃO DO ARDUINO
Arduino U-BLOX NINA B302 - 1º Programa - LED piscando
Agora vamos testar a placa escrevendo um código de piscar de LED . Este código simples é como escrever o “ Olá Mundo ” no programa C . Este programa o ajudará a saber se a placa está funcionando ou não. Isso também verifica se o Bootloader foi carregado e está funcionando.
Portanto, pegue um LED de qualquer cor e conecte o pino positivo do LED ao P0.31 (IO20) da BREAKOUT U-BLOX NINA B302. Conecte o pino negativo do LED ao GND.
Aqui está um código Arduino simples. Copie o seguinte código do Arduino e cole-o na janela do Arduino IDE.
Agora compile o código. Após a compilação, selecione a seguinte placa e porta e clique em Upload . Você pode fazer o upload do código para a placa usando a porta USB.
Assim, depois que o código for carregado com sucesso, o LED começará a piscar. Você pode alterar o intervalo de intermitência para verificar mais. Você também pode tentar o mesmo código com alguns outros pinos de entrada/saída.
Agora, vamos passar para a parte principal do u-blox NINA B302, ou seja, a parte de comunicação sem fio .
Aplicativo Adafruit Bluefruit LE Connect
Para interagir com sua placa a partir de seu telefone ou tablet, você usará o aplicativo Adafruit Bluefruit LE Connect . Baixe ou simplesmente instale o aplicativo da Apple App Store ou Google Play App Store
Este aplicativo só funciona se você tiver código em execução na breakout u-blox nina B302. O dispositivo só anunciará quando o código estiver em execução. Isso significa que o dispositivo irá transmitir / mostrar o nome do dispositivo no Android / Apple Phone se o dispositivo estiver em execução.
Portanto, agora vamos executar o código na placa e verificar o funcionamento.
Código / programa Arduino para se comunicar com o aplicativo Bluefruit LE Connect
Foi utilizado o exemplo Pairing_Pin e alterado para ser um gateway
Agora abra o aplicativo Bluefruit LE Connect em seu dispositivo móvel. Conecte-se ao alvo apropriado ' Bluefruit52 '.
Selecione sua placa nRF5 no menu Ferramentas -> Placa->NINA B302 u-blox
suporte@smartcore.com.br
Referências:
https://www.u-blox.com/en/docs/UBX-17056481
https://www.u-blox.com/sites/default/files/NINA-B3_DataSheet_%28UBX-17052099%29.pdf