Tartalomjegyzék:

IoT Hold lámpa: 5 lépés
IoT Hold lámpa: 5 lépés

Videó: IoT Hold lámpa: 5 lépés

Videó: IoT Hold lámpa: 5 lépés
Videó: Габаритные лампы, про которые вы и не вспомните. 2024, November
Anonim
IoT Hold lámpa
IoT Hold lámpa

Ebben az utasításban megmutatom, hogyan lehet egy egyszerű elemmel működő LED -lámpát IoT -eszközzé alakítani.

Ez a projekt a következőket tartalmazza:

  • forrasztás;
  • ESP8266 programozása Arduino IDE -vel;
  • androidos alkalmazás készítése az MIT App Inventor segítségével.

Az érdekesség ez a hold alakú lámpa, amelyet a gearbest -től vásároltam. De valójában ez az oktatóanyag bármilyen alacsony egyenfeszültségű eszközhöz alkalmazható (a váltakozó áramú eszközök további áramköröket igényelnek).

Kellékek

  1. Android okostelefon (androidos verziók 7-9 tesztelve).
  2. Forrasztó eszközök.
  3. PCB prototípus készítése (protoboard).
  4. ESP-12E kártya (vagy más fejlesztőtábla ESP8266 mikrokontrollerrel).
  5. USB-soros átalakító a programozáshoz.
  6. A passzív komponensek (ellenállások és kondenzátorok) számos különböző értéke.

(Nem kötelező. Lásd a "Blokkdiagram" részt)

  1. 3.3V@500mA LDO IC.
  2. 3.3V-5V logikai szintű átalakító kártya.
  3. 5V DC tápegység.

1. lépés: Ötlet

Ötlet
Ötlet

A Moon lámpát egy Li-ION 18650 cella táplálja, és 3 működési módja van:

  • ki;
  • kézikönyv;
  • auto.

Kézi üzemmódban a lámpát nyomógombbal lehet vezérelni, minden megnyomás megváltoztatja a LED fényállapotát (kék, narancssárga, mindkettő be, ki), a fényerősség pedig a nyomógomb lenyomva tartásával változik. Automatikus üzemmódban a LED -es lámpa állapota a lámpa megérintésével vagy rázásával változik.

Úgy döntöttem, hogy hozzáadom az ESP8266 -ot, hogy webkiszolgálóként működjön, amely meghallgatja a kéréseket, és ennek megfelelően szimulálja a gombnyomásokat. Nem akartam megtörni az eredeti lámpa funkcióit, csak további vezérlő funkciókat akartam hozzáadni a WiFi -hez, ezért az ESP -t választottam a gombnyomások szimulálására a LED -ek közvetlen vezérlése helyett. Ez is lehetővé tette számomra, hogy minimálisan kölcsönhatásba lépjek az eredeti áramkörrel.

Amikor elkészült a prototípus, folyamatosan ~ 80mA -t hajtott le az akkumulátorról kikapcsolt állapotban (~ 400mA teljes fényerő mellett). A készenléti áram magas, mert az ESP8266 szerverként működik, és mindig csatlakozik a WiFi -hez, és hallgatja a kéréseket. Az akkumulátor másfél nap elteltével csak kikapcsolt állapotban merült le, ezért később úgy döntöttem, hogy az USB töltőport lámpáit használom az összes elektronika külső 5 V -os tápegységről történő áramellátására, és a lemerült akkumulátort együtt (de ez opcionális).

2. lépés: Blokkdiagram

Blokk diagramm
Blokk diagramm

A blokkdiagramon láthatja, hogy milyen áramkör kerül hozzáadásra, és hogyan módosítják a meglévő áramkört. Esetemben teljesen eltávolítottam az akkumulátort, és rövidre zártam az akkumulátortöltők IC bemenetét kimenettel (ez ismét opcionális). Az ábrán látható átlátszó blokkok jelzik az alkatrészeket, amelyeket kiiktattak (bár a nyomógomb továbbra is az eredetileg tervezett módon működik).

A dokumentáció szerint az ESP8266 csak 3,3 V -ot tolerál, azonban rengeteg példa van arra, amikor az ESP8266 teljesen jól működik 5 V -os feszültséggel, így a logikai szintváltó és a 3,3 V -os LDO kihagyható, azonban maradtam a legjobb gyakorlatnál, és hozzáadtam ezeket az összetevőket.

3 ESP8266 I/O tűt és ADC tűt használtam. Az egyik digitális kimeneti gomb a gombnyomások szimulálására szolgál, két digitális bemenet arra szolgál, hogy érzékelje, milyen színű LED -ek világítanak (ebből megállapíthatjuk, hogy az MCU milyen állapotban van, és melyik állapot a következő a gomb megnyomása után). Az ADC csap a bemeneti feszültséget méri (feszültségosztón keresztül), így tudjuk nyomon követni az akkumulátor töltöttségi szintjét.

Külső tápellátásként régi 5V@1A telefon töltőt használok (ne használjon gyorstöltőt).

3. lépés: Programozás

Programozás
Programozás
Programozás
Programozás

Dióhéjban a program így működik (további információkért lásd a kódot):

Az ESP8266 csatlakozik a WiFi hozzáférési ponthoz, mely hitelesítő adatokat meg kell adnia a kód elején a programozás előtt, megkapja az IP -címet az útválasztó DHCP -kiszolgálójától, hogy megtudja az IP -címet, amelyre később szüksége lesz, ellenőrizheti az útválasztó webes felületének DHCP -beállításait, vagy hibakeresési zászlót a kódban 1 -re, és látni fogja, hogy az IP ESP mit kapott a soros monitoron (ezt az IP -t le kell foglalnia az útválasztók beállításaiban, hogy az ESP mindig ugyanazt az IP -t kapja a rendszerindításkor).

Az inicializált MCU mindig ugyanazt a rutint végzi örökre:

  1. Ellenőrizze, hogy továbbra is csatlakozik -e az AP -hez, ha nem, próbálja meg újracsatlakozni a sikerig.
  2. Várja meg, amíg az ügyfél HTTP -kérést küld. Amikor a kérés megtörténik:

    1. Ellenőrizze a bemeneti feszültséget.
    2. Ellenőrizze, hogy a LED -ek milyen állapotban vannak.
    3. Párosítsa a HTTP kérést az ismert LED állapotokkal (kék be, narancssárga be, mindkettő be, ki).
    4. Szimuláljon annyi nyomógombnyomást, amennyi szükséges a kívánt állapot eléréséhez.

Röviden leírom a programozási utasításokat, ha először programozza az ESP8266 MCU -t, keressen részletesebb utasításokat.

Szüksége lesz Arduino IDE-re és USB-soros interfész konverterre (például FT232RL). Az IDE előkészítéséhez kövesse ezeket az utasításokat.

Kövesse a kapcsolási rajzot az ESP-12E modul csatlakoztatásához a programozáshoz. Néhány tipp:

  • külső 3.3V@500mA tápegységet használjon (a legtöbb esetben az USB-soros tápegység nem elegendő);
  • ellenőrizze, hogy az USB-soros konverter 3.3V logikai szintű kompatibilis-e;
  • ellenőrizze, hogy az USB-soros átalakító illesztőprogramjai sikeresen telepítve lettek-e (a Windows eszközkezelőből). Azt is ellenőrizheti, hogy megfelelően működik-e az IDE-ből, csak rövid RX- és TX-érintkezőkből, mint az IDE-ből válassza ki a COM-portot, nyissa meg a soros monitort, és írjon valamit, ha minden működik látnia kell, hogy az Ön által küldött szöveg megjelenik a konzolon;
  • valamilyen oknál fogva csak akkor tudtam programozni az ESP-t, amikor először USB-soros átalakítót csatlakoztattam a számítógéphez, majd külső 3.3V-os forrásból bekapcsoltam az ESP-t;
  • sikeres programozás után ne felejtse el magasra húzni a GPIO0 -t a következő indításkor.

4. lépés: Séma és forrasztás

Vázlat és forrasztás
Vázlat és forrasztás
Vázlat és forrasztás
Vázlat és forrasztás
Vázlat és forrasztás
Vázlat és forrasztás

Kövesse a sematikát az összes alkatrész forrasztásához a protoboardhoz. Amint azt korábban említettük, egyes alkatrészek opcionálisak. A KA78M33 3.3V LDO IC-t és ezt a logikai szintváltó kártyát használtam a sparkfun-ból, alternatívaként saját maga is elkészítheti az átalakítót a vázlat szerint (a BSS138 helyett bármilyen N-csatornás mosfet használhat). Abban az esetben, ha ragaszkodik a Li-ION akkumulátor használatához, a +5 V-os hálózati hálózat akkumulátor pozitív pólus lesz. Az ESP8266 ADC referenciafeszültsége 1 V, a választott ellenállásosztó értékeim lehetővé teszik az 5,7 V -os bemeneti feszültség mérését.

5 csatlakozónak kell lennie az eredeti lámpa NYÁK -hoz: +5V (vagy +akkumulátor), GND, nyomógomb, PWM jelek az MCU lámpákból a kék és narancssárga LED -ek vezérlésére. Ha a lámpát 5 V -os forrásból táplálja, mint én, akkor rövidre kell zárni az akkumulátor töltőit IC VCC csap OUTPUT tűvel, így az összes elektronika közvetlenül +5 V -ról táplálkozik, és nem az akkumulátortöltő OUTPUT -ról.

Kövesse a második képet az összes forrasztási ponthoz, amelyet a PCB lámpákon kell elvégeznie.

MEGJEGYZÉSEK:

  1. Ha úgy döntött, hogy +5V -ot rövidít az akkumulátortöltő IC -kimenetével, akkor vegye ki teljesen az akkumulátort, mielőtt ezt tenné, és nem akarja a +5V -ot közvetlenül az akkumulátorhoz csatlakoztatni.
  2. Ügyeljen arra, hogy melyik nyomógombos tűt forrasztja az ESP kimenetet, mert a nyomógomb 2 csapja a földhöz van csatlakoztatva, és nem szeretne rövidzárlatot okozni, amikor az ESP kimenet NAGY, jobb, ha kétszer ellenőrzi multiméterrel.

5. lépés: Android -alkalmazás

Android -alkalmazás
Android -alkalmazás
Android -alkalmazás
Android -alkalmazás
Android -alkalmazás
Android -alkalmazás

Az Android -alkalmazást az MIT app feltalálójával készítették, és töltsön le egy alkalmazást és/vagy klónozzon projektet magának, kattintson erre a linkre (a hozzáféréshez Google -fiókra lesz szüksége).

Az első indításkor meg kell nyitnia a beállításokat, és meg kell adnia az ESP8266 IP -címét. Ez az IP el lesz mentve, így nem kell újra megadni a program újraindítása után.

Az alkalmazást több android 9 és android 7 eszközzel tesztelték.

Ajánlott: