Obsah:

IoT Outdoor Pet Door: 6 kroků (s obrázky)
IoT Outdoor Pet Door: 6 kroků (s obrázky)

Video: IoT Outdoor Pet Door: 6 kroků (s obrázky)

Video: IoT Outdoor Pet Door: 6 kroků (s obrázky)
Video: Kamera-LAMP se sledováním a identifikací osoby. 2024, Listopad
Anonim
Dveře pro domácí zvířata IoT
Dveře pro domácí zvířata IoT
Dveře pro domácí zvířata IoT
Dveře pro domácí zvířata IoT
Venkovní dveře pro domácí zvířata IoT
Venkovní dveře pro domácí zvířata IoT
Venkovní dveře pro domácí zvířata IoT
Venkovní dveře pro domácí zvířata IoT

Inspiroval mě tento návod k vytvoření automatických dveří pro kurník. Chtěl jsem nejen, aby dveře kurníku byly na časovači, ale chtěl jsem také připojit dveře k internetu, abych je mohl ovládat telefonem nebo počítačem. Tyto dveře byly postaveny pro můj kurník, ale mohly být snadno použity pro jiné typy bydlení pro různé domácí mazlíčky. Kromě starého anténního motoru do auta, který jsem použil, můžete také použít různé druhy 12V motorů.

Po nastavení a připojení Adafruit IO a IFTTT k mému ESP8266 lze dveře mého kurníku ovládat online. Dveře lze otevřít nebo zavřít:

1) V přesných časech, které zadávám na adafruit.io

2) Stisknutím tlačítka na mém telefonu

3) Odesláním textové zprávy na konkrétní číslo

4) Kliknutím na tlačítko na adafruit.io

5) Stisknutím fyzického tlačítka

Kromě těchto funkcí mohou dveře kurníku odesílat push notifikace na můj telefon prostřednictvím aplikace IFTTT o jakýchkoli problémech se dveřmi, jako je neotevření nebo zavření dveří.

Protože můj kurník je venku asi 500 stop od mého WiFi routeru, použil jsem k realizaci tohoto projektu vysílač a přijímač 433 MHz RFM69HCW spárovaný s ESP8266. K dispozici je černý vnitřní vysílač s hardwarem připojeným k internetu a šedý venkovní přijímač, který ovládá motor.

Tento návod vás provede procesem vytváření hardwaru potřebného k ovládání motoru 12V, který otevírá nebo zavírá dveře mého kurníku.

Použil jsem následující díly:

Adafruit 32u4 s 433 MHz RFM69HCW - 25 $

Adafruit MCP23017 I2C 16 expandér vstupních/výstupních portů IC - 2,95 $

Adafruit Feather HUZZAH s WiFi ESP8266 - 16,95 $

Rádio Adafruit FeatherWing 433 MHz RFM69HCW - 10 $

Adafruit SMA konektor pro 1,6 mm silné PCB - 2,50 $

Adafruit uFL SMA anténní konektor - 0,75 $

Tlačítko Adafruit RGB - 10,95 $

Napájení 12V - 7 $

Napájení 5V USB - 7 $

Micro USB kabel - 5 $

4kanálová reléová deska (lze použít 2 kanály)- 7 $

DC -DC Buck Converter (pouze jeden, ale dodáván jako balíček 5) - 20 $

Reed Switch (magnetický senzor dveřního spínače) - 9 $

2x 433MHz všesměrová anténa - 6 $

Kabelový adaptér uFL na SMA (pouze jeden, ale dodáván jako balení po 2) - 5 $

Vodotěsný venkovní projektový box ABS - 11 $

Černý projektový box ABS - 10 $

20x4 LCD s modrým znakem - 10 $

12V automobilový anténní motor - ~ 25 $ na ebay

Drát a odpory

Krok 1: Venkovní přijímač

Venkovní přijímač
Venkovní přijímač
Venkovní přijímač
Venkovní přijímač

Venkovní přijímač se skládá z Adafruit 32u4 s 433MHz RFM69HCW připojeného k několika relé, která zapínají nebo vypínají napájení 12V motoru. Tyto moduly a převodník DC-DC na 12 V až 5 V jsou uvnitř vodotěsného šedého projektového boxu. Nakonec je k jednomu z kolíků mikrokontroléru 32u4 Arduino připojen snímač dveřního spínače, který snímá, zda se dveře správně otevřely nebo zavřely, když by měly mít.

Každých 15 sekund vnitřní vysílač odešle „Otevřít“nebo „Zavřít“. Na základě přijatého příkazu Arduino 32u4 zapne nebo vypne relé. Pro motor, který jsem vybral, což je starý motor antény automobilu, jsem musel zapnout nebo vypnout dvě relé kvůli tomu, jak je motor zapojen. V zásadě tam bylo relé pro zapnutí napájení a pak další relé, které ovládalo, zda se motor vysunul nebo zasunul nebo ne.

Jakmile je přijat přenos otevřeného nebo zavřeného venkovního přijímače, odpoví stavem „sensorOpen“nebo „sensorClosed“, čímž indikuje stav senzoru dveřního spínače. V ideálním případě by příkaz „otevřít“vrátil odpověď „sensorOpen“, ale pokud se dveře zaseknou nebo se motor zasekne, nebudou se shodovat. Pokud se neshodují, vnitřní vysílač zobrazí tyto informace a do vašeho telefonu bude odesláno oznámení push.

Krok 2: Připojení hardwaru venkovního přijímače

Připojení hardwaru venkovního přijímače
Připojení hardwaru venkovního přijímače
Připojení hardwaru venkovního přijímače
Připojení hardwaru venkovního přijímače
Připojení hardwaru venkovního přijímače
Připojení hardwaru venkovního přijímače

Hardware pro venkovní přijímač není příliš obtížné zapojit. Níže jsem zahrnul schematické schéma, aby bylo možné snadno zobrazit kolíky, které jsem použil.

Jak jsem uvedl výše, motor, který jsem použil, vyžadoval dvě relé. Přiložil jsem obrázek pinoutu. Jakmile připojíte 12V k červenému vodiči, motor se zatáhne, pokud je prodloužen. Pokud připojíte 12V k červenému a zelenému vodiči současně, motor se vysune.

Jazýčkový spínač, který jsem připojil výše, by měl být zapojen jako normálně uzavřený spínač. Rozdíl mezi normálně otevřeným a normálně zavřeným je vysvětlen na obrázku, který jsem připojil výše. Pomocí softwaru je na vstupním pinu na 32u4 připojen vnitřní vytahovací odpor, takže stačí jen připojit dveřní spínač ke vstupnímu pinu a také k zemi.

K Adafruit 32u4 budete muset připojit anténu. Podívejte se na opravdu dobře vysvětlený návod Adafruit k tomuto kroku. Pro lepší dosah jsem se rozhodl použít místo kusu drátu externí anténu.

Krok 3: Vnitřní vysílač

Vnitřní vysílač
Vnitřní vysílač
Vnitřní vysílač
Vnitřní vysílač
Vnitřní vysílač
Vnitřní vysílač

Vnitřní vysílač se skládá z rádia Adafruit Radio FeatherWing 433 MHz RFM69HCW naskládaného na Adafruit Feather HUZZAH s ESP8266 WiFi. Tyto moduly jsou připojeny k displeji se znaky 20x4 a stříbrnému tlačítku RGB uvnitř černé skříňky projektu.

Displej má synchronizované hodiny NTC, sílu RSSI v dB (měří sílu rádiových signálů), čas, kdy se otevřou dveře kurníku, čas, kdy se dveře kurníku zavřou, a aktuální stav dveří. Tlačítko je červené, když jsou dveře zavřené, a zelené, když jsou dveře otevřené.

Pokud venkovní přijímač ztratí napájení nebo pokud z jakéhokoli důvodu nelze odeslat signál 433 MHz, přejde displej a tlačítko RGB do prvního ze dvou možných chybových režimů. V prvním chybovém režimu se na displeji zobrazí „CHYBA! Zkuste restartovat venkovní přijímač“. a tlačítko nebude mít barvu. Pokud senzor dveřního spínače detekuje, že se dveře řádně nezavřely nebo neotevřely, přejde displej a tlačítko RGB do druhého ze dvou chybových režimů. Ve druhém chybovém režimu se na displeji zobrazí „CHYBA! Problém se snímačem dveří nebo spínače“. a tlačítko nebude mít barvu. Když se problém sám vyřeší, displej a tlačítko RGB se vrátí do normálu. Pokud se vyskytne některý z těchto chybových režimů, můžete do svého telefonu dostávat oznámení push (toto nastavení si projdu v pozdějším kroku).

Krok 4: Připojení hardwaru vnitřního vysílače

Připojení hardwaru vnitřního vysílače
Připojení hardwaru vnitřního vysílače
Připojení hardwaru vnitřního vysílače
Připojení hardwaru vnitřního vysílače

Po naskládání Adafruit Radio FeatherWing 433MHz RFM69HCW na Adafruit Feather HUZZAH s ESP8266 WiFi zbývají pouze 2 piny, které nejsou odebrány, I2C piny SDA a SCL. Proto jsem šel s integrovaným obvodem (IC) MCP23017. Je to opravdu skvělý IC, který připojuje až 16 dalších vstupních/výstupních pinů k jakémukoli mikrokontroléru přes I2C. Navíc je k dispozici předem napsaná knihovna s názvem Adafruit-RGB-LCD-Shield, která využívá tento integrovaný obvod se zobrazením znaků, které je technicky napsáno pro tento produkt Adafruit, ale pro tento projekt funguje perfektně.

Myšlenka použít MCP23017 s displejem znaků pochází z tohoto velmi dobře napsaného návodu. Podívejte se prosím!

Vzal jsem ten instruktáž a místo připojení více tlačítek a RGB displeje k IC jsem připojil pouze jedno tlačítko, které mělo uvnitř RGB LED a monochromatický displej k IC. To mi umožnilo definovat PIN 1 IC (obvykle se používá pro modré podsvícení displeje RGB) jako podsvícení pro můj monochromatický displej, PIN 28 (obvykle se používá pro zelené podsvícení displeje RGB) jako červenou LED uvnitř tlačítko a PIN 27 (obvykle se používá pro červené podsvícení displeje RGB) jako zelená LED uvnitř tlačítka. PIN 24 byl připojen k jedné straně tlačítka a druhá strana byla připojena k zemi. Pinout tlačítka můžete vidět na výše přiloženém obrázku (modrou katodu jsem nechal odpojenou).

Kromě toho, že jsem použil instruktáž, kterou jsem propojil, abych pomohl zapojit displej, jsem zahrnoval frivalizační schéma, které vám pomůže připojit vše.

Jak je vysvětleno v tomto tutoriálu o Adafruit, budete muset zkrátit tři kolíky v horní části FeatherWing 433 MHz RFM69HCW. K FeatherWing 433 MHz RFM69HCW budete také muset připojit anténu. Podívejte se na opravdu dobře vysvětlený návod Adafruit k tomuto kroku. Pro lepší dosah jsem se rozhodl použít externí anténu s postranním SMA konektorem místo kusu drátu.

Krok 5: Připojení k Adafruit. IO a IFTTT

Připojení k Adafruit. IO a IFTTT
Připojení k Adafruit. IO a IFTTT
Připojení k Adafruit. IO a IFTTT
Připojení k Adafruit. IO a IFTTT

Adafruit IO:

Pokud nemáte účet, postupujte podle pokynů v tomto kurzu Adafruit a zaregistrujte se na Adafruit. IO. Měli byste si také přečíst o tom, co je to zdroj a řídicí panel.

Jednoduše řečeno, řídicí panel je něco jako grafické uživatelské rozhraní, zatímco kanály slouží k odesílání dat, takže je můžete ukládat na internet. Budete muset vytvořit 1 hlavní panel a 4 kanály. Svůj jsem pojmenoval dříve, než jsem věděl, jak správně hláskovat kurník, takže prosím odpusťte nesprávné hláskování. Pokud nechcete přejmenovat názvy kanálů v kódu arduino, použijte stejné pojmenování jako já.

Nejprve vytvořte čtyři kanály:

1) "Chicken Coup" Toto je pro přepínač Open/Closed

2) "Kuřecí časovač převratu" Toto je pro časovač otevření

3) „Časovač kuřecího převratu 2“Toto je časovač zavírání

4) "Chybová zpráva kuřecího převratu" Toto je pro chybové zprávy

Vytvořte řídicí panel s názvem Chicken Coup a přidejte 4 bloky pomocí modrého tlačítka +. Na obrázku výše najdete typy bloků, které byste měli umístit, a také názvy bloků. Stavy přepínačů pojmenujte přesně „Otevřeno“a „Zavřeno“

IFTTT:

Část IFTTT tohoto projektu přidává možnost stisknout tlačítko na telefonu a odeslat text k otevření nebo zavření dveří kurníku. Umožňuje také aplikaci IFTTT posílat vám push oznámení, pokud je cokoli zveřejněno ve zdroji chybových zpráv Chicken Coup. Pokud tyto funkce nechcete, můžete tuto část přeskočit.

Nejprve si založte účet IFTTT, pokud ho ještě nemáte. Pokud chcete použít předem vytvořené aplety, které jsem vytvořil, přejděte na můj účet a zapněte požadované aplety. V opačném případě si budete muset vytvořit vlastní a přihlásit se k odběru nebo publikovat krmivo adafruit, které jste vytvořili výše.

Krok 6: Nahrání kódu a úprava WiFi SSID a hesla

Abyste mohli nahrát kód do vnitřního vysílače, budete muset projít tuto stránku tutoriálu Adafruit.

Abyste mohli nahrát kód do venkovního přijímače, budete muset projít tuto stránku tutoriálu Adafruit.

Budete muset nainstalovat knihovnu RFM69, knihovnu Adafruit_RGBLCDShield, hodinovou knihovnu NTC s názvem simpleDSTadjust a knihovnu ticker. Zde najdete návod, jak na to.

Otevřete Arduino IDE a nahrajte kód „Outdoor_Receiver.ino“do venkovního Arduino 32u4 přes USB kabel.

Poté otevřete „Indoor_Transmitter.ino“, otevřete kartu config.h a do uvozovek zadejte své WiFi jméno (SSID) a heslo. Poté získejte své uživatelské jméno Adafruit. IO a klíč IO podle této výukové stránky a zadejte ji na kartu config.h.

Pokud jste změnili názvy informačních kanálů Adafruit IO, budete muset kód upravit na hlavní kartě Indoor_Transmitter. Upravte následující:

AdafruitIO_Feed *toggleSwitch = io.feed ("Kuřecí puč");

AdafruitIO_Feed *timer = io.feed („časovač kuřecího převratu“);

AdafruitIO_Feed *timer2 = io.feed ("Časovač kuřecího převratu 2");

AdafruitIO_Feed *error = io.feed ("Chybová zpráva kuřecího převratu");

To by mělo být vše, co musíte udělat! Pokud byste chtěli dále porozumět tomu, jak tyto dva náčrty fungují, komentoval jsem kód. Pokud máte nějaké dotazy, dejte mi prosím vědět. Hodně štěstí!

Doporučuje: