Sisukord:

Hele bambus (ühendatud lamp): 3 sammu
Hele bambus (ühendatud lamp): 3 sammu

Video: Hele bambus (ühendatud lamp): 3 sammu

Video: Hele bambus (ühendatud lamp): 3 sammu
Video: Сердце Одессы. Рынок Привоз. Все люди вышли скупиться перед праздниками. Цены Сало Липован 2024, November
Anonim
Hele bambus (ühendatud lamp)
Hele bambus (ühendatud lamp)

Tere ja Tere tulemast!

Hele bambus on ühendatud lamp, mis süttib, kui märguanne on vastu võetud Android -nutitelefonis, millega see on ühendatud. Selle juhendi eesmärk on näidata teile projekti kavandamisetappi: riistvaraarhitektuurist kuni Bluetooth Low Energy (BLE) ühenduseni ja Androidi rakendusehooneni.

Meie lambi jaoks valisime lahedaks kujunduseks plasttaime. Selle projekti puhul kuvatakse kuvatavad teated järgmistelt rakendustelt: kõned, sms/mms, facebook, messenger, instagram, whatsapp või gmail. Igale teatiste tüübile omistatakse üks hele värv.

Selle projekti jaoks vajate:

  • UC koos integreeritud BLE mooduliga: nFR51822 RedBearLab
  • 3 NeoPixeli rõngast (12 RGB LED -i)
  • Androidi nutitelefon
  • Android Studio

Igal teatisel on oma prioriteet, sõltuvalt selle tähtsusest. Näiteks sissetuleva kõne märguanne on olulisem kui Facebooki märguanne. Sel juhul seostatakse sissetuleva kõne märguandega LED -ide värv.

Nutitelefon, millel me rakenduse välja töötasime, on Samsung Galaxy A5.

Samm: riistvaraosa

Riistvara osa
Riistvara osa

Meie arhitektuur on üsna lihtne.

Ühendage NeoPixel Ring tihvtid nRF51822 plaadiga järgmiselt.

  • NeoPixel -rõnga sisestusandmete tihvt uC porti 3.
  • NeoPixeli rõnga Vcc to uC 3.3V.
  • NeoPixeli rõnga GND ja uC GND.

Võite märgata, et me ei kasuta NeoPixeli rõnga väljundandmete tihvti. Selle põhjuseks on asjaolu, et selles projektis kasutatavate kolme NeoPixeli rõnga sisendandmete tihvtid on kõik ühendatud nRF51822 plaadi sama pordiga (tihvt 3).

2. samm: tarkvaraosa

Tarkvara osa
Tarkvara osa
Tarkvara osa
Tarkvara osa
Tarkvara osa
Tarkvara osa

1. Bluetoothi vähese energiatarbega side:

BLE -side puhul vahetavad server (meie puhul uC) ja klient (nutitelefon) andmeid GATT -tehingute abil. Nendes tehingutes korraldatakse andmed hierarhiliselt osadesse, mida nimetatakse teenusteks, mis rühmitavad kontseptuaalselt seotud kasutajaandmeid, mida nimetatakse omadusteks. Meie puhul on andmete kapseldamine lihtne, kuna meil on kliendilt serverile edastamiseks ainult üks teave (vt ülaltoodud pilti).

  • serveri poolel: Et saaksite kasutada tahvlit nrf51822 BLE -serverina, installige esmalt Arduino IDE -s raamatukogu "BLEPeripheral.h". See raamatukogu pakub kasutusvalmis funktsioone teenuste ja omaduste loomiseks ning reklaamimiseks.
  • kliendi poolel: BLE -side alustamiseks Android Stuudios konfigureerige esmalt manifestifailis BLE -õigused. Seejärel lisage failis activity_main.xml 4 nuppu: skannimine, lõpetage skannimine, ühendage ja katkestage ühendus, mis võimaldab rakendusel otsida lähedalasuvaid BLE -seadmeid, peatada skannimine, ühendada ja katkestada ühendus seadmega. Rakendage failis main_activity.java funktsioonid, mis on seotud eelmiste nuppudega: startScanning (), stopcanning (), connectToDeviceSelected (),connectDeviceSelected (). Lõpuks rakendage tagasihelistamisfunktsioonid, mis helistatakse, kui kliendi olek muutub.

2. Teatiste haldamine

  • kliendi poolel (Android Studio): nutitelefonist saabuvate märguannete kuulamiseks rakendage märguannete kuulaja, mis aktiveerub olekuribal teatise ilmumisel. See märguannete kuulaja saadab teatise postitamise või eemaldamise korral põhitegevusele "sõnumi", mida nimetatakse kavatsuseks. See "sõnum" sisaldab teavituskoodi, mis aitab tuvastada teate postitanud rakenduse. Teatise töötlemiseks põhitegevuses looge ringhäälingu vastuvõtja, mis võtab teate teate kuulajalt vastu. Seejärel saadetakse serverile sõltuvalt märguandekoodist erinev märk.
  • serveri poolel (Arduino IDE -s): kuvatakse kõrgeima prioriteediga teade.

3. samm: 3. samm: lisad

Siit leiate kogu koodi allika.

Soovitan: