Tartalomjegyzék:

Világos bambusz (csatlakoztatott lámpa): 3 lépés
Világos bambusz (csatlakoztatott lámpa): 3 lépés

Videó: Világos bambusz (csatlakoztatott lámpa): 3 lépés

Videó: Világos bambusz (csatlakoztatott lámpa): 3 lépés
Videó: 12V 90 Amperes autós generátor öngerjesztő generátorhoz DIÓDÁVAL 2024, November
Anonim
Könnyű bambusz (csatlakoztatott lámpa)
Könnyű bambusz (csatlakoztatott lámpa)

Helló és üdvözlet!

A világos bambusz egy csatlakoztatott lámpa, amely akkor világít, amikor értesítés érkezik azon az Android okostelefonon, amelyhez csatlakozik. Ennek az utasításnak a célja, hogy bemutassa a projekt tervezési szakaszát: a hardver architektúrától a Bluetooth Low Energy (BLE) kapcsolaton és az Android alkalmazásépítésen át.

Lámpánkhoz egy műanyag növényt választottunk a hűvös díszítéshez. Ebben a projektben a megjelenő értesítések a következő alkalmazásokból származnak: hívások, sms/mms, facebook, messenger, instagram, whatsapp vagy gmail. Minden értesítési típushoz egy világos szín tartozik.

Ehhez a projekthez szüksége lesz:

  • UC beépített BLE modullal: nFR51822 RedBearLab
  • 3 NeoPixel gyűrű (12 RGB LED)
  • Androidos okostelefon
  • Android Studio

Minden értesítésnek saját prioritása van, fontosságától függően. Például a bejövő hívás értesítése fontosabb, mint a Facebook értesítés. Ebben az esetben a LED -ek színe hozzá lesz rendelve a bejövő hívás értesítéséhez.

Az okostelefon, amelyen kifejlesztettük az alkalmazást, egy Samsung Galaxy A5.

1. lépés: Hardverrész

Hardver alkatrész
Hardver alkatrész

Az építészetünk meglehetősen egyszerű.

Csatlakoztassa a NeoPixel gyűrűs csapokat az nRF51822 kártyához az alábbiak szerint:

  • A NeoPixel Ring Inout Data tűje az uC 3. portjához.
  • Vcc a NeoPixel Ring -től az uC 3.3V -ig.
  • A NeoPixel Ring GND és az uC GND között.

Észreveheti, hogy nem használjuk a NeoPixel Ring kimeneti adatcsapját. Ennek oka az, hogy a projektben használt három NeoPixel gyűrű bemeneti adatcsapjai mind az nRF51822 kártya ugyanazon portjához vannak csatlakoztatva (3. tű).

2. lépés: Szoftverrész

Szoftver rész
Szoftver rész
Szoftver rész
Szoftver rész
Szoftver rész
Szoftver rész

1. A Bluetooth Low Energy kommunikáció:

A BLE kommunikációban a szerver (esetünkben az uC) és az ügyfél (az okostelefon) GATT tranzakciók segítségével cserél adatokat. Ezekben a tranzakciókban az adatok hierarchikusan szerveződnek szolgáltatásoknak nevezett részekbe, amelyek a fogalmilag kapcsolódó felhasználói adatok darabokat csoportosítják. Esetünkben az adatok beágyazása egyszerű, mivel csak egyetlen információt kell továbbítanunk az ügyféltől a szerverhez (lásd a fenti képet).

  • szerver oldalon: Az nrf51822 tábla BLE szerverként való használatához először telepítse a "BLEPeripheral.h" könyvtárat az Arduino IDE -re. Ez a könyvtár használatra kész funkciókat biztosít a szolgáltatások és jellemzők létrehozásához, valamint a hirdetésekhez.
  • ügyféloldalon: A BLE kommunikáció indításához az Android Studio alkalmazásban először konfigurálja a BLE engedélyeket a Manifest fájlban. Ezután az activity_main.xml fájlban adjon hozzá 4 gombot: szkennelés, leállítás, csatlakozás és bontás, amely lehetővé teszi az alkalmazás számára, hogy keresse a közeli BLE -eszközöket, leállítsa a vizsgálatot, csatlakozzon és csatlakozzon le egy eszközhöz. A main_activity.java fájlban hajtsa végre az előző gombokhoz társított függvényeket: startScanning (), stopcanning (), connectToDeviceSelected (),connectDeviceSelected (). Végül hajtsa végre azokat a visszahívási függvényeket, amelyek az ügyfél állapotának megváltozásakor hívásra kerülnek.

2. Értesítések kezelése

  • ügyféloldalon (Android Stúdióban): Az okostelefonról érkező értesítések meghallgatásához alkalmazzon értesítési figyelőt, amely aktiválódik, amikor értesítés jelenik meg az állapotsorban. Ez az értesítési figyelő szándéknak nevezett "üzenetet" küld a fő tevékenységnek, amikor az értesítést közzéteszik vagy eltávolítják. Ez az "üzenet" egy értesítési kódot tartalmaz, amely segít azonosítani az értesítést közzétett alkalmazást. Az értesítés fő tevékenységben történő feldolgozásához hozzon létre egy broadcast vevőt, amely megkapja az üzenetet az értesítés -figyelőtől. Ezután az értesítési kódtól függően más karaktert küld a szervernek.
  • a szerver oldalon (Arduino IDE -n): a legmagasabb prioritású értesítés jelenik meg.

3. lépés: 3. lépés: Mellékletek

Itt megtalálja az összes kódforrást.

Ajánlott: