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.




Há várias opções para compilares o programa MBED.

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/

No caso, escolhemos MBED OFFLINE, então:

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

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

Após instalá-los

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

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


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(LED11),
        _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


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

Postagens mais visitadas deste blog

U-BLOX NINA B112 ACESSANDO MODEM GSM VIA MBED STUDIO

MBED STUDIO - NINA B112 - LED BLINK