Obsah:

IoT Moon Lamp: 5 kroků
IoT Moon Lamp: 5 kroků

Video: IoT Moon Lamp: 5 kroků

Video: IoT Moon Lamp: 5 kroků
Video: How to Moonwalk 2024, Listopad
Anonim
Měsíční lampa IoT
Měsíční lampa IoT

V tomto pokynu ukazuji, jak převést jednoduchou bateriovou LED lampu na zařízení IoT.

Tento projekt zahrnuje:

  • pájení;
  • programování ESP8266 s Arduino IDE;
  • tvorba aplikace pro Android pomocí aplikace MIT App Inventor.

Předmětem zájmu je tato lampa ve tvaru měsíce, kterou jsem koupil od GearBest. Ale ve skutečnosti lze tento návod přizpůsobit jakémukoli zařízení s nízkým stejnosměrným napětím (zařízení napájená střídavým proudem vyžadují další obvody).

Zásoby

  1. Chytrý telefon Android (testovány verze Android 7-9).
  2. Pájecí nástroje.
  3. Prototypování DPS (protoboard).
  4. Deska ESP-12E (nebo jiný devboard s mikrokontrolérem ESP8266).
  5. USB-sériový převodník pro programování.
  6. Několik různých hodnot pasivních součástek (odpory a kondenzátory).

(Volitelné. Viz část „Blokový diagram“)

  1. 3.3V@500mA LDO IC.
  2. Deska převodníku logické úrovně 3.3V-5V.
  3. Napájení 5V DC.

Krok 1: Nápad

Idea
Idea

Měsíční lampa je napájena jedním článkem Li-ION 18650 a má 3 provozní režimy:

  • vypnuto;
  • manuál;
  • auto.

V manuálním režimu je lampa ovládána tlačítkem, každé stisknutí změní stav LED diody (modrá svítí, oranžová svítí, obě svítí, nesvítí), intenzita světla se mění při stisknutém tlačítku. V automatickém režimu se stav světel LED mění klepnutím nebo zatřesením samotnou lampou.

Rozhodl jsem se přidat ESP8266, aby fungoval jako webový server, který poslouchá požadavky a podle toho simuluje stisknutí tlačítek. Nechtěl jsem narušit původní funkci lampy, jen jsem chtěl přidat další ovládací funkce přes WiFi, takže jsem vybral ESP pro simulaci stisknutí tlačítek místo přímého ovládání LED. Také mi to umožnilo minimálně komunikovat s původními obvody.

Když byl prototyp hotový, poháněl ~ 80mA neustále z baterie ve vypnutém stavu (~ 400mA při plném jasu). Pohotovostní proud je vysoký, protože ESP8266 funguje jako server a je vždy připojen k WiFi a poslouchá požadavky. Baterie byla vybita po jednom a půl dni pouze ve vypnutém stavu, takže jsem se později rozhodl použít USB nabíjecí port žárovek pro napájení veškeré elektroniky z externího 5V napájení a vyřazené baterie dohromady (ale to je volitelné).

Krok 2: Blokový diagram

Blokové schéma
Blokové schéma

V blokovém schématu vidíte, jaké obvody budou přidány a jak budou stávající obvody upraveny. V mém případě jsem úplně vyjmul baterii a zkrátil IC vstup nabíječky s výstupem (opět je to volitelné). Průhledné bloky v diagramu označují součásti, které jsou vynechány (i když tlačítko stále funguje tak, jak bylo původně zamýšleno).

Podle dokumentace ESP8266 toleruje pouze 3,3 V, ale existuje spousta příkladů, kdy ESP8266 funguje zcela dobře s 5 V, takže logický převodník úrovní a 3,3 V LDO lze vynechat, nicméně jsem zůstal u osvědčených postupů a přidal tyto komponenty.

Použil jsem 3 I/O piny ESP8266 a pin ADC. Jeden pin digitálního výstupu je pro simulaci stisknutí tlačítka, dva digitální vstupy slouží pro detekci toho, jaké barevné LED diody svítí (z toho můžeme zjistit, ve kterém stavu je MCU a který stav je další po stisknutí tlačítka). Kolík ADC měří vstupní napětí (přes dělič napětí), takže můžeme sledovat zbývající úroveň nabití baterie.

Jako externí napájecí zdroj používám starou nabíječku telefonu 5V@1A (nepoužívejte rychlonabíječky).

Krok 3: Programování

Programování
Programování
Programování
Programování

Stručně řečeno, program funguje takto (více informací naleznete v samotném kódu):

ESP8266 se připojí k vašemu přístupovému bodu WiFi, které přihlašovací údaje musíte zadat na začátku předchozího programování kódu, získá IP adresu z vašeho routeru DHCP server, abyste zjistili IP adresu, kterou budete potřebovat později, můžete zkontrolovat nastavení DHCP webového rozhraní nebo nastavit příznak ladění v kódu na 1 a uvidíte, jaké IP ESP získal v sériovém monitoru (tuto IP adresu byste si měli vyhradit v nastavení směrovačů, aby ESP při spuštění vždy získala stejnou IP).

Při inicializaci MCU vždy provede stejnou rutinu navždy:

  1. Zkontrolujte, zda je stále připojeno k AP, pokud ne, zkuste se znovu připojit, dokud nebude úspěch.
  2. Počkejte, až klient zadá požadavek HTTP. Když dojde k žádosti:

    1. Zkontrolujte vstupní napětí.
    2. Zkontrolujte, ve kterém stavu jsou LED diody.
    3. Přiřaďte požadavek HTTP ke známým stavům LED (modrá svítí, oranžová svítí, obě svítí, nesvítí).
    4. Simulujte tolik stisknutí tlačítka podle potřeby, abyste dosáhli požadovaného stavu.

Stručně popíšu pokyny k programování, pokud při prvním programování MCU ESP8266 MCU hledejte podrobnější pokyny.

Budete potřebovat Arduino IDE a převodník USB-sériového rozhraní (například FT232RL). Při přípravě IDE postupujte podle těchto pokynů.

Podle schématu zapojení připojte modul ESP-12E k programování. Některé tipy:

  • použijte externí napájecí zdroj 3,3 V@500 mA (ve většině případů USB sériové napájení nestačí);
  • zkontrolujte, zda je váš sériový převodník USB kompatibilní s logickou úrovní 3,3 V;
  • zkontrolujte, zda se úspěšně nainstalovaly ovladače převaděče USB (ze správce zařízení systému Windows) a také můžete zkontrolovat, zda funguje správně z IDE, jen krátké piny RX a TX, než z IDE vyberte port COM, otevřete sériový monitor a něco napište, pokud vše funguje v konzole byste měli vidět text, který odesíláte;
  • z nějakého důvodu jsem byl schopen naprogramovat ESP pouze tehdy, když jsem nejprve připojil USB sériový převodník k PC a poté jsem napájel ESP z externího zdroje 3,3 V;
  • po úspěšném naprogramování nezapomeňte při příštím spuštění vytáhnout GPIO0 vysoko.

Krok 4: Schéma a pájení

Schéma a pájení
Schéma a pájení
Schéma a pájení
Schéma a pájení
Schéma a pájení
Schéma a pájení

Podle schématu pájejte všechny součásti na protoboard. Jak již bylo zmíněno dříve, některé součásti jsou volitelné. Použil jsem KA78M33 3.3V LDO IC a tuto desku převodníku logické úrovně od sparkfun, alternativně si můžete převaděč vyrobit sami, jak ukazuje schéma (místo BSS138 můžete použít jakýkoli N-kanálový mosfet). V případě, že budete používat baterii Li-ION, +5V napájecí síť bude kladným pólem baterie. ESP8266 ADC referenční napětí je 1V, mnou zvolené hodnoty děliče odporu umožňují měřit vstupní napětí až 5,7V.

Mělo by existovat 5 připojení k původní desce s lampami: +5 V (nebo +baterie), GND, tlačítko, signály PWM z MCU pro ovládání modrých a oranžových LED diod. Pokud napájíte lampu ze zdroje 5 V, stejně jako já, budete chtít zkrátit nabíječky baterií IC VCC pin s kolíkem OUTPUT, takže veškerá elektronika bude napájena přímo z +5 V, a nikoli z VÝSTUPU nabíječky baterií.

Postupujte podle druhého obrázku pro všechny pájecí body, které budete muset vyrobit na PCB žárovek.

POZNÁMKY:

  1. Pokud jste se rozhodli zkratovat +5V s IC výstupem nabíječky baterií, před tím úplně vyjměte baterii, nechcete připojit +5V přímo k baterii.
  2. Dávejte pozor na to, na který kolíkový knoflík pájíte výstup ESP, protože 2 piny tlačítka jsou připojeny k zemi a nechcete zkratovat, když je výstup ESP VYSOKÝ, lepší dvojitá kontrola pomocí multimetru.

Krok 5: Aplikace pro Android

Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android

Aplikace pro Android byla vytvořena s vynálezcem aplikace MIT. Chcete -li si stáhnout aplikaci a/nebo klonovat projekt, přejděte na tento odkaz (pro přístup budete potřebovat účet Google).

Při prvním spuštění budete muset otevřít nastavení a zadat svou IP adresu ESP8266. Tato IP adresa bude uložena, takže ji nebudete muset znovu zadávat po restartu programu.

Aplikace testována na několika zařízeních Android 9 a Android 7.

Doporučuje: