Obsah:

Svetlý bambus (pripojená lampa): 3 kroky
Svetlý bambus (pripojená lampa): 3 kroky

Video: Svetlý bambus (pripojená lampa): 3 kroky

Video: Svetlý bambus (pripojená lampa): 3 kroky
Video: Как вырастить бамбук счастья у себя дома 🍀 Драцена Сандера домашние растения 2024, November
Anonim
Svetlý bambus (prepojená lampa)
Svetlý bambus (prepojená lampa)

Ahoj a Vitaj!

Svetlý bambus je pripojená lampa, ktorá sa rozsvieti, keď je na smartfóne s Androidom, ku ktorému je pripojený, prijaté upozornenie. Cieľom tohto návodu je ukázať vám fázu návrhu projektu: od hardvérovej architektúry po pripojenie Bluetooth Low Energy (BLE) a budovanie aplikácií pre Android.

Pre našu lampu sme vybrali závod na výrobu plastov pre chladný dekoračný dizajn. Pre tento projekt sú zobrazené oznámenia z nasledujúcich aplikácií: hovory, sms/mms, facebook, messenger, instagram, whatsapp a gmail. Každému typu oznámenia je priradená jedna svetlá farba.

Na tento projekt budete potrebovať:

  • UC s integrovaným modulom BLE: nFR51822 RedBearLab
  • 3 prstence NeoPixel (12 RGB LED diód)
  • Smartfón s Androidom
  • Android Studio

Každé upozornenie má konkrétnu prioritu v závislosti od jeho dôležitosti. Napríklad upozornenie na prichádzajúci hovor je dôležitejšie ako upozornenie na Facebooku. V takom prípade bude farba diód LED priradená k upozorneniu na prichádzajúci hovor.

Smartfón, na ktorom sme aplikáciu vyvinuli, je Samsung Galaxy A5.

Krok 1: Hardvérová časť

Hardvérová časť
Hardvérová časť

Naša architektúra je veľmi jednoduchá.

Pripojte kolíky NeoPixel Ring k doske nRF51822 nasledovne:

  • Dátový kolík Inout NeoPixel Ring na port 3 uC.
  • Vcc NeoPixel Ring na 3,3 V uC.
  • GND prstenca NeoPixel na GND uC.

Môžete si všimnúť, že nepoužívame pin výstupných údajov krúžku NeoPixel. Dôvodom je, že piny vstupných údajov troch prstencov NeoPixel, ktoré používame v tomto projekte, sú všetky pripojené k rovnakému portu dosky nRF51822 (kolík 3).

Krok 2: Časť softvéru

Softvérová časť
Softvérová časť
Softvérová časť
Softvérová časť
Softvérová časť
Softvérová časť

1. Nízkoenergetická komunikácia Bluetooth:

V komunikácii BLE si server (v našom prípade uC) a klient (smartphone) vymieňajú údaje pomocou transakcií GATT. Pri týchto transakciách sú údaje hierarchicky usporiadané v sekciách nazývaných služby, ktoré zoskupujú koncepčne súvisiace časti používateľských údajov nazývané charakteristiky. V našom prípade je zapuzdrenie údajov jednoduché, pretože z klienta na server máme odovzdať iba jednu informáciu (pozri obrázok vyššie).

  • na strane servera: Aby bolo možné používať dosku nrf51822 ako server BLE, najskôr nainštalujte do Arduino IDE knižnicu „BLEPeripheral.h“. Táto knižnica ponúka funkcie pripravené na použitie na vytváranie služieb, charakteristík a reklamy.
  • na strane klienta: Ak chcete začať komunikáciu BLE v systéme Android Studio, najskôr nakonfigurujte povolenia BLE v súbore Manifest. Potom do súboru activity_main.xml pridajte 4 tlačidlá: skenovanie, zastavenie skenovania, pripojenie a odpojenie, ktoré aplikácii umožní vyhľadať zariadenia BLE v okolí, zastaviť skenovanie, pripojiť sa a odpojiť zariadenie. V súbore main_activity.java implementujte funkcie, ktoré sú priradené k predchádzajúcim tlačidlám: startScanning (), stopcanning (), connectToDeviceSelected (),connectDeviceSelected (). Nakoniec implementujte funkcie spätného volania, ktoré sa volajú, keď sa zmení stav klienta.

2. Správa oznámení

  • na strane klienta (v systéme Android Studio): Ak chcete počúvať upozornenia prichádzajúce zo smartfónu, implementujte prijímač upozornení, ktorý sa aktivuje, keď sa v stavovom riadku zobrazí upozornenie. Tento poslucháč upozornení odošle „správu“, nazývanú zámer, hlavnej aktivite, keď je upozornenie uverejnené alebo odstránené. Táto „správa“obsahuje kód upozornenia, ktorý pomáha identifikovať aplikáciu, ktorá oznámenie zverejnila. Ak chcete spracovať upozornenie v hlavnej činnosti, vytvorte prijímač vysielania, ktorý dostane správu od poslucháča upozornení. Potom sa v závislosti od kódu upozornenia odošle na server iný znak.
  • na strane servera (na Arduino IDE): zobrazí sa upozornenie, ktoré má najvyššiu prioritu.

Krok 3: Krok 3: Prílohy

Tu nájdete všetok zdroj kódu.

Odporúča: