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

Nenhum comentário:

Postar um comentário