Kazalo:

Svetlobni bambus (priključena svetilka): 3 koraki
Svetlobni bambus (priključena svetilka): 3 koraki

Video: Svetlobni bambus (priključena svetilka): 3 koraki

Video: Svetlobni bambus (priključena svetilka): 3 koraki
Video: 【ЯПОНСКИЙ ПАРОМ】Миядзаки→Кобе 75 долларов США в капсуле, 12-часовая поездка на пароме 2024, November
Anonim
Svetlobni bambus (priključena svetilka)
Svetlobni bambus (priključena svetilka)

Pozdravljeni in dobrodošli!

Svetlobni bambus je povezana svetilka, ki zasveti, ko prejmete obvestilo na pametnem telefonu Android, s katerim je povezan. Cilj tega navodila je prikazati fazo oblikovanja projekta: od arhitekture strojne opreme do povezave Bluetooth Low Energy (BLE) in zgradbe aplikacij za Android.

Za svetilko smo izbrali plastično rastlino za kul dekoracijo. Za ta projekt so prikazana obvestila iz naslednjih aplikacij: klici, sms/mms, facebook, messenger, instagram, whatsapp gmail. Za vsako vrsto obvestila je pripisana ena svetla barva.

Za ta projekt boste potrebovali:

  • UC z vgrajenim modulom BLE: nFR51822 RedBearLab
  • 3 obroček NeoPixel (12 LED RGB)
  • Pametni telefon Android
  • Android Studio

Vsako obvestilo ima posebno prednost, odvisno od njegove pomembnosti. Na primer, obvestilo o dohodnem klicu je pomembnejše od obvestila Facebook. V tem primeru bo barva LED diod povezana z obvestilom o dohodnem klicu.

Pametni telefon, na katerem smo razvili aplikacijo, je Samsung Galaxy A5.

1. korak: Del strojne opreme

Del strojne opreme
Del strojne opreme

Naša arhitektura je precej preprosta.

Nožice obroča NeoPixel na ploščo nRF51822 povežite na naslednji način:

  • Inout Podatkovni zatič obroča NeoPixel do vrat 3 uC.
  • Vcc prstana NeoPixel Ring do 3.3V uC.
  • GND prstana NeoPixel do GND uC.

Opazite lahko, da ne uporabljamo zatiča Output Data prstana NeoPixel Ring. To je zato, ker so vsi vhodni podatkovni zatiči treh obročev NeoPixel, ki jih uporabljamo v tem projektu, povezani z istimi vrati na plošči nRF51822 (pin 3).

2. korak: Del programske opreme

Del programske opreme
Del programske opreme
Del programske opreme
Del programske opreme
Del programske opreme
Del programske opreme

1. Komunikacija Bluetooth z nizko porabo energije:

V komunikaciji BLE strežnik (ki je v našem primeru uC) in odjemalec (pametni telefon) izmenjujeta podatke s transakcijami GATT. V teh transakcijah so podatki hierarhično organizirani v odseke, imenovane storitve, ki združujejo konceptualno povezane dele uporabniških podatkov, imenovane značilnosti. V našem primeru je inkapsulacija podatkov preprosta, saj imamo od odjemalca do strežnika le eno informacijo (glej zgornjo sliko).

  • na strani strežnika: Če želite ploščo nrf51822 uporabljati kot strežnik BLE, najprej namestite knjižnico "BLEPeripheral.h" v Arduino IDE. Ta knjižnica ponuja pripravljene funkcije za ustvarjanje storitev in značilnosti ter oglaševanje.
  • na strani odjemalca: Če želite začeti komunikacijo BLE v Android Studiu, najprej konfigurirajte dovoljenja BLE v datoteki Manifest. Nato v datoteko activity_main.xml dodajte 4 gumbe: skeniranje, ustavitev skeniranja, povezovanje in prekinitev povezave, kar bo aplikaciji omogočilo iskanje bližnjih naprav BLE, zaustavitev skeniranja, povezavo in prekinitev povezave z napravo. V datoteki main_activity.java implementirajte funkcije, povezane s prejšnjimi gumbi: startScanning (), stopcanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Nazadnje, implementirajte funkcije povratnega klica, ki se pokličejo, ko se stanje odjemalca spremeni).

2. Upravljanje obvestil

  • na strani odjemalca (v sistemu Android Studio): Če želite poslušati obvestila, ki prihajajo s pametnega telefona, uporabite poslušalca obvestil, ki se vklopi, ko se v vrstici stanja pojavi obvestilo. Ta poslušalec obvestil bo ob objavi ali odstranitvi obvestila poslal "sporočilo", imenovano namen, glavni dejavnosti. To "sporočilo" vsebuje kodo obvestila, ki pomaga identificirati aplikacijo, ki je objavila obvestilo. Če želite obdelati obvestilo v glavni dejavnosti, ustvarite oddajnik, ki bo prejel sporočilo od poslušalca obvestil. Nato se glede na kodo obvestila na strežnik pošlje drugačen znak.
  • na strani strežnika (v Arduino IDE): prikaže se obvestilo z najvišjo prioriteto.

3. korak: 3. korak: Priloge

Tu boste našli ves vir kode.

Priporočena: