Obsah:

DIY lampa IoT pro domácí automatizaci -- ESP8266 Tutorial: 13 Steps (with Pictures)
DIY lampa IoT pro domácí automatizaci -- ESP8266 Tutorial: 13 Steps (with Pictures)

Video: DIY lampa IoT pro domácí automatizaci -- ESP8266 Tutorial: 13 Steps (with Pictures)

Video: DIY lampa IoT pro domácí automatizaci -- ESP8266 Tutorial: 13 Steps (with Pictures)
Video: Gledopto WLED Light Bar - адресный светильник - обзор, интеграция в Home Assistant 2024, Červenec
Anonim
Image
Image
DIY lampa IoT pro domácí automatizaci || Výukový program ESP8266
DIY lampa IoT pro domácí automatizaci || Výukový program ESP8266

V tomto tutoriálu vytvoříme inteligentní lampu připojenou k internetu. To půjde hluboko do internetu věcí a otevře svět domácí automatizace!

Lampa je připojena k WiFi a je postavena tak, aby měla otevřený protokol zpráv. To znamená, že si můžete vybrat jakýkoli režim ovládání, který chcete! Lze jej ovládat pomocí webového prohlížeče, aplikací pro automatizaci domácnosti, chytrých asistentů jako Alexa nebo Google Assistant a mnoha dalších!

Jako bonus tato lampa doplňuje aplikace pro ovládání projektu. Zde můžete vybrat různé barevné režimy, přecházet mezi barvami RGB a nastavit časovače.

Lampa se skládá z LED desky a ovládací desky. LED deska používá tři různé typy LED pro celkem pět LED kanálů! To je RGB spolu s teplou i studenou bílou. Protože všechny tyto kanály lze nastavit jednotlivě, máte celkem 112,3 kombinací peta!

Začněme!

[Přehrát video]

Krok 1: Díly a nástroje

Díly a nástroje
Díly a nástroje

Díly

  • Wemos D1 Mini
  • 15 x teplá bílá 5050 LED
  • 15 x studená bílá 5050 LED
  • 18 x RGB 5050 LED
  • 6 x 300 ohmů 1206 odporů
  • Rezistory 42 x 150 ohmů 1206
  • Rezistory 5 x 1 k ohm
  • 5 x NTR4501NT1G

    MOSFETY

  • Lineární regulátor napětí, 5V
  • PCB

    Stáhněte si soubory Gerber v kroku obvodu a vytvořte si vlastní PCB

  • PSU 12V 2A

Nástroje

  • Páječka
    • Pájecí cín
    • Tekutý pájecí tok
  • Maskovací páska
  • Oboustranná páska
  • 3D tiskárna
  • Odstraňovače drátů

Krok 2: Plán

Plán
Plán

Celý projekt se skládá ze čtyř hlavních částí:

  1. Obvod

    Obvod je vyroben na desce plošných spojů. Dokončený obvod se bude skládat z více než 100 jednotlivých komponent. Je obrovská úleva, nepropojit je všechny ručně na perfboard

  2. Arduino kód

    Používám Wemos D1 Mini, který používá ESP8266 jako mikrokontrolér připojený k WiFi. Kód spustí server na D1. Když navštívíte adresu tohoto serveru, D1 to interpretuje jako různé příkazy. Mikrokontrolér pak na tento příkaz působí, aby odpovídajícím způsobem nastavil světla

  3. Dálkové ovládání

    • Právě pro tento projekt jsem vytvořil aplikaci, aby bylo co nejjednodušší ovládat lampu podle vašich představ
    • Inteligentní lampu lze skutečně ovládat čímkoli, co je schopno odeslat požadavek http GET. To znamená, že lampa přijímá příkazy z téměř neomezené řady zařízení
  4. 3D tisk

    Tato chytrá lampa si zaslouží chladně vypadající pouzdro. A jako tolik projektů, kdy jste potřebovali chladný kufr, 3D tisk přichází na pomoc

Krok 3: Okruh

Obvod
Obvod
Obvod
Obvod
Obvod
Obvod

Objednal jsem si PCB z jlcpcb.com. Úplné zveřejnění: tento projekt také sponzorovali.

DPS se skládá ze dvou částí. Má desku LED a řídicí desku. Desku plošných spojů lze oddělit a později tyto dvě části spojit ohebným vodičem. To je nezbytné k tomu, aby byla 3D vytištěná lampa štíhlá a aby byla deska LED natočena tak, aby rovnoměrně šířila světlo skrz otvorovou místnost.

Řídicí deska obsahuje mikrokontrolér D1 spolu s pěti MOSFETy pro stmívání LED a regulátorem napětí, který dává mikrokontroléru hladký 5V.

Deska LED má pět kanálů LED ve třech různých typech LED diod. Protože používáme napájecí zdroj 12V, LED diody jsou konfigurovány jako tři LED diody v sérii s rezistorem a poté opakovány 16krát paralelně.

Běžná bílá LED obvykle odebírá 3,3 V. Na segmentu desky jsou tři z těchto LED v sérii, což znamená, že úbytek napětí je agregován v obvodu. Tři LED diody, které odebírají 3,3 V, znamenají, že jeden segment LED odebírá 9,9 V. Obvod je napájen 12 V, takže ponechává 2,1 V.

Pokud by segment sestával pouze ze tří LED diod, dostaly by větší napětí, než se rozptýlí. To není dobré pro LED diody a může je rychle poškodit. Z tohoto důvodu má každý segment také odpor v sérii se všemi třemi LED diodami. Tento odpor je zde, aby snížil zbývajících 2,1 V v sériovém spojení.

Pokud tedy každý segment odpovídá 12 V, znamená to, že každý ze segmentů je navzájem propojen paralelně. Když jsou obvody zapojeny paralelně, získají všechny stejné napětí a proud je agregován. Proud v sériovém připojení je vždy stejný.

Pravidelná LED odebírá proud 20 mA. To znamená, že segment, který je tvořen třemi LED diodami a rezistor v sérii stále odebírá 20 mA. Když spojíme několik segmentů paralelně, přidáme proud. Pokud odříznete šest LED diod z pásu, máte dva z těchto segmentů paralelně. Což znamená, že váš celkový obvod stále odebírá 12 V, ale odebírá proud 40 mA.

Krok 4: Pájení LED diod

Pájecí LED diody
Pájecí LED diody
Pájecí LED diody
Pájecí LED diody
Pájecí LED diody
Pájecí LED diody

Když jsem vyzkoušel několik věcí, zjistil jsem, že jednoduchá maskovací páska je nejúčinnější a nejflexibilnější pro zabránění pohybu PCB.

U dílů s více piny, jako jsou 6piny na LED diodě 5050, začínám položením pájky na jednu z desek plošných spojů. Pak jde jen o to, udržet tuto pájku roztavenou pomocí páječky a přitom součást zasunout na místo pomocí pinzety.

Nyní lze ostatní podložky snadno přichytit pájkou. Abych však tuto práci urychlil, navrhuji vyzvednout nějaký tok tekuté pájky. Opravdu nemohu dostatečně doporučit tyto věci.

Naneste část tavidla na pájecí podložky a poté roztavte pájku na špičce páječky. Nyní jde jen o to, přivést roztavenou pájku na podložky a vše teče na místo. Pěkné a jednoduché.

Pokud jde o odpory a další součásti se dvěma podložkami, žádný pájecí tok opravdu není potřeba. Na jednu z podložek naneste pájku a zapojte odpor. Nyní stačí roztavit pájku na podložku číslo dvě. Snadno peasy.

Podívejte se na pátý obrázek v tomto kroku. Věnujte pozornost orientaci LED diod. Teplé a studené bílé diody LED mají zářez orientovaný v pravém horním rohu. RGB LED diody mají zářez v dolním levém rohu. To je chyba návrhu z mé strany, protože jsem nemohl najít list pro LED diody RGB použité v tomto projektu. Žijte, učte se a to všechno!

Krok 5: Ovládací deska pájení

Pájecí řídicí deska
Pájecí řídicí deska
Ovládací deska pájení
Ovládací deska pájení
Pájecí řídicí deska
Pájecí řídicí deska
Pájecí řídicí deska
Pájecí řídicí deska

Po dokončení maratonu LED desky je řídicí deska hračka pájet. Než jsem přešel na regulátor napětí, položil jsem dolů pět MOSFETů a odpovídající odpory zdroje brány.

Regulátor napětí má volitelné prostory pro vyhlazování kondenzátorů. Zatímco jsem je pájel na tomto obrázku, nakonec jsem je odstranil, protože nebyly ve skutečnosti nutné.

Trik, jak získat tenkou ovládací desku, je umístit záhlaví pinů ven skrz dno. Poté, co jsou kolíky na svém místě, lze nepoužitou délku odstřihnout ze zadní strany spolu s černým plastem. Díky tomu je spodní strana zcela hladká.

Když jsou všechny součásti na svém místě, je čas spojit obě desky dohromady. Jen jsem odstřihl a odizoloval šest malých 2,5 palců (7 cm) vodičů a spojil dvě desky plošných spojů.

Krok 6: Nastavení WiFi

Nastavení WiFi
Nastavení WiFi
Nastavení WiFi
Nastavení WiFi

V kódu je šest jednoduchých řádků, které musíte změnit.

  1. ssid, řádek 3

    Název vašeho routeru. Při psaní se ujistěte, že jsou velká a malá písmena správná

  2. wifiPass, řádek 4

    Vaše heslo routeru. Opět pozor na pouzdro

  3. ip, řádek 8

    Statická IP adresa vaší inteligentní lampy. Vybral jsem náhodnou IP adresu v mé síti a zkusil jsem ji pingnout v příkazovém okně. Pokud z adresy žádná odpověď nepřijde, můžete předpokládat, že je k dispozici

  4. brána, řádek 9

    Toto bude brána na vašem routeru. Otevřete příkazové okno a zadejte „ipconfig“. Brána a podsíť jsou na obrázku zakroužkovány červeně

  5. podsíť, řádek 10

    Stejně jako u brány jsou pro tento krok na obrázku zakroužkovány tyto informace

  6. timeZone, řádek 15

    Časové pásmo, ve kterém se nacházíte. Toto změňte, pokud chcete pomocí vestavěných funkcí časovače zapínat a vypínat světla v určitých časech. Proměnná je jednoduchý plus nebo mínus GMT

Krok 7: Kód mikrokontroléru

Kód mikrokontroléru
Kód mikrokontroléru
Kód mikrokontroléru
Kód mikrokontroléru
Kód mikrokontroléru
Kód mikrokontroléru
Kód mikrokontroléru
Kód mikrokontroléru

Po změně všech příslušných nastavení v předchozím kroku je konečně čas nahrát kód do Wemos D1 Mini!

Arduino kód vyžaduje několik knihoven a závislostí. Pokud jste nikdy nenahráli kód z arduino IDE do ESP8266, nejprve postupujte podle této příručky od sparkfun.

Nyní si stáhněte knihovnu Time a knihovnu TimeAlarms. Rozbalte je a zkopírujte do složky knihovny arduino ve svém počítači. Stejně jako instalace jakýchkoli jiných arduino knihoven.

V tomto kroku věnujte pozornost nastavení nahrávání na obrázku. Vyberte stejnou konfiguraci, kromě komunikačního portu. To bude jakýkoli port, ke kterému máte v počítači připojen mikrokontrolér.

Když je kód nahrán, otevřete sériový terminál se zprávou, doufejme, úspěšného připojení! Nyní můžete otevřít prohlížeč a navštívit statickou IP adresu, kterou jste uložili do mikrokontroléru. Gratulujeme, právě jste si vytvořili vlastní server a hostujete na něm webovou stránku!

Krok 8: Otevřete protokol zpráv

Otevřete protokol zpráv
Otevřete protokol zpráv
Otevřete protokol zpráv
Otevřete protokol zpráv
Otevřete protokol zpráv
Otevřete protokol zpráv
Otevřete protokol zpráv
Otevřete protokol zpráv

Když pomocí aplikace ovládáte inteligentní lampu, všechny zprávy se za vás vyřídí automaticky. Zde je seznam zpráv, které lampa přijímá, pokud si chcete vytvořit vlastní dálkové ovládání. Použil jsem příklad IP adresy pro ilustraci, jak používat příkazy.

  • 192.168.0.200/&&R=1023G=0512B=0034C=0500W=0500

    • Nastaví červená světla na maximální hodnotu, zelená na poloviční hodnotu a modrá na 34. Studená a teplá bílá sotva svítí
    • Při zadávání hodnot můžete volit mezi 0 a 1023. Hodnoty světla vždy zapisujte do adresy URL jako čtyři číslice
  • 192.168.0.200/&&B=0800

    Nastaví modrá světla na hodnotu 800 a současně vypne všechna ostatní světla

  • 192.168.0.200/LED=OFF

    Úplně vypne všechna světla

  • 192.168.0.200/LED=FADE

    Začne pomalu mizet mezi všemi možnými barvami RGB. Ideální pro atmosféru

  • 192.168.0.200/NOTIFYR=1023-G=0512-B=0000

    Bliká dvakrát danou barvou, aby indikovalo příchozí oznámení. Perfektní, pokud chcete, řekněme, vytvořit v počítači program, který bude blikat červeně, kdykoli dostanete nový e -mail

  • 192.168.0.200/DST=1

    • Upravuje hodiny na letní čas. Přidá jednu hodinu k hodinám
    • /DST = 0 použijte pro návrat z DST, odebere jednu hodinu z hodin, pokud je DST aktivní
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Uloží stav pro časovač 1. Tento časovač zapne dané hodnoty RGB v 06:30 ráno

  • 192.168.0.200/TIMER1H=99

    Chcete -li časovač deaktivovat, nastavte hodinu časovače na 99. Hodnoty RGB jsou stále uloženy, ale časovač nezapne světla, když je hodina nastavena na 99

  • Lampa má čtyři individuální časovače. Změňte „TIMER1“pro „TIMER2“, „TIMER3“nebo „TIMER4“a upravte jeden z dalších vestavěných časovačů.

Toto jsou aktuálně zabudované příkazy. Zanechte komentář, pokud máte nějaké skvělé nápady na nové příkazy, které lze vytvořit buď v kódu arduino, nebo ve vzdálené aplikaci!

Krok 9: Dálkové ovládání

Dálkové ovládání
Dálkové ovládání
Dálkové ovládání
Dálkové ovládání
Dálkové ovládání
Dálkové ovládání
Dálkové ovládání
Dálkové ovládání

Kliknutím sem stáhnete aplikaci. Nastavení je velmi snadné, stačí zadat IP adresu vaší inteligentní lampy a vybrat, zda chcete ovládat pouze RGB LED nebo RGB + teplé a studené bílé LED.

Jak bylo vysvětleno v předchozím kroku, nyní víte, jaký protokol zpráv aplikace používá. Odesílá požadavek HTTP GET s adresami URL. To znamená, že si můžete také vytvořit vlastní obvod mikrokontroléru a stále používat tuto aplikaci k ovládání funkcí, které vyvíjíte sami.

Protože jsme se opravdu podívali hluboko do protokolu zpráv, můžete také inteligentní lampu ovládat čímkoli, co je schopno odeslat požadavek http GET. To znamená jakýkoli prohlížeč v telefonu nebo počítači nebo inteligentní domácí zařízení nebo asistenti jako Alexa nebo Google Assistant.

Tasker je aplikace, která vám v zásadě umožňuje vytvářet podmínky pro ovládání téměř čehokoli. Použil jsem to k blikání chytré lampy s barvou oznámení, když ji dostanu do telefonu. Také jsem nastavil tasker, aby rozsvítil světla na plnou bílou, když se telefon připojí k mému domácímu WiFi po 16:00 ve všední den. To znamená, že se světla automaticky rozsvítí, když přijdu ze školy domů. Je opravdu skvělé přijít domů se automaticky zapnutými světly!

Krok 10: 3D tisk

3D tisk
3D tisk

Samotné pouzdro lampy lze potisknout téměř úplně bez podpěr. Jediné součásti, které skutečně potřebují podporu, jsou kolíky určené pro spárování s deskou plošných spojů. Proto jsem stl zpřístupnil jak s malou podpůrnou strukturou, tak bez ní, pouze pro tyto kolíky. Výhodou použití této vlastní podpory je, že tisk je mnohem rychlejší! A podporu tisku získáváme pouze na díly, které to opravdu potřebují.

Zde si můžete stáhnout soubory.stl

Krok 11: Spojte to všechno dohromady

Spojte to všechno dohromady
Spojte to všechno dohromady
Spojte to všechno dohromady
Spojte to všechno dohromady
Spojte to všechno dohromady
Spojte to všechno dohromady

Po 3D tisku začněte odstraněním podpory tisku. Napájecí kabely přecházejí do samostatných kanálů a jsou k sobě svázány. Tento uzel vytvoří odlehčení tahu, které zabrání vytržení kabelů z desky plošných spojů. Napájecí kabely připájejte na zadní stranu desky plošných spojů a dbejte na správnou polaritu!

Řídicí deska plošných spojů je poté připevněna kusem pásky, aby byla uvnitř skříně v jedné rovině. LED desku s plošnými spoji lze jednoduše umístit na místo, kde se sama položí na pouzdro.

Krok 12: Zavěšení lampy

Zavěšení lampy
Zavěšení lampy
Zavěšení lampy
Zavěšení lampy
Visí lampa
Visí lampa

Existuje mnoho možností, jak tuto lampu zavěsit na zeď. Protože bych mohl průběžně aktualizovat kód, abych vylepšil lampu, chtěl jsem čas od času lampu sundat. Můžete použít horké lepidlo, ale doporučuji oboustrannou pásku. Nejlepší je použít tlustou a pěnivou oboustrannou pásku, která drží lampu nejlépe na texturované stěně.

Krok 13: Hotovo

Hotovo
Hotovo
Hotovo
Hotovo
Hotovo
Hotovo

S lampou na zdi a připravenou přijímat příkazy znamená, že jste hotovi!

Panel LED je natočen tak, aby rovnoměrně rozptýlil světlo v místnosti. Je to pěkný doplněk jakéhokoli pracovního prostoru a schopnost integrace s domácí automatizací je velkým plusem. Moc se mi líbí možnost nastavit barvy RGB a také upravit vyvážení bílé mezi studeným a teplým světlem. Vypadá to stylově a je to skvělá pomoc při nastavování okolních nebo pracovních světel, aby vyhovovala jakémukoli osvětlení, které v tuto chvíli mám.

Gratulujeme, nyní jste udělali velký skok do světa IoT a domácí automatizace!