segunda-feira, 14 de dezembro de 2020

U-BLOX NINA B302 recebendo notificações de seu Iphone

 U-BLOX NINA B302 recebendo notificações de seu Iphone

O objetivo deste BLOG é mostrar um exemplo de CircuitPython que permite o NINA B302 possa ver as notificações recebidas pelo Celular Iphone.

Veja o LINK abaixo para saber mais sobre Notificações

https://support.apple.com/pt-br/HT201925

Foi utilizado um módulo U-BLOX NINA B302 para testes

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 EMU, 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!



Na pasta Raiz, copie
 
adafruit_ble_apple_notification_center.mpy
 
Agora é hora de testar o exemplo BLE passo a passo! Digite o programa a seguir:
""" This example solicits that apple devices that provide notifications connect to it, initiates pairing, prints existing notifications and then prints any new ones as they arrive. """ import time import adafruit_ble from adafruit_ble.advertising.standard import SolicitServicesAdvertisement import adafruit_ble_apple_notification_center as ancs # PyLint can't find BLERadio for some reason so special case it here. radio = adafruit_ble.BLERadio() # pylint: disable=no-member a = SolicitServicesAdvertisement() a.solicited_services.append(ancs.AppleNotificationCenterService) radio.start_advertising(a) while not radio.connected: pass print("connected") known_notifications = set() while radio.connected: for connection in radio.connections: if not connection.paired: connection.pair() print("paired") ans = connection[ancs.AppleNotificationCenterService] for notification in ans.wait_for_new_notifications(): print(notification) print(len(ans.active_notifications)) time.sleep(1) print("disconnected")
Execute em seu celular o BLE Scanner, procure por CIRCUITPY então se conecte a ele. 
 
Este exemplo solicita que os dispositivos Apple que fornecem notificações se conectem a ele, inicie emparelhamento, imprime notificações existentes e, em seguida, imprime as novas assim que chegam.

 
Aceite! 


Configure aqui quem deve Notificar ou Não! 

Recebendo Notificação da CBS

Veja U-BLOX NINA B302 recebendo a mesma notificação da CBS
Se você salvar com o nome code.py, toda vez que resetar o NINA B302, ele já vai executar.

Questões: suporte@smartcore.com.br

FONTES: 

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
https://codewith.mu/

https://circuitpython.org/

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

Acessando U-BLOX NINA B302 via BLE SERIAL

 Acessando U-BLOX NINA B302 via BLE SERIAL

Transmitindo "e" Recebendo Dados

O objetivo deste BLOG é mostrar um exemplo de CircuitPython que permite o NINA B302 se comunicar com o celular via Bluetooth e mandar e receber Dados, conhecido como BLE SERIAL, uma das formas mais parecidas com a UART SERIAL, modo TERMINAL.

BLE serial também é comum no U-BLOX NINA W102

 Foi utilizado um módulo U-BLOX NINA B302 para testes

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 EMU, 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:
 
# Basic example for using the BLE Connect UART # To use, start this program, and start the Adafruit Bluefruit LE Connect app. # Connect, and then select UART. Any text received FROM the connected device # will be displayed. Periodically, text is sent TO the connected device. import time from adafruit_ble import BLERadio from adafruit_ble.advertising.standard import ProvideServicesAdvertisement from adafruit_ble.services.nordic import UARTService SEND_RATE = 10 # how often in seconds to send text ble = BLERadio() uart_server = UARTService() advertisement = ProvideServicesAdvertisement(uart_server) count = 0 while True: print("WAITING...") # Advertise when not connected. ble.start_advertising(advertisement) while not ble.connected: pass # Connected ble.stop_advertising() print("CONNECTED") # Loop and read packets last_send = time.monotonic() while ble.connected: # INCOMING (RX) check for incoming text if uart_server.in_waiting: raw_bytes = uart_server.read(uart_server.in_waiting) text = raw_bytes.decode().strip() # print("raw bytes =", raw_bytes) print("RX:", text) # OUTGOING (TX) periodically send text if time.monotonic() - last_send > SEND_RATE: text = "COUNT = {}\r\n".format(count) print("TX:", text.strip()) uart_server.write(text.encode()) count += 1 last_send = time.monotonic() # Disconnected print("DISCONNECTED")
 
Execute em seu celular o BLE Scanner, procure por CIRCUITPY então se conecte a ele. Digite novamente e veja que estará conectado.
 



 
 
 



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

Questões: suporte@smartcore.com.br

FONTES: 

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
https://codewith.mu/

https://circuitpython.org/

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

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