Familia u-blox NINA: o coração do seu produto IoT com BLE, Bluetooth e WiFi:
BLOGS
FAQ - NINA
1) Como gravo o NINA W102 ?
Via serial e JTAG. O mais comum é serial, via bootloader.
2) Como gravo o NINA B112/B302 ?
Via serial (USB) (previamente gravado com BOOTLOADER) ou via serial DFU.
3) São mecanicamente compatíveis nina W e B ?
O objetivo é que você consiga fazer um projeto único que possa acomodar as diferentes versões de módulo NINA, mesmo que eventualmente um deles tenha mais ou menos interfaces / IOs que o outro.
Sugerimos seguir o “Nested Reference Design” da u-blox:
veja aqui NINA Nested Reference Design
Lembramos ainda do serviço gratuito de revisão de esquemático e layout da u-blox, que máxima o sucesso do seu projeto, bastando enviar para nós esquemático (PDF) e layout (PDF + gerber).
4) Qual o core do NINA-B1 e B3?
O NINA-B1 utiliza o NRF52832. O NINA-B3 utiliza o NRF52840.
5) Qual o core do NINA-W1 ?
ESP32/2Mb FLASH
6) NINA-B tem comandos-AT ?
Sim, NINA B312 e NINA B112.
7) NINA-W tem comandos-AT ?
A versao opencpu não. Tem que compilar o da ESPRESSIF. Veja blog específico. Suporte da Espressif. W-152 tem comandos AT.
8) Posso rodar aplicações Arduino no NINA ?
Sim, tanto nos NINA B112,B302 bem como NINA W102
9) A partir de qual versão de firmware com comandos AT (U-BLOX) do NINA-B112 posso atualizar via Serial
A partir da 2.0. Inferior tem que via J-TAG SWD.
10) O que é Softdevice no NINA-B112/B302 ?
É a pilha BLE.
11) Quais pinos mínimos deveM ser ligados no NINA-W ?
GND, VCC, TXD, RXD, BOOTLOADER, RESET
11) Quais pinos mínimos devem ser ligados no NINA-B112 (CASO USES COMANDOS AT) ?
1-Red
7-Green – SW1
8- Blue
16 - DSR
17- DTR
18- SW2
20 – RTS
21- CTS
22 – TXD
23-RXD
11-SWCLK
15-SWDIO
12) Que linguagem você já rodou no NINA B302/B112 (opencpu)
Javascript, C SDK NORDIC, CircuitPython, C Arduino, Mbed,VISUINO, RUST
13) Algum RTOS no B302,B112?
OpenThread, Zephyr, MyNewt, Riot
14) Que linguagem você já rodou no NINA W102 (opencpu)
Javascript, C ESPRESSIF, Lua, C Arduino, VISUINO
15) A função dos pinos do NINA-B e NINA-W podem ser alteradas ?
Baseado no core, sim!
15) Qual a melhor o SDK para programar o NINA-B112/B302 ?
O SDK da própria NORDIC
16) Qual o mais completo SDK para programar o NINA-W102 ?
ESP-IDF da ESPRESSIF
17) Quais gravadores posso utilizar para o NINA B112/B302 ?
O kit de desenvolvimento u-blox possui integrado o Segger JTAG.
Alternativamente você pode utilizar o módulo Segger JTAG ou o Dap-Link ou ST-LINK V2.
18) Quais são alguns bons Frameworks
Platformio (para NINA W102 e NINA B302), Segger Studio (NINA B112), VisualGBD (W102), Eclipse PLUGIN (W102)
19) Em relação ao BLE, posso implementar o protocolo SPP ?
Pode ser emulado via BLE GAT (SPS)
20) OpenCpu ou comandos AT ?
Ao utilizar OpenCPU você pode embarcar sua aplicação e otimizar o seu projeto.
21) Quero desenvolver uma APP, recomenda algum SDK
https://github.com/search?q=org%3Au-blox+u-blox-BLE
22) Onde baixo a versão mais recente dos comandos AT para NINA- B112/B312 ?
Veja BLOG
23) Qual diferença entre NINA B30X e NINA B31X ?
O B3 tem segurança de hardware no B311 / 312, portanto, somente o firmware do u-blox será executado, se o cliente quiser fazer o flash com o próprio aplicativo do SWD, é necessário solicitar um B301 / B302.
24) Algum SDK bom para implementar APP para celular ?
Tanto para iOS quanto para Android, oferecemos amostras de código-fonte para aplicativos que suportam placas de planta SPS e B200,
É gratuito para o cliente usar nosso código como ponto de partida para o aplicativo, para evitar a gravação da parte do Serviço de porta serial.
https://github.com/search?q=org%3Au-blox+u-bloxBLE
Verifique de tempos em tempos, estou trabalhando para atualizar a versão do iOS para o mais recente.
APP INVENTOR, RAD STUDIO
25) No modo extended mode, nao tenho acesso +++ para entrar no command mode, o que faço ?
Geralmente, uma vez no modo EDM, você não precisa sair, os dados e os comandos podem ser enviados.
Se for enviada a ATO2 para entrar no EDM, pode-se enviar um reset ou um CPWROFF (AA 00 0E 00 44 41 54 2B 43 50 57 52 4F 46 46 0D 0A 55)
Se você definir AT+UMSM=2 e aparecer depois de ligar, será necessário enviar
AT+UMSM=0, AT&W e CPWROFF
26) Uso BLE com comandos AT ou via aplicação embarcada ?
Depende de vários fatores: o seu conhecimento em sobre BLE, o seu conhecimento em programação.
27) Como testar os comandos AT no NINA B112/B312
Software S-CENTER.
28) Pq usar um J-TAG SEGGER no NINA ?
Rápido para atualizar firmware e depurar!
29) Gravei o firmware dos comandos AT para NINA B1, mas ao dar boot, não vejo nada na serial
Você deve colocar o CTS e RTS em curto
30) Tem comandos AT para NINA W102 ?
Sim, da espressif. Veja BLOG.
31) Imagine 500 dispositivos em repouso, eles acordam aleatoriamente para enviar alguns bytes para o" mestre NINA-B302 ", então quantos dispositivos seriam capazes de suportar está mais relacionado ao througput e os faz acordar em timings diferentes ?
Há 2 modos para gerenciar esse problema:
Se você tem todas as unidades quietas, a menos que haja uma atualização de dados, quando há uma atualização existente o módulo anuncia (ou seja, aumenta o número), a central a vê, conecta, obtém dados e para de anunciar, a conexão é fechada, dessa forma o máximo número de dispositivos não é um problema, mas seria mais de quantas atualizações acontecem por segundo. Isso também pressupõe que tudo seja feito através de 1 central.
Em segundo lugar, dados de publicidade. Um pacote de propaganda BLE ocupa apenas cerca de 300-400 micro segundos de canal. Assim, idealmente, deve haver espaço para cerca de 2.500 pacotes por segundo. Se os dispositivos não anunciarem mais de uma vez por segundo, se eles forem configurados para alguma aleatoriedade no momento, todos os 500 deverão ser vistos se a verificação tiver sido feita por alguns segundos.
https://electronics.stackexchange.com/questions/73720/how-to-scan-for-all-available-beacons-with-ble
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5751532/
tem algumas boas informações sobre o intervalo de varredura e a janela de varredura, pois a publicidade é feita em 3 dos canais BLE.
32) Exemplo de comandos AT para NINA B em modo Central e Peripheral (extended mode)
Na inicialização:
"ATE0\r"; // desativar echo
"AT+UMRS=115200,2,8,1,1\r"; // define configuracao = 115200 baudrate, 2(sem flowcontrol CTS/RTS), 8 bits, 1 (sem paridade), 1 (mudar config apos ok)
// Define o papel do bluetooth como central e periferico
// Para comunicar com modulo interno (central) e ao mesmo tempo com usuario (peripheral)
"AT+UBTLE=3\r";
// configura maximo de conexoes para 2
"AT+UBTCFG=2,1\r";
// modo extended dados para inicializacao
AT+UMSM=1\r";
// grava as configuracoes
"AT&W\r";
// reinicia o modulo NINA B112
"AT+CPWROFF\r";
Quando usuário solicita uma conexão:
"AT+UDDRP=1,sps://" + endereco + ",2\r";
// modo extended data
"AT+UMSM=1\r";
// salva os dados
"AT&W\r";
// reinicia o modulo
"AT+CPWROFF\r";
// entra no modo de dados, caso não tenha inicializado assim
"ATO1\r";
Sequencia de comandos no PERIFERICO:
"ATE0\r"; // desativar echo
"AT+UMRS=115200,2,8,1,1\r"; // define configuracao = 115200 baudrate, 2(sem flowcontrol CTS/RTS), 8 bits, 1 (sem paridade), 1 (mudar config apos ok)
// entra no modo de dados,
"ATO1\r";
33) Posso gravar uma aplicação no NINA B1 e B3 usando o ST-LINK V2 ?
Sim, veja o blog abaixo
https://pcbreflux.blogspot.com/2016/09/nrf52832-first-steps-with-st-link-v2.html
34) Seu W102 programado com Arduino apresentou alguma vez este erro ?
assertion "offset == dataSize" failed: file "/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/nvs_flash/src/nvs_storage.cpp", line 438, function: esp_err_t nvs::Storage::readMultiPageBlob(uint8_t, const char, void, size_t)
É hora de fazer um FLASH ERASE
35) Por onde começar a estudar o NINA B302 ?
Três dicas para você começar:
Ele tem um exemplo prático de GPIO (LEDs e botões) on-board da placa de desenvolvimento nRF52840 (nRF52840-DK) interagindo com as Ferramentas de desenvolvimento BLE no seu telefone. Permite alternar o LED integrado e detectar o estado dos botões na placa (siga o link abaixo para começar). O Novelbits também oferece um curso se você decidir se aprofundar.
https://www.novelbits.io/cross-platform-nrf-development-tutorial/
https://www.novelbits.io/smart-ble-lightbulb-application-nrf52/
Os engenheiros da Nordic estão ativos no fórum. Eles poderão ajudá-lo com sua depuração. Eu não levantei perguntas no fórum pessoalmente, porque elas as responderam.
O link abaixo é para ajudá-lo a iniciar o desenvolvimento de hardware e firmware com a placa nRF52.
https://devzone.nordicsemi.com/b/blog/posts/advice-for-designing-with-thenrf52
A equipe nórdica fornece vários exemplos. Varia de GPIO, interrupções, SPI, TWI a diferentes modos sem fio. Você pode combiná-los, dependendo do que você precisa. Também ajuda a equipe nórdica a ajudá-lo se eles souberem que você está usando os exemplos deles.
Os exemplos estão na pasta examples, no diretório principal do SDK. SEGGER STUDIO é uma ótima ferramenta para compilá-los.
36) Exemplos BARE-METAL para NRF52832
https://github.com/andenore/NordicSnippets
37) Qual o processador do NINA W102
ESP32-D0WDQ6-V3
38) B112, B302, B312, quais diferenças ?
B112 (vem com comandos AT e é opencpu)
B302 (opencpu)
B312 (vem com comandos AT e não é opencpu)
39) Serigrafia dos Pinos EVK-NINA-B e W
B = GPIOS do módulo
W=GPIOS do CHIPSET
40) Frameworks para NINA B302
SDK nRF5 |
Kit oficial de desenvolvimento de software para as séries nRF51 e nRF52 |
|
nRF5 SDK para mesh |
Kit de desenvolvimento de software para soluções de mesh Bluetooth usando as séries nRF51 e nRF52 |
|
OpenThread |
Uma implementação de código aberto do Thread® lançada pela Nest |
|
Arm Mbed OS |
Um sistema operacional de plataforma de código aberto projetado para a Internet das Coisas |
|
Zephyr |
Um RTOS pequeno e escalável de código aberto para dispositivos embarcados na Internet das Coisas |
|
Mynewt |
Um sistema operacional para criar, implantar e gerenciar com segurança bilhões de dispositivos |
|
Arm Mbed DAPLink |
Um projeto de software de código aberto que permite aplicativos de programação e depuração em execução nos CPUs Arm Cortex |
|
Web Bluetooth |
Suporte Bluetooth para a Web |
|
iBeacon |
Um formato de mensagem de publicidade de baixa energia Bluetooth desenvolvido pela Apple |
|
Eddystone |
Uma especificação de protocolo que define um formato de mensagem de baixa energia Bluetooth para mensagens de proximidade |
|
CircuitPython |
Uma linguagem Python para microcontroladores projetada para simplificar a experimentação e o aprendizado |
|
TinyGo |
Compilador Go para dispositivos pequenos, com base no LLVM |
|
Rust para nrf52840-mdk |
Suporte de Rust para a placa |
|
Riot |
The friendly Operating System for the Internet of Things |
A SmartCore fornece chips e módulos para comunicação wireless, biometria, conectividade, rastreamento e automação. Nosso portfólio inclui modem 2G/3G/4G/NB-IoT, satelital, módulos WiFi, Bluetooth, GPS, Sigfox, RPMA, LoRa, leitor de cartão, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.