Cuprins:

Bambus ușor (lampă conectată): 3 pași
Bambus ușor (lampă conectată): 3 pași

Video: Bambus ușor (lampă conectată): 3 pași

Video: Bambus ușor (lampă conectată): 3 pași
Video: Ce înseamna semnul tau din nastere 2024, Noiembrie
Anonim
Bambus ușor (lampă conectată)
Bambus ușor (lampă conectată)

Bună și bunvenit!

Bambusul ușor este o lampă conectată care se aprinde când se primește o notificare pe smartphone-ul Android la care este conectat. Scopul acestui instructable este să vă arate etapa de proiectare a proiectului: de la arhitectura hardware, la conexiunea Bluetooth Low Energy (BLE) și construirea aplicației Android.

Pentru lampa noastră, am ales o plantă de plastic pentru un design decorativ rece. Pentru acest proiect, notificările afișate provin din următoarele aplicații: apeluri, sms / mms, facebook, messenger, instagram, whatsapp ang gmail. Se atribuie o culoare deschisă pentru fiecare tip de notificare.

Pentru acest proiect, veți avea nevoie de:

  • Un UC cu un modul BLE integrat: nFR51822 RedBearLab
  • 3 inele NeoPixel (12 LED-uri RGB)
  • Un smartphone Android
  • Android Studio

Fiecare notificare are o prioritate specifică, în funcție de importanța acesteia. De exemplu, o notificare de apel primit este mai importantă decât o notificare Facebook. În acest caz, culoarea LED-urilor va fi asociată cu notificarea apelului primit.

Smartphone-ul pe care am dezvoltat aplicația este un Samsung Galaxy A5.

Pasul 1: partea hardware

Partea hardware
Partea hardware

Arhitectura noastră este destul de simplă.

Conectați pinii NeoPixel Ring la placa nRF51822 după cum urmează:

  • Pinul Inout Data al NeoPixel Ring la portul 3 al uC.
  • Vcc inelului NeoPixel la 3,3V uC.
  • GND al inelului NeoPixel la GND al uC.

Puteți observa că nu folosim pinul de date de ieșire al inelului NeoPixel. Acest lucru se datorează faptului că pinii de date de intrare ai celor trei inele NeoPixel pe care le folosim în acest proiect sunt conectați toți la același port al plăcii nRF51822 (pinul 3).

Pasul 2: Partea software

Partea software
Partea software
Partea software
Partea software
Partea software
Partea software

1. Comunicarea Bluetooth cu consum redus de energie:

Într-o comunicare BLE, serverul (care este în cazul nostru uC) și clientul (smartphone-ul) fac schimb de date folosind tranzacții GATT. În acele tranzacții, datele sunt organizate ierarhic în secțiuni numite servicii, care grupează bucăți de date legate de concept denumite caracteristici. În cazul nostru, încapsularea datelor este simplă, deoarece avem doar o informație de transmis de la client la server (a se vedea imaginea de mai sus).

  • pe partea serverului: Pentru a putea utiliza placa nrf51822 ca server BLE, mai întâi instalați biblioteca "BLEPeripheral.h" pe Arduino IDE. Această bibliotecă oferă funcții gata de utilizat pentru crearea serviciilor și caracteristicilor și a publicității.
  • din partea clientului: pentru a porni o comunicare BLE în Android Studio, configurați mai întâi permisiunile BLE în fișierul Manifest. Apoi, în fișierul activity_main.xml, adăugați 4 butoane: scanare, oprire scanare, conectare și deconectare care vor permite aplicației să scaneze dispozitivele BLE din apropiere, să oprească scanarea, să se conecteze și să se deconecteze de la un dispozitiv. În fișierul main_activity.java, implementați funcțiile asociate butoanelor anterioare: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected ()..

2. Managementul notificărilor

  • din partea clientului (pe Android Studio): pentru a asculta notificările care vin de pe smartphone, implementați un ascultător de notificări care este activat atunci când apare o notificare în bara de stare. Acest ascultător de notificări va trimite un „mesaj”, numit intenție, către activitatea principală atunci când o notificare este postată sau eliminată. Acest „mesaj” conține un cod de notificare care ajută la identificarea aplicației care a postat notificarea. Pentru a procesa notificarea în activitatea principală, creați un receptor de difuzare care va primi mesajul de la ascultătorul de notificări. Apoi, în funcție de codul de notificare, un alt caracter este trimis la server.
  • pe partea serverului (pe Arduino IDE): este afișată notificarea care are cea mai mare prioritate.

Pasul 3: Pasul 3: Anexe

Aici veți găsi toată sursa de cod.

Recomandat: