Cuprins:
Video: Bambus ușor (lampă conectată): 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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
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
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:
Smart B.A.L (cutie poștală conectată): 4 pași
Smart B.A.L (cutie poștală conectată): v-ați săturat să vă verificați de fiecare dată cutia poștală în timp ce nu există nimic înăuntru. Vrei să știi dacă primești poștă sau colet în timpul călătoriei, așa că cutia poștală conectată este pentru tine. Vă va anunța dacă poștașul a depus un e-mail sau un par
Garaj ușor de stare Hack ușor: 3 pași
Garage Door Status Light Hack: Locuiesc într-o casă în care nu este ușor să văd dacă ușa garajului este deschisă sau închisă. Avem un buton în casă, dar ușa nu este văzută. Gândul la ingineria unui fel de întrerupător și de alimentare nu a fost de dorit din cauza pr
DIY MusiLED, LED-uri sincronizate muzicale cu aplicație Windows și Linux cu un singur clic (32-bit și 64-bit). Ușor de recreat, ușor de utilizat, ușor de portat: 3 pași
DIY MusiLED, LED-uri sincronizate muzicale cu aplicație Windows și Linux cu un singur clic (32-bit și 64-bit). Ușor de recreat, ușor de utilizat, ușor de portat: acest proiect vă va ajuta să conectați 18 LED-uri (6 roșii + 6 albastre + 6 galbene) la placa Arduino și să analizați semnalele în timp real ale plăcii de sunet ale computerului și să le retransmiteți la LED-urile pentru a le aprinde conform efectelor de bătăi (Snare, High Hat, Kick)
Anulați ștergerea fișierelor șterse, foarte ușor și ușor de utilizat: 7 pași
Anulați ștergerea fișierelor șterse, foarte ușor și ușor de utilizat: ați șters vreodată un fișier de pe hard disk-ul de rezervă, camera foto, mp3 sau chiar ați golit coșul de reciclare și apoi ați realizat că doriți în continuare acel fișier? Acesta este un mod simplu de a recupera acele fișiere. Am adăugat acest instrucat, pentru că am șters fiecare episod din familia g
Robot ușor: Urmăritor ușor: 4 pași
Easy Robot: Light Follower: Fără programare sau microcipuri! Roboți, cel mai minunat lucru existent, mai ales când o mulțime de oameni îl pot construi! Am primit acest robot de la un prieten. mulțumesc Rudolf.Oricum, acest robot folosește 2 rezistențe dependente de lumină pentru a simți lumina și d