Obsah:

IoT vonkajšie dvierka pre domáce zvieratá: 6 krokov (s obrázkami)
IoT vonkajšie dvierka pre domáce zvieratá: 6 krokov (s obrázkami)

Video: IoT vonkajšie dvierka pre domáce zvieratá: 6 krokov (s obrázkami)

Video: IoT vonkajšie dvierka pre domáce zvieratá: 6 krokov (s obrázkami)
Video: Возведение перегородок санузла из блоков. Все этапы. #4 2024, Júl
Anonim
IoT vonkajšie dvere pre domáce zvieratá
IoT vonkajšie dvere pre domáce zvieratá
IoT vonkajšie dvere pre domáce zvieratá
IoT vonkajšie dvere pre domáce zvieratá
IoT vonkajšie dvere pre domáce zvieratá
IoT vonkajšie dvere pre domáce zvieratá
IoT vonkajšie dvere pre domáce zvieratá
IoT vonkajšie dvere pre domáce zvieratá

Inšpiroval som sa týmto návodom na vytvorenie automatických dverí pre kurník. Nielenže som chcel, aby dvere pre kurník mali časovač, ale tiež som ich chcel pripojiť k internetu, aby som ich mohol ovládať pomocou telefónu alebo počítača. Tieto dvere boli postavené pre môj kurník, ale dali sa ľahko použiť na iné typy bývania pre rôzne domáce zvieratá. Okrem starého anténneho motora do auta, ktorý som použil, môžete použiť aj rôzne druhy 12 V motorov.

Po nastavení a pripojení Adafruit IO a IFTTT k môjmu ESP8266 je možné moje dvere kurníka ovládať online. Dvere je možné otvoriť alebo zatvoriť:

1) V presných časoch, ktoré zadávam na adafruit.io

2) Stlačením tlačidla na telefóne

3) Odoslaním textovej správy na konkrétne číslo

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

5) Stlačením fyzického tlačidla

Okrem týchto funkcií môžu dvere kurníka posielať push notifikácie na môj telefón prostredníctvom aplikácie IFTTT o akýchkoľvek problémoch s dverami, ako sú napríklad dvere, ktoré sa nedajú otvoriť alebo zatvoriť.

Pretože môj kurník je vonku asi 500 stôp od môjho smerovača WiFi, na uskutočnenie tohto projektu som použil vysielač a prijímač 433 MHz RFM69HCW spárovaný s ESP8266. K dispozícii je čierny izbový vysielač s hardvérom, ktorý je pripojený k internetu, a sivý vonkajší prijímač, ktorý ovláda motor.

Tento návod vás prevedie procesom vytvorenia hardvéru potrebného na ovládanie 12 V motora, ktorý otvára alebo zatvára moje dvierka.

Použil som nasledujúce diely:

Adafruit 32u4 s frekvenciou 433 MHz RFM69HCW - 25 dolárov

Adafruit MCP23017 I2C 16 expandér vstupných/výstupných portov IC - 2,95 dolárov

Perie Adafruit HUZZAH s WiFi ESP8266 - 16,95 dolára

Rádio Adafruit FeatherWing 433 MHz RFM69HCW - 10 dolárov

Adafruit SMA konektor pre PCB s hrúbkou 1,6 mm - 2,50 dolára

Anténny konektor Adafruit uFL SMA - 0,75 dolára

Tlačidlo Adafruit RGB - 10,95 dolárov

Napájanie 12 V - 7 dolárov

Napájanie 5V USB - 7 dolárov

Micro USB kábel - 5 dolárov

4-kanálová reléová doska (môže používať 2 kanály)- 7 dolárov

Konvertor DC -DC Buck (používaný iba jeden, ale balený po 5) - 20 dolárov

Reed Switch (magnetický snímač dverových spínačov) - 9 dolárov

2x 433 MHz všesmerová anténa - 6 dolárov

Káblový adaptér uFL na SMA (použitý iba jeden, ale balený po 2) - 5 dolárov

Vodotesný vonkajší projektový box ABS - 11 dolárov

Čierny projektový box ABS - 10 dolárov

20 x 4 modrý znakový LCD - 10 dolárov

12V automobilový anténny motor - ~ 25 dolárov na ebay

Drôt a odpory

Krok 1: Vonkajší prijímač

Vonkajší prijímač
Vonkajší prijímač
Vonkajší prijímač
Vonkajší prijímač

Vonkajší prijímač sa skladá z adaptéra Adafruit 32u4 s frekvenciou 433 MHz RFM69HCW pripojeného k niekoľkým relé, ktoré zapínajú alebo vypínajú napájanie motora 12V. Tieto moduly, ako aj menič DC-DC na 12 V až 5 V sú vo vnútri vodotesného sivého projektového boxu. Nakoniec je k jednému z kolíkov mikrokontroléra 32u4 Arduino pripojený snímač dverného spínača, ktorý sníma, či sú dvere správne otvorené alebo zatvorené, keď by mali mať.

Interiérový vysielač pošle každých 15 sekúnd „Otvorené“alebo „Zatvorené“. Na základe prijatého príkazu Arduino 32u4 zapne alebo vypne relé. Pre motor, ktorý som vybral, čo je starý anténny motor do auta, som musel zapnúť alebo vypnúť dve relé kvôli tomu, ako je motor zapojený. V zásade existovalo relé na zapnutie napájania a potom ďalšie relé, ktoré ovládalo, či sa motor vysunul alebo zasunul alebo nie.

Akonáhle je prijatý prenos otvorený alebo zatvorený, vonkajší prijímač odpovie stavom „senzorOtvorený“alebo „senzor zatvorený“, čím indikuje stav senzora spínača dverí. V ideálnom prípade by príkaz „otvoriť“vrátil odpoveď „snímačOtvorený“, ak sa však dvere zaseknú alebo sa motor zasekne, nebudú sa zhodovať. Ak sa nezhodujú, izbový vysielač zobrazí tieto informácie a na váš telefón bude odoslané upozornenie push.

Krok 2: Pripojenie hardvéru vonkajšieho prijímača

Pripojenie hardvéru vonkajšieho prijímača
Pripojenie hardvéru vonkajšieho prijímača
Pripojenie hardvéru vonkajšieho prijímača
Pripojenie hardvéru vonkajšieho prijímača
Pripojenie hardvéru vonkajšieho prijímača
Pripojenie hardvéru vonkajšieho prijímača

Hardvér pre vonkajší prijímač nie je príliš ťažké zapojiť. Nižšie som zahrnul schematickú schému, aby bolo možné ľahko vidieť kolíky, ktoré som použil.

Ako som uviedol vyššie, motor, ktorý som použil, vyžadoval dve relé. Priložil som obrázok pinoutu. Keď zapojíte 12V na červený vodič, motor sa zasunie, ak je vysunutý. Ak súčasne zapojíte 12V na červený a zelený vodič, motor sa vysunie.

Jazýčkový spínač, ktorý som pripojil vyššie, by mal byť zapojený ako normálne zatvorený spínač. Rozdiel medzi normálne otvoreným a normálne zatvoreným je vysvetlený na obrázku, ktorý som pripojil vyššie. Pomocou softvéru je k vstupnému kolíku na 32u4 pripevnený vnútorný výsuvný odpor, takže stačí len pripojiť dverný spínač k vstupnému kolíku a tiež k zemi.

K Adafruit 32u4 budete musieť pripojiť anténu. Pozrite sa na skutočne dobre vysvetlený návod spoločnosti Adafruit k tomuto kroku. Aby som dosiahol lepší dosah, rozhodol som sa použiť namiesto kúska drôtu externú anténu.

Krok 3: Vnútorný vysielač

Vnútorný vysielač
Vnútorný vysielač
Vnútorný vysielač
Vnútorný vysielač
Vnútorný vysielač
Vnútorný vysielač

Vnútorný vysielač sa skladá z rádia Adafruit Radio FeatherWing 433 MHz RFM69HCW, umiestneného na vrchu Adafruit Feather HUZZAH s ESP8266 WiFi. Tieto moduly sú pripojené k displeju s rozmermi 20 x 4 znakov a striebornému tlačidlu RGB vo vnútri čierneho projektového boxu.

Displej má hodiny synchronizované NTC, silu RSSI v dB (meria silu rádiových signálov), čas, kedy sa dvere kurníka otvoria, čas, kedy sa dvere kurníka zatvoria, a aktuálny stav dverí. Pri zatvorených dverách je tlačidlo červené a pri otvorených dverách zelené.

Ak vonkajší prijímač stratí napájanie alebo ak signál 433 MHz nemožno z akéhokoľvek dôvodu odoslať, displej a tlačidlo RGB prejdú do prvého z dvoch možných chybových režimov. V prvom chybovom režime sa na displeji zobrazí „CHYBA! Skúste reštartovať vonkajší prijímač“. a tlačidlo nebude mať farbu. Ak senzor spínača dverí zistí, že sa dvere nezatvorili alebo neotvorili správne, displej a tlačidlo RGB prejdú do druhého z dvoch chybových režimov. V druhom chybovom režime sa na displeji zobrazí „CHYBA! Problém so senzorom dverí alebo spínača“. a tlačidlo nebude mať farbu. Keď sa problém sám vyrieši, displej a tlačidlo RGB sa vrátia do normálu. V takom prípade môžete do svojho telefónu dostávať upozornenia push, ak sa vyskytne niektorý z týchto chybových režimov (týmto nastavením sa budem zaoberať v neskoršom kroku).

Krok 4: Pripojenie hardvéru interiérového vysielača

Pripojenie hardvéru interiérového vysielača
Pripojenie hardvéru interiérového vysielača
Pripojenie hardvéru interiérového vysielača
Pripojenie hardvéru interiérového vysielača

Po naskladaní rádia Adafruit Radio FeatherWing 433 MHz RFM69HCW na vrch Adafruit Feather HUZZAH s ESP8266 WiFi zostanú iba 2 piny, ktoré nie sú obsadené, piny I2C SDA a SCL. Preto som išiel s integrovaným obvodom (IC) MCP23017. Je to skutočne skvelý integrovaný obvod, ktorý pripája až 16 ďalších vstupno -výstupných pinov k akémukoľvek mikrokontroléru cez I2C. Navyše je tu vopred napísaná knižnica s názvom Adafruit-RGB-LCD-Shield, ktorá používa tento integrovaný obvod s displejom znakov, ktorý je technicky napísaný pre tento produkt Adafruit, ale pre tento projekt funguje perfektne.

Myšlienka používať MCP23017 s displejom znakov pochádza z tohto veľmi dobre napísaného návodu. Pozrite sa na to!

Vzal som to podľa pokynov a namiesto pripojenia viacerých tlačidiel a RGB displeja k IC som pripojil iba jedno tlačidlo, ktoré malo v sebe RGB LED a monochromatický displej k IC. To mi umožnilo definovať PIN 1 integrovaného obvodu (zvyčajne sa používa pre modré podsvietenie displeja RGB) ako podsvietenie pre môj monochromatický displej, PIN 28 (zvyčajne sa používa pre zelené podsvietenie displeja RGB) ako červenú diódu LED vo vnútri tlačidlo a PIN 27 (zvyčajne sa používa pre červené podsvietenie displeja RGB) ako zelenú diódu LED vo vnútri tlačidla. PIN 24 bol pripojený k jednej strane tlačidla a druhá strana bola pripojená k zemi. Pinout tlačidla vidíte na obrázku priloženom vyššie (modrú katódu som nechal odpojenú).

Okrem toho, že som použil tento návod, ktorý som prepojil, aby som pomohol zapojiť displej, zahrnul som frivážovú schému, ktorá vám pomôže pripojiť všetko.

Ako je vysvetlené v tomto návode na používanie programu Adafruit, budete musieť skratovať tri kolíky na vrchu zariadenia FeatherWing 433 MHz RFM69HCW. K FeatherWing 433 MHz RFM69HCW budete tiež musieť pripojiť anténu. Pozrite sa na skutočne dobre vysvetlený návod spoločnosti Adafruit k tomuto kroku. Na dosiahnutie lepšieho dosahu som sa namiesto kúska drôtu rozhodol použiť externú anténu s bočne namontovaným konektorom SMA.

Krok 5: Pripojenie k serverom Adafruit. IO a IFTTT

Pripojenie k Adafruit. IO a IFTTT
Pripojenie k Adafruit. IO a IFTTT
Pripojenie k Adafruit. IO a IFTTT
Pripojenie k Adafruit. IO a IFTTT

Adafruit IO:

Ak nemáte účet, postupujte podľa pokynov v tomto návode na používanie programu Adafruit a zaregistrujte sa na server Adafruit. IO. Mali by ste si tiež prečítať o tom, čo je informačný kanál a informačný panel.

Jednoducho povedané, informačný panel je niečo ako grafické používateľské rozhranie, zatiaľ čo kanály slúžia na odosielanie údajov, aby ste ich mohli uložiť na internet. Budete musieť vytvoriť 1 informačný panel a 4 informačné kanály. Svojho som pomenoval skôr, ako som vedel, ako sa správne píše kurník, takže mi prosím odpustite nesprávne hláskovanie. Ak nechcete premenovať názvy kanálov v kóde arduino, použite rovnaké pomenovanie ako ja.

Najprv vytvorte štyri kanály:

1) „Kurací puč“Toto je prepínač Otvorené/Zatvorené

2) „Časovač kuracieho prevaru“Toto je časovač otvorenia

3) „Časovač kuracieho prevaru 2“Toto je časovač zatvorenia

4) „Chybové hlásenie kuracieho prevaru“Toto je pre chybové správy

Vytvorte informačný panel, ktorý sa nazýva Chicken Coup, a pomocou modrého tlačidla + pridajte 4 bloky. Typy blokov, ktoré by ste mali umiestniť, ako aj názvy blokov, nájdete na obrázku vyššie. Stavy prepínačov pomenujte presne „Otvorené“a „Zatvorené“

IFTTT:

Časť IFTTT tohto projektu pridáva schopnosť stlačiť tlačidlo na telefóne a odoslať text na otvorenie alebo zatvorenie dverí kurníka. Umožňuje tiež aplikácii IFTTT posielať upozornenia push, ak je čokoľvek zverejnené v kanáli chybových správ Chicken Coup. Ak tieto funkcie nechcete, môžete túto časť preskočiť.

Najprv si vytvorte účet IFTTT, ak ho ešte nemáte. Ak chcete použiť vopred pripravené aplety, ktoré som vytvoril, prejdite na svoj účet a zapnite požadované aplety. V opačnom prípade si budete musieť vytvoriť svoj vlastný a prihlásiť sa na odber alebo zverejniť krmivo adafruit, ktoré ste vytvorili vyššie.

Krok 6: Nahranie kódu a úprava WiFi SSID a hesla

Aby ste mohli nahrať kód do interiérového vysielača, budete musieť prejsť na túto stránku tutoriálu Adafruit.

Aby ste mohli nahrať kód do vonkajšieho prijímača, budete musieť prejsť na túto stránku tutoriálu Adafruit.

Budete musieť nainštalovať knižnicu RFM69, knižnicu Adafruit_RGBLCDShield, hodinovú knižnicu NTC nazývanú simpleDSTadjust a knižnicu tickerov. Tu nájdete návod, ako na to.

Otvorte Arduino IDE a nahrajte kód „Outdoor_Receiver.ino“do vonkajšieho Arduino 32u4 pomocou kábla USB.

Potom otvorte „Indoor_Transmitter.ino“, otvorte kartu config.h a do úvodzoviek zadajte svoje WiFi meno (SSID) a heslo. Potom získajte svoje používateľské meno a kľúč IO Adafruit. IO podľa tejto stránky s návodom a zadajte ho na kartu config.h.

Ak ste zmenili názvy informačných kanálov Adafruit IO, budete musieť kód upraviť na hlavnej karte Indoor_Transmitter. Upravte nasledujúce položky:

AdafruitIO_Feed *toggleSwitch = io.feed ("Kurací prevrat");

AdafruitIO_Feed *timer = io.feed („časovač kuracieho prevaru“);

AdafruitIO_Feed *timer2 = io.feed ("Časovač kuracieho prevaru 2");

AdafruitIO_Feed *error = io.feed („chybové hlásenie kuracieho prevaru“);

To by malo byť všetko, čo musíte urobiť! Ak by ste chceli ďalej pochopiť, ako tieto dva náčrty fungujú, komentoval som kód. Ak máte nejaké otázky, dajte nám prosím vedieť. Veľa štastia!

Odporúča: