INHOUDSOPGAWE:

IoT Outdoor Pet Door: 6 stappe (met foto's)
IoT Outdoor Pet Door: 6 stappe (met foto's)

Video: IoT Outdoor Pet Door: 6 stappe (met foto's)

Video: IoT Outdoor Pet Door: 6 stappe (met foto's)
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Julie
Anonim
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door
IoT Outdoor Pet Door

Ek is geïnspireer deur hierdie instruksies om 'n outomatiese hoenderhokdeur te skep. Ek wou nie net die deur van die hoenderhok op 'n timer hê nie, maar ek wou ook die deur aan die internet koppel sodat ek dit met my selfoon of my rekenaar kon beheer. Hierdie deur is vir my hoenderhok gebou, maar dit kan maklik toegepas word op ander soorte huisvestings vir 'n verskeidenheid troeteldiere. U kan ook verskillende soorte 12V -motors gebruik, behalwe die ou motormotor wat ek gebruik het.

Nadat ek Adafruit IO en IFTTT opgestel en verbind het met my ESP8266, kan my deur van die hoenderhok aanlyn beheer word. Die deur kan oopgemaak of toegemaak word:

1) Op presiese tye waarop ek op adafruit.io ingaan

2) Deur op 'n knoppie op my foon te druk

3) Deur 'n SMS na 'n spesifieke nommer te stuur

4) Deur op 'n knoppie op adafruit.io te klik

5) Deur op 'n fisiese knoppie te druk

Bo en behalwe hierdie funksies, kan die hoenderhokdeur via die IFTTT -app stootkennisgewings na my telefoon stuur oor probleme met die deur, soos dat die deur nie kan oopmaak of toemaak nie.

Omdat my hoenderhut ongeveer 500 meter van my WiFi -router af geleë is, het ek 'n 433MHz RFM69HCW -sender en -ontvanger saam met 'n ESP8266 gebruik om hierdie projek te verrig. Daar is 'n swart binnenshuise senderkas met hardeware wat aan die internet gekoppel is en 'n grys buite -ontvangerkas wat die motor beheer.

Hierdie instruksies neem u deur die proses om die hardeware te skep wat nodig is om 'n 12V -motor te bestuur wat my deur van die hoenderhok oopmaak of toemaak.

Ek het die volgende dele gebruik:

Adafruit 32u4 met 433MHz RFM69HCW - $ 25

Adafruit MCP23017 I2C 16 invoer/uitvoer poort -uitbreider IC - $ 2,95

Adafruit Feather HUZZAH met ESP8266 WiFi - $ 16,95

Adafruit Radio FeatherWing 433MHz RFM69HCW - $ 10

Adafruit SMA -aansluiting vir 1,6 mm dik PCB's - $ 2,50

Adafruit uFL SMA -antennaaansluiting - $ 0,75

Adafruit RGB -drukknop - $ 10,95

12V kragtoevoer - $ 7

5V USB -kragbron - $ 7

Mikro -USB -kabel - $ 5

Relay Board vir 4 kanale (kan 2 kanale gebruik)- $ 7

DC -DC Buck -omskakelaar (slegs een gebruik, maar in 'n pak van 5) - $ 20

Rietskakelaar (magnetiese deurskakelaarsensor) - $ 9

2x 433MHz Omnidireksionele antenne - $ 6

uFL na SMA -kabeladapter (slegs een, maar in pak 2) - $ 5

Waterdigte buitelug ABS -projekkas - $ 11

Swart ABS -projekkas - $ 10

20x4 blou karakter LCD - $ 10

12V motor -antenna motor - ~ $ 25 op eBay

Draad en weerstande

Stap 1: Buitelugontvanger

Buitelugontvanger
Buitelugontvanger
Buitelugontvanger
Buitelugontvanger

Die buitelugontvanger bestaan uit 'n Adafruit 32u4 met 433MHz RFM69HCW wat gekoppel is aan 'n paar relais wat die krag vir 'n 12V -motor aan- of uitskakel. Hierdie modules sowel as 'n 12V tot 5V DC-DC-omskakelaar is binne-in 'n waterdigte grys projekkas. Uiteindelik is daar 'n deurskakel -sensor wat aan een van die penne van die 32u4 Arduino -mikrokontroleerder gekoppel is, wat bepaal of die deur behoorlik oop of toe is wanneer dit moet.

Elke 15 sekondes stuur die binnenshuise sender 'oop' of 'sluit'. Op grond van die opdrag wat ontvang is, skakel die Arduino 32u4 'n relais aan of uit. Vir die motor wat ek gekies het, 'n ou motor -antennamotor, moes ek twee aflosse aan- of afskakel weens die manier waarop die motor bedraad is. Eintlik was daar 'n relais om die krag aan te skakel en dan nog 'n relais wat beheer het of die motor verleng of ingetrek is.

Sodra die oop of toe transmissie ontvang is, reageer die buitelugontvanger met "sensorOpen" of "sensorClosed" om die status van die deurskakelaarsensor aan te dui. Ideaal gesproke sou die "oop" opdrag 'n "sensorOpen" reaksie gee, maar as die deur vasval of die motor vassteek, pas dit nie bymekaar nie. As dit nie ooreenstem nie, sal die binnenshuise sender die inligting vertoon en 'n stootkennisgewing sal na u telefoon gestuur word.

Stap 2: Koppel hardeware vir buite -ontvanger aan

Koppel hardeware vir buite -ontvanger aan
Koppel hardeware vir buite -ontvanger aan
Koppel hardeware vir buite -ontvanger aan
Koppel hardeware vir buite -ontvanger aan
Koppel hardeware vir buite -ontvanger aan
Koppel hardeware vir buite -ontvanger aan

Die hardeware vir die buitelugontvanger is nie te moeilik om op te snoer nie. Ek het 'n skets hieronder ingesluit sodat die penne wat ek gebruik het, maklik gesien kan word.

Soos ek hierbo gesê het, benodig die motor wat ek gebruik het twee aflosse. Ek het 'n foto van die pinout ingesluit. Die tweede keer dat u 12V aan die rooi draad koppel, sal die motor intrek as dit verleng word. As u terselfdertyd 12V aan die rooi draad en die groen draad koppel, sal die motor verleng word.

Die rietskakelaar wat ek hierbo gekoppel het, moet bedraad wees as 'n normaal gesluit skakelaar. Die verskil tussen normaal oop en normaal gesluit word verduidelik op die foto wat ek hierbo aangeheg het. Met behulp van sagteware is daar 'n interne pullup -weerstand aan die ingangspen op die 32u4 gekoppel, dus al wat u hoef te doen is om die deurskakelaar aan die invoerpen te koppel en ook op die grond.

U moet 'n antenna aan die Adafruit 32u4 koppel. Kyk na die werklik verduidelikde tutoriaal van Adafruit oor hierdie stap. Ek het gekies om 'n eksterne antenna in plaas van 'n stuk draad te gebruik om 'n beter bereik te kry.

Stap 3: Binnensender

Binnensender
Binnensender
Binnensender
Binnensender
Binnensender
Binnensender

Die binnenshuise sender bestaan uit 'n Adafruit Radio FeatherWing 433MHz RFM69HCW bo -op 'n Adafruit Feather HUZZAH met ESP8266 WiFi. Hierdie modules is gekoppel aan 'n skerm van 20x4 karakters en 'n silwer RGB -knoppie in 'n swart projektiekas.

Die skerm het 'n NTC -gesynchroniseerde klok, die RSSI -sterkte in dB (meet die sterkte van radioseine), die tyd wanneer die hoenderhokdeur oopgaan, die tyd wanneer die hoenderhokdeur toemaak en die huidige status van die deur. Die knoppie is rooi as die deur toe is en groen as die deur oop is.

As die buitelugontvanger krag verloor of as die 433MHz -sein om watter rede ook al nie gestuur kan word nie, gaan die skerm en die RGB -knoppie in die eerste van twee moontlike foutmodusse. In die eerste foutmodus sal die skerm sê: "FOUT! Probeer om die buitelugontvanger weer te begin." en die knoppie sal nie 'n kleur hê nie. As die deurskakelaarsensor ontdek dat die deur nie behoorlik toegemaak of oopgemaak is nie, gaan die skerm en die RGB -knoppie in die tweede van twee foutmodusse. In die tweede foutmodus sal die skerm "ERROR! Deur- of skakelaarsensorprobleem" sê. en die knoppie sal nie 'n kleur hê nie. As die probleem self opgelos is, word die skerm en die RGB -knoppie weer normaal. U kan stootkennisgewings na u telefoon ontvang as een van hierdie foutmodusse voorkom (ek sal die opstelling in 'n latere stap bespreek).

Stap 4: Koppel hardeware vir binnenshuise sender aan

Verbind hardeware vir binnenshuise sender
Verbind hardeware vir binnenshuise sender
Verbind hardeware vir binnenshuise sender
Verbind hardeware vir binnenshuise sender

Nadat u die Adafruit Radio FeatherWing 433MHz RFM69HCW bo -op 'n Adafruit Feather HUZZAH met ESP8266 WiFi gestapel het, bly daar slegs 2 penne oor wat nie geneem word nie, die I2C -penne SDA en SCL. Daarom het ek die MCP23017 geïntegreerde stroombaan (IC) gebruik. Dit is 'n baie cool IC wat tot 16 bykomende invoer-/uitvoerpenne met enige mikrobeheerder via I2C verbind. Boonop is daar 'n voorafgeskrewe biblioteek genaamd Adafruit-RGB-LCD-Shield wat hierdie IC gebruik met 'n karaktervertoning wat tegnies vir hierdie Adafruit-produk geskryf is, maar dit werk perfek vir hierdie projek.

Die idee om die MCP23017 met 'n karaktervertoning te gebruik, kom uit hierdie baie goedgeskrewe instruksie. Kyk gerus!

Ek het die instruksies geneem en in plaas van om verskeie knoppies en 'n RGB -skerm aan die IC te koppel, het ek slegs een knoppie met 'n RGB -LED daarin en 'n monochrome skerm aan die IC gekoppel. Dit het my in staat gestel om PIN 1 van die IC (tipies gebruik vir die blou agtergrond van 'n RGB -skerm) te definieer as die agtergrond vir my monochrome skerm, PIN 28 (tipies gebruik vir die groen agtergrond van 'n RGB -skerm) as die rooi LED in die knoppie en PIN 27 (tipies gebruik vir die rooi agtergrond van 'n RGB -skerm) as die groen LED in die knoppie. PIN 24 is aan die een kant van die knoppie gekoppel en die ander kant aan die grond gekoppel. U kan die knoppie op die knoppie sien op die foto hierbo (ek het die blou katode ontkoppel gelaat).

Behalwe dat ek die instruksies wat ek gekoppel het om die skerm te gebruik, gebruik het, het ek 'n fritzing -skematika bevat wat u sal help om alles aan te sluit.

U sal drie penne bo -op die FeatherWing 433MHz RFM69HCW moet kort, soos verduidelik deur hierdie Adafruit -tutoriaal. U moet ook 'n antenna aan die FeatherWing 433MHz RFM69HCW koppel. Kyk na die werklik verduidelikde tutoriaal van Adafruit oor hierdie stap. Ek het gekies om 'n eksterne antenna met 'n sy -gemonteerde SMA -aansluiting te gebruik in plaas van 'n stuk draad om 'n beter bereik te kry.

Stap 5: Koppel aan Adafruit. IO en IFTTT

Koppel aan Adafruit. IO en IFTTT
Koppel aan Adafruit. IO en IFTTT
Koppel aan Adafruit. IO en IFTTT
Koppel aan Adafruit. IO en IFTTT

Adafruit IO:

Volg die instruksies in hierdie Adafruit -tutoriaal om aan te meld by Adafruit. IO as u nie 'n rekening het nie. U moet ook lees oor wat 'n voer en 'n paneelbord is.

In eenvoudige terme, 'n paneelbord is soortgelyk aan die grafiese gebruikerskoppelvlak, terwyl die feeds waarna u data stuur, sodat u dit op die internet kan stoor. U moet 1 dashboard en 4 feeds skep. Ek het myne vernoem voordat ek geweet het hoe om die hoenderhok reg te spel, so vergewe die verkeerde spelling. As u nie die voedingsname in die arduino -kode wil hernoem nie, gebruik dan dieselfde naam as ek.

Skep eers die vier feeds:

1) "Chicken Coup" Dit is vir die oop/geslote skakelaar

2) "Chicken Coup Timer" Dit is vir die oop timer

3) "Chicken Coup Timer 2" Dit is vir die timer

4) "Chicken Coup Error Message" Dit is vir die foutboodskappe

Skep 'n paneelbord met die naam Chicken Coup en voeg 4 blokke by met die blou + knoppie. Sien die prent hierbo vir die tipe blokke wat u moet plaas, asook die name van die blokke. Maak seker dat u die skakelaarstatus presies noem "Oop" en "Geslote"

IFTTT:

Die IFTTT -deel van hierdie projek bied die moontlikheid om op 'n knoppie op u telefoon te druk en 'n sms te stuur om die deur van die hoenderhok oop of toe te maak. Dit stel die IFTTT -program ook in staat om vir u stootkennisgewings te stuur as iets in die Chicken Coup -foutboodskapstroom gepubliseer word. As u nie hierdie funksies wil hê nie, kan u hierdie afdeling oorslaan.

Stel eers 'n IFTTT -rekening op as u nog nie een het nie. As u die voorafgemaakte applets wil gebruik, navigeer u na my rekening en skakel die applets aan wat u wil hê. Andersins moet u u eie skep en inskryf of publiseer op die adafruit -voer wat u hierbo geskep het.

Stap 6: Laai kode op en wysig WiFi SSID en wagwoord

U moet deur hierdie bladsy van die Adafruit -tutoriaal gaan om kode na die binnenshuise sender te kan oplaai.

U moet deur hierdie bladsy van die Adafruit -tutoriaal gaan om kode na die buitelugontvanger te kan oplaai.

U moet die RFM69 -biblioteek, die Adafruit_RGBLCDShield -biblioteek, die NTC -klokbiblioteek genaamd simpleDSTadjust en die tikbiblioteek installeer. U kan hier 'n handleiding vind oor hoe u dit kan doen.

Maak Arduino IDE oop en laai die 'Outdoor_Receiver.ino' -kode op na die buite Arduino 32u4 via 'n USB -kabel.

Open dan "Indoor_Transmitter.ino", maak die tab config.h oop en voer u WiFi -naam (SSID) en wagwoord in die aanhalingstekens in. Verkry dan u Adafruit. IO gebruikersnaam en IO -sleutel deur hierdie tutoriaalbladsy te volg en voer dit in op die tab config.h.

As u die name van die Adafruit IO -feeds verander het, moet u die kode op die hoofoortjie Indoor_Transmitter wysig. Wysig die volgende:

AdafruitIO_Feed *toggleSwitch = io.feed ("Chicken Coup");

AdafruitIO_Feed *timer = io.feed ("Chicken Coup Timer");

AdafruitIO_Feed *timer2 = io.feed ("Chicken Coup Timer 2");

AdafruitIO_Feed *error = io.feed ("Chicken Coup Error Message");

Dit moet al wees wat u hoef te doen! As u verder wil verstaan hoe die twee sketse werk, het ek kommentaar gelewer op die kode. Laat weet my asseblief as u enige vrae het. Sterkte!

Aanbeveel: