Taula de continguts:

Bambú clar (llum connectada): 3 passos
Bambú clar (llum connectada): 3 passos

Vídeo: Bambú clar (llum connectada): 3 passos

Vídeo: Bambú clar (llum connectada): 3 passos
Vídeo: Solving Common AMS Problems on Your Bambu Lab 3D Printer: Tips and Tricks 2024, Desembre
Anonim
Bambú clar (llum connectada)
Bambú clar (llum connectada)

Hola i benvingut!

El bambú clar és un llum connectat que s’encén quan es rep una notificació al telèfon intel·ligent Android al qual està connectat. L'objectiu d'aquest instructiu és mostrar-vos l'etapa de disseny del projecte: des de l'arquitectura de maquinari fins a la connexió Bluetooth Low Energy (BLE) i l'edifici d'aplicacions d'Android.

Per a la nostra làmpada, vam triar una planta de plàstic per a un disseny decoratiu fresc. Per a aquest projecte, les notificacions que es mostren provenen de les següents aplicacions: trucades, sms / mms, facebook, messenger, instagram, whatsapp i gmail. S'atribueix un color clar per a cada tipus de notificació.

Per a aquest projecte, necessitareu:

  • Un uC amb un mòdul BLE integrat: nFR51822 RedBearLab
  • 3 anells NeoPixel (12 LED RGB)
  • Un telèfon intel·ligent Android
  • Android Studio

Cada notificació té una prioritat específica, en funció de la seva importància. Per exemple, una notificació de trucada entrant és més important que una notificació de Facebook. En aquest cas, el color dels LED s’associarà a la notificació de trucada entrant.

El telèfon intel·ligent en què vam desenvolupar l’aplicació és un Samsung Galaxy A5.

Pas 1: part del maquinari

Part del maquinari
Part del maquinari

La nostra arquitectura és força senzilla.

Connecteu els pins NeoPixel Ring a la placa nRF51822 de la següent manera:

  • Pin de dades d'entrada del NeoPixel Ring al port 3 de la uC.
  • Vcc de l'anell NeoPixel a 3,3V de la uC.
  • GND de l’anell NeoPixel al GND de l’UC.

Podeu notar que no fem servir el pin de dades de sortida de l’anell NeoPixel. Això es deu al fet que els pins de dades d'entrada dels tres anells NeoPixel que utilitzem en aquest projecte estan tots connectats al mateix port de la placa nRF51822 (pin 3).

Pas 2: part del programari

Part del programari
Part del programari
Part del programari
Part del programari
Part del programari
Part del programari

1. La comunicació Bluetooth de baix consum:

En una comunicació BLE, el servidor (que és el nostre cas l’UC) i el client (el telèfon intel·ligent) intercanvien dades mitjançant transaccions GATT. En aquestes transaccions, les dades s’organitzen jeràrquicament en seccions anomenades serveis, que agrupen peces conceptualment relacionades de dades d’usuari anomenades característiques. En el nostre cas, l’encapsulament de dades és senzill, ja que només tenim una informació per passar del client al servidor (vegeu la imatge superior).

  • al costat del servidor: per poder utilitzar la placa nrf51822 com a servidor BLE, primer instal·leu la biblioteca "BLEPeripheral.h" a l'IDE Arduino. Aquesta biblioteca ofereix funcions a punt per utilitzar per crear serveis i característiques i publicitat.
  • al costat del client: per iniciar una comunicació BLE a Android Studio, primer configureu els permisos BLE al fitxer Manifest. A continuació, al fitxer activity_main.xml, afegiu 4 botons: escanejar, aturar l'exploració, connectar-se i desconnectar que permetran a l'aplicació cercar dispositius BLE propers, aturar l'exploració, connectar-se i desconnectar-se d'un dispositiu. Al fitxer main_activity.java, implementeu les funcions associades als botons anteriors: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Finalment, implementeu les funcions de devolució de trucada que es criden quan canvia l'estat del client..

2. Gestió de notificacions

  • al costat del client (a Android Studio): per escoltar les notificacions que provenen del telèfon intel·ligent, implementeu un oient de notificacions que s'activa quan es produeix una notificació a la barra d'estat. Aquest oient de notificacions enviarà un "missatge", anomenat intenció, a l'activitat principal quan es publiqui o s'elimini una notificació. Aquest "missatge" conté un codi de notificació que ajuda a identificar l'aplicació que ha publicat la notificació. Per processar la notificació a l'activitat principal, creeu un receptor de difusió que rebrà el missatge de l'oient de notificacions. Després, en funció del codi de notificació, s’envia un caràcter diferent al servidor.
  • al costat del servidor (a Arduino IDE): es mostra la notificació que té la màxima prioritat.

Pas 3: Pas 3: annexos

Aquí trobareu tota la font del codi.

Recomanat: