domingo, 28 de abril de 2019

Programando BLE no CircuiPython NINA B302

Programando BLE no CircuiPython NINA B302

O objetivo deste BLOG é mostrar um exemplo de CircuitPython que permite o NINA B302 se comunicar com o celular via Bluetooth e mandar strings.
Foi utilizado um módulo para o teste.



Diferente do NINA B1, o B302 tem uma USB a qual permite que você possa criar um COM virtual e MSD e copiar os programas, graças ao bootloader do time da Adafruit.

Adafruit Team


1) Montagem

Um cabo USB foi soldado em D+, D-, GND e VBUS do NINA B302



2) Com seu gravador SEGGER J-TAG, será necessário gravar o BOOTLOADER da Adafruit

Instale os drivers da Adafruit



Também copie o SoftDevice





3) Conecte a USB no seu PC e os drivers serão instalados. Uma MSD vai aparecer, copie para ele o arquivo abaixo.


Este arquivo é o python Engine!

Instale

adafruit_drivers_2.3.4.0.exe

Altere em Adafruity_usbser.inf, caso contrário, o Windows não vai detectar o CDC (Serial)


USB\VID_1B4F&PID_5289&REV_0100&MI_00

4) Desconecte e conecte a USB no seu PC e os novos drivers serão instalados. Uma COM virtual aparecerá, na figura abaixo, apareceu COM55 e um MSD 


A COM é para ser o terminal de comunicação serial com o PYTHON, o MSD (CIRCUITPY) é para transferir o SCRIPT PYTHON

5) Executando um script python

Execute o emulador de terminal Teraterm, abra a COM e tecle CONTROL-D, você verá as boas vindas do Python.


Será necessário agora baixar os módulos (libraries) compilados para executar com programa BLE.

Entre no link 


E baixe a última versão dos módulo.

adafruit-circuitpython-bundle-versao.x-mpy-20190426.zip


Crie uma pasta "lib" no drive CIRCUITPY e descompacte a pasta abaixo!




Agora é hora de testar o exemplo BLE passo a passo! Digite o programa a seguir:



from adafruit_ble.uart import UARTServer uart = UARTServer() uart.start_advertising() uart.connected




Execute em seu celular o BLE Scanner, procure por CIRCUITPY então se conecte a ele. Digite novamente e veja que estará conectado.


Em SERVICES no celular, você verá NORDIC UART SERVICE, click nele. Então faça um WRITE TEXT na "characteristic" NORDIC UART RX


"hello!"


Agora você você pode mandar uma mensagem de volta para o BLE Scanner




Se você salvar com o nome code.py, toda vez que resetar o NINA B302, ele já vai executar.

ERRATA:
SERIGRAFIA DOS PINOS DO LADO DIREITO SUPERIOR
(NOMES DOS PINOS REPOSICIONADOS)




Questões: suporte@smartcore.com.br

FONTES: 

https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/introduction
https://learn.sparkfun.com/tutorials/nrf52840-development-with-arduino-and-circuitpython/all
https://www.u-blox.com/sites/default/files/NINA-B3_DataSheet_%28UBX-17052099%29.pdf
https://forums.adafruit.com/viewtopic.php?f=60&t=148531&start=30
https://circuitpython.readthedocs.io/en/2.x/shared-bindings/microcontroller/__init__.html?highlight=microcontroller
https://www.youtube.com/watch?v=bserx54ZJPM&list=PLKGiH5V9SS1g90s9mHTMPJT1i8N4fXWNT&index=2&t=0s

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

Nenhum comentário:

Postar um comentário