MBED STUDIO - NINA B112 - LED BLINK
Bluetooth com NINA B112 - Mbed CLI/STUDIO - 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. No final é apresentada a alternativa que é o MBED Studio 1.0
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
Sobre a SMARTCORE
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!
Agora você tem uma opção via IDE ou seja, MBED STUDIO, tornando mais fácil a programação MBED, veja as características:
Com o número de desenvolvedores com uma conta Mbed crescendo 20% desde o lançamento inicial no ano passado, alguns de vocês podem ser novos no Mbed Studio. Aqui está um resumo dos recursos e alguns antecedentes:
Novo: gerenciamento de destino personalizado
Novo: Keil uVision exportador
Novo: Melhores fluxos de trabalho de controle de origem para git e mbed.com
Novo: documentação completamente revisada
Novo: Suporte do Mbed OS 6 com exemplos
Novo: progresso do checkout para bibliotecas adicionadas ao painel de bibliotecas
Conjunto completo de dependências de ferramentas (git, hg, Arm Compiler 6, gdb, pyOCD, Mbed CLI, GreenTea, clangd etc) incluídas no produto junto com o acesso ao terminal a partir do Mbed Studio
Poderoso editor de Mônaco, incluindo C ++ intellisense para sua placa de desenvolvimento e um minimapa de código-fonte
Integração com os Serviços de Gerenciamento de Dispositivos Pelion
Suporte de preferências para o editor e o IDE
Recursos de gerenciamento e pesquisa da área de trabalho
Suporte para Linux (Ubuntu 18)
Saída serial (iniciada automaticamente quando você conecta uma placa)
Depuração de etapas
Suporte personalizado ao perfil de construção
BACKGROUND
Começamos nossa jornada em direção a esta versão do Mbed Studio há cerca de dois anos, com o objetivo de facilitar o desenvolvimento de produtos incorporados e de IoT com o Mbed OS, tanto em ambientes de desktop quanto em navegadores. Lançamos atualizações e melhorias constantemente desde 2019, com seus relatórios e sugestões de bugs nos guiando e nos ajudando a priorizar onde nos concentramos.
Ao fornecer o conjunto completo de dependências de ferramentas de software necessárias para trabalhar com o Mbed OS em um único instalador, o Mbed Studio aprimora drasticamente a primeira vez que é configurado em um ambiente Mbed. Nossa escolha de trabalhar com a estrutura do Eclipse Theia IDE significa que temos uma base de código que inclui o poderoso editor Microsoft Monaco e uma plataforma que pode ser implementada no navegador no futuro. Alguns de vocês já estão ajudando a testar uma visualização fechada da versão do navegador, por isso, obrigado pela sua contribuição até agora!
Por fim, o Mbed Studio substituirá o Online Compiler, e acreditamos que a experiência seja um grande avanço.
Novos recursos na 1.0
Gerenciamento de destino personalizado
Agora suportamos a configuração de hardware personalizado, conectado através de testes de depuração. Inicialmente, concentramos esse suporte em sondas baseadas em ST-Link e DAPLink. O objetivo final é facilitar a passagem de uma placa de desenvolvimento para uma PCB personalizada.
Exportador Keil uVision
Você pode exportar (ou melhor, converter) seu programa para uso com o Keil uVision; portanto, se você enfrentar um desafio difícil de depuração ou quiser usar rastreamento, gravador de eventos ou qualquer outro recurso poderoso de depuração do uVision, poderá abrir seu projeto em uVision. Também adicionamos um exportador de zip.
Publicar no git e os.mbed.com
Introduzimos um novo fluxo para definir um repositório remoto. Portanto, se você criou um repositório no GitHub ou os.mbed.com, agora pode interagir com ele mais facilmente no Mbed Studio.
Suporte para Mbed OS 6
O Mbed OS 6 já é suportado no Mbed Studio e você pode atualizar o Mbed OS 5 para a versão mais recente no painel de gerenciamento de bibliotecas. Para aumentar a velocidade de criação do projeto, introduzimos uma nova versão em cache do Mbed OS 6, além do cache existente do Mbed OS 5.
Como o Mbed OS 6 introduz algumas alterações no suporte à placa, atualizamos o Mbed Studio para que não restrinja mais a escolha do destino com base na versão do sistema operacional. Isso permite que você experimente o perfil bare metal ou obtenha placas da comunidade. Agora exibimos uma notificação para informar se o quadro é suportado em uma determinada versão do sistema operacional.
Documentação
Nossos redatores técnicos trabalharam duro nos últimos meses para atualizar a documentação do Mbed Studio no mbed.com. Eles têm seções atualizadas para a maior parte do IDE, incluindo os novos recursos já mencionados nesta postagem. Você pode acessar os documentos em https://os.mbed.com/docs/mbed-studio/
Correções de bugs
Na 1.0, corrigimos um grande número de problemas. Aqui estão os mais comumente relatados que resolvemos:
Reiniciando o monitor serial depois que ele foi fechado.
9 e 3 teclas com num-lock atuando como página para cima e para baixo após uma alteração no layout do teclado.
Barra de rolagem do navegador de arquivos.
Congelamento ocasional ao conectar placas de desenvolvimento no Windows.
Exemplo do projeto acima no MBED STUDIO com NINA B112 (EVK-NINA-B1)
Compilando
Com o Mbed Studio, você pode importar programas do os.mbed.com, um serviço de hospedagem Git ou seu sistema de arquivos local. Você também pode importar um programa exportado do Mbed Online Compiler ou iniciar com um programa vazio. Você pode criar, executar e depurar programas do Mbed OS em placas de desenvolvimento suportadas pelo Mbed.
Veja aqui com importar um projeto MBED ou criar um novo!
Atenção:
Nota: O Mbed Studio usa pyOCD para se comunicar com a plataforma conectada. Se você tentar executar um programa em uma plataforma com uma versão DAPLink que não seja suportada pelo pyOCD, ele falhará com o código de saída 1. Ainda estamos adicionando suporte ao pyOCD e mais plataformas estarão disponíveis ao longo do tempo. Sugiro ST-LINK-V2.
Tenha certeza que pyocd esteja funcionando!
Atualize o firmware do seu ST-LINK V2
Apagando
Gravando
APP SCANNER
Questões: 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
Comentários
Postar um comentário