MBED BLE - NINA B112
Bluetooth com NINA B112 - Mbed CLI - Controlando LED via Celular
O objetivo deste BLOG é mostrar a instalação básica de software necessária para efetuar testes dos softwares exemplos BLE da Mbed no seu NINA B112. O exemplo transforma o NINA B112 em um BLE o qual pode ser comandado via APP para acender ou apagar um LED. Foi utilizado o EVK-NINA-B.
Mbed online - trata-se de um compilador ONLINE Mbed,
ou seja, você compila na nuvem e recebe arquivo executável para você gravar no
NINA B1. Tem vários exemplos para BLUETOOTH e o que chama a atenção é que você
pode exportar o projeto para várias IDE. Utiliza SDK da Mbed.
Mbed offline (linha de comando) - neste modo,
tudo é feito com linhas de comando, instalação, compilação, gravação. Requer editor
para edição e compilador é o Mbed versão offline, GCC. Utiliza SDK da
Mbed. Tem vários exemplos para BLUETOOTH e acesso ao Hardware.
https://os.mbed.com/docs/v5.7/tutorials/quick-start-offline.html
Mbed eclipse - se você conhece o eclipse, pode
importar o projeto que gerou com o Mbed online, normalmente há uma chamada do
MAKEFILE, o qual chama o GCC. Utiliza
SDK da Mbed. Tem vários exemplos para BLUETOOTH e acesso ao Hardware.
https://os.mbed.com/compiler/
Agora também, o MBED STUDIO.
Similar ao Platformio
https://os.mbed.com/studio/
Agora também, o MBED STUDIO.
Similar ao Platformio
https://os.mbed.com/studio/
No Link
Há uma série de exemplos que mostram como efetuar testes com BLE entre o NINA B112 e seu celular
Vamos baixar o exemplo do LED BLE, mas antes
Vamos baixar o exemplo do LED BLE, mas antes
Instale GIT em seu computador
Instale MBED offline em seu computador (CLI) (Sempre mantenha atualizado!)
https://os.mbed.com/docs/mbed-os/v5.15/introduction/index.html , sugiro o executável!
Requer Python 2.7.14
Requer Python 2.7.14
Após instalá-los
Escolha o exemplo
Escolha o exemplo
https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-ble-LED/
Click em IMPORT WITH CLI
E escolha IMPORT WITH CLI e então copy past
Click em IMPORT WITH CLI
mbed import http://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-ble-LED/
C:\>mbed import http://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-ble-LED/
[mbed] Working path "C:\" (program)
[mbed] Importing program "bed-os-example-ble-LED" from "https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-ble-LED" at latest revision in the curre
nt branch
[mbed] Adding library "mbed-os" from "https://github.com/ARMmbed/mbed-os" at rev #5941d1718339
[mbed] Adding library "shields\TARGET_CORDIO_BLUENRG" from "https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1" at rev #811f3fea7aa8
[mbed] Auto-installing missing Python modules (colorama, urllib3, prettytable, junit_xml, pyyaml, jsonschema, future, six, mbed_cloud_sdk, requests, idna, pyser
ial, jinja2, intelhex, mbed_ls, mbed_host_tests, mbed_greentea, beautifulsoup4, pyelftools, manifest_tool, icetea, pycryptodome, pyusb, hidapi, cmsis_pack_manag
er, pywin32, wmi, psutil)...
C:\>
cd mbed-os-example-ble-LED
mbed deploy
mbed update
$ cd mbed-os
$ mbed update master # This will update "mbed-os", not "my-program"
Para compilar, execute
mbed compile -t <ARM | GCC_ARM> -m <YOUR_TARGET>
Onde<YOUR_TARGET> =UBLOX_EVK_NINA_B1
Aguarde....
Logo
mbed compile -t GCC_ARM -m UBLOX_EVK_NINA_B1
Aguarde....
Se tudo deu certo, você terá esta imagem (SOFDEVICE JÁ INCLUÍDO NO CÓDIGO)
Quando você executa o comando mbed compile, como fez anteriormente, o mbed cli cria um BIN ou um arquivo HEX em um diretório BUILD / <target-name> / <toolchain> sob o diretório do exemplo. Arraste e solte o arquivo no armazenamento removível.
Para efetuar a gravação voce pode usar o J-LINK SEGGER ou um DAP-LINK. No caso utilizamos o J-LINK SEGGER, através do Software J-FLASH lite
Selected file: C:/mbed-os-example-ble-LED/BUILD/UBLOX_EVK_NINA_B1/GCC_ARM/mbed-os-example-ble-LED.hex
Pronto, gravado!
Agora abre o APP ble SCANNER
Onde está o LED no NINA B112
C:\mbed-os-example-ble-LED\mbed-os\targets\TARGET_NORDIC\TARGET_NRF5x\TARGET_NRF52\TARGET_MCU_NRF52832\TARGET_MTB_UBLOX_NINA_B1>dir O volume na unidade C não tem nome. O Número de Série do Volume é 5EAA-F512 Pasta de C:\mbed-os-example-ble-LED\mbed-os\targets\TARGET_NORDIC\TARGET_NRF5x\TARGET_NRF52\TARGET_MCU_NRF52832\TARGET_MTB_UBLOX_NINA_B1 28/03/2020 10:44 <DIR> . 28/03/2020 10:44 <DIR> .. 28/03/2020 10:44 728 device.h 28/03/2020 10:44 3.059 PinNames.h 2 arquivo(s) 3.787 bytes 2 pasta(s) 46.404.878.336 bytes disponíveis C:\mbed-os-example-ble-LED\mbed-os\targets\TARGET_NORDIC\TARGET_NRF5x\TARGET_NRF52\TARGET_MCU_NRF52832\TARGET_MTB_UBLOX_NINA_B1>
E olhando para o código fonte
public: LEDDemo(BLE &ble, events::EventQueue &event_queue) : _ble(ble), _event_queue(event_queue), _alive_led(LED1, 1), _actuated_led(LED2, 0), _led_uuid(LEDService::LED_SERVICE_UUID), _led_service(NULL), _adv_data_builder(_adv_buffer) { }
e olhando para PinNames.h
LED1 = p4, // Red LED
LED2 = p10, // Green LED
Ele vai acender o LED RGB do EVK-NINA-B quando você escrever 01 e apagar quando escrever 00.
Outro LED (LED2) ficará piscando a cada segundo!
Questoes: suporte@smartcore.com.br
FONTES:
https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-ble-LED//file/4c62b7c6081a/source/
https://www.u-blox.com/sites/default/files/NINA-B1_DataSheet_%28UBX-15019243%29.pdf
https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-ble-LED//file/4c62b7c6081a/source/
https://www.u-blox.com/sites/default/files/NINA-B1_DataSheet_%28UBX-15019243%29.pdf
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