Tartalomjegyzék:
- Kellékek
- 1. lépés: Ötlet
- 2. lépés: Blokkdiagram
- 3. lépés: Programozás
- 4. lépés: Séma és forrasztás
- 5. lépés: Android -alkalmazás
Videó: IoT Hold lámpa: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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
- Android okostelefon (androidos verziók 7-9 tesztelve).
- Forrasztó eszközök.
- PCB prototípus készítése (protoboard).
- ESP-12E kártya (vagy más fejlesztőtábla ESP8266 mikrokontrollerrel).
- USB-soros átalakító a programozáshoz.
- 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)
- 3.3V@500mA LDO IC.
- 3.3V-5V logikai szintű átalakító kártya.
- 5V DC tápegység.
1. lépés: Ö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
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
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:
- Ellenőrizze, hogy továbbra is csatlakozik -e az AP -hez, ha nem, próbálja meg újracsatlakozni a sikerig.
-
Várja meg, amíg az ügyfél HTTP -kérést küld. Amikor a kérés megtörténik:
- Ellenőrizze a bemeneti feszültséget.
- Ellenőrizze, hogy a LED -ek milyen állapotban vannak.
- Párosítsa a HTTP kérést az ismert LED állapotokkal (kék be, narancssárga be, mindkettő be, ki).
- 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
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:
- 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.
- Ü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
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:
E-tinta: Hold / ISS / Emberek az űrben : 6 lépés
E-tinta: Hold / ISS / Emberek az űrben …: Volt egy málnám és egy e-papír kalapom, és azt akartam használni, hogy olyan információkat mutassak, mint például az ISS, vagy hány ember van most az űrben. . Kijelentettem, hogy megnézem, vannak -e API -k az interneten az adatok megszerzésére, és megtaláltam őket. OK, gotcha !!!! Várj
Ipod Nano Hold Button Fix !: 4 lépés
Ipod Nano Hold Button Fix !: ok, szóval kicsit elkéstem az ipod trenddel. szándékosan, gondolom. de végül behódoltam, és vettem egy régi nanót az ebay -en. és persze, mint az óramű, néhány hónap múlva rám tört a dolog. bármit is csináltam, a nano úgy gondolta, hogy
Föld és Hold varázslatos tükör: 4 lépés
Föld és Hold mágikus tükör: táblagépes varázslatos tüköróra, amely a Holdat / a Földet és az aktuális külső körülményeket mutatja
Apró Hold dagály óra: 5 lépés (képekkel)
Tiny Moon Tide Clock: Ez a projekt az Alaszkai SeaLife Központtal készül. Egy tengerhez kapcsolódó projekt érdekelte őket, amely bevonja diákjait az óceáni környezet elektronikus építésébe és megfigyelésébe. A formatervezés viszonylag olcsó
RBG 3D nyomtatott hold Blynk vezérléssel (iPhone vagy Android): 4 lépés (képekkel)
RBG 3D nyomtatott hold Blynk vezérléssel (iPhone vagy Android): Ez egy 3D nyomtatott hold állvánnyal. 20 LED -es RGB LED -szalaggal épült, egy arduino uno -hoz csatlakoztatva, és programozva blynk vezérlésre. Az arduino ezután az alkalmazáson keresztül vezérelhető iPhone vagy Android blynk segítségével