Мазмуну:

IoT Outdoor Pet Door: 6 Steps (Сүрөттөр менен)
IoT Outdoor Pet Door: 6 Steps (Сүрөттөр менен)

Video: IoT Outdoor Pet Door: 6 Steps (Сүрөттөр менен)

Video: IoT Outdoor Pet Door: 6 Steps (Сүрөттөр менен)
Video: ЗАМОРОЗЬТЕ КОСТИ И ВАРИТЕ 6 ЧАСОВ! Рецепт который изменит вашу жизнь! 2024, Июль
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

Автоматтык тооккананын эшигин жасоого бул көрсөтмө мени шыктандырды. Мен тооктун короосунун эшигин таймер менен гана каалабастан, аны телефонум же компьютерим менен башкара алам деп интернетке туташтыргым келди. Бул эшик менин тоокканам үчүн курулган, бирок аны үй жаныбарларынын башка түрлөрүнө оңой эле колдонууга болот. Ошондой эле, мен колдонгон эски автоунаа антеннасынын моторунан тышкары, ар кандай 12В кыймылдаткычтарды колдонсоңуз болот.

Adafruit IO менен IFTTTти ESP8266га орнотуп, туташтыргандан кийин, менин тооккананын эшиги онлайн режиминде башкарылышы мүмкүн. Эшикти ачууга же жабууга болот:

1) Мен adafruit.io сайтына кирген так убакта

2) Телефонумдагы баскычты басуу менен

3) Белгилүү бир номерге SMS жөнөтүү менен

4) adafruit.ioдогу баскычты басуу менен

5) Физикалык баскычты басуу менен

Бул өзгөчөлүктөрдүн үстүнө, тооккананын эшиги IFTTT колдонмосу аркылуу телефонума эшиктин ар кандай көйгөйлөрү, мисалы, эшик ачылбай же жабылып калбашы жөнүндө билдирүүлөрдү жөнөтө алат.

Менин тоокканам WiFi роутеримден 500 фут алыстыкта болгондуктан, мен бул долбоорду ишке ашыруу үчүн ESP8266 менен жупташкан 433MHz RFM69HCW өткөргүчүн жана кабыл алуучусун колдондум. Интернетке туташкан жабдыктары бар кара жабык өткөргүч куту жана моторду башкаруучу боз сырткы кабыл алуучу куту бар.

Бул көрсөтмө сизге тооктун короосунун эшигин ачкан же жапкан 12В моторду башкаруу үчүн керектүү жабдыктарды түзүү процессинен өтөт.

Мен төмөнкү бөлүктөрдү колдондум:

Adafruit 32u4 433MHz RFM69HCW менен - $ 25

Adafruit MCP23017 I2C 16 киргизүү/чыгаруу портун кеңейтүүчү IC - $ 2.95

Adafruit Feather HUZZAH менен ESP8266 WiFi - $ 16.95

Adafruit Radio FeatherWing 433MHz RFM69HCW - $ 10

Adafruit SMA Connector 1,6 мм коюу ПКБ үчүн - $ 2.50

Adafruit uFL SMA антенна туташтыргычы - $ 0,75

Adafruit RGB баскыч баскычы - $ 10.95

12V электр менен камсыздоо - $ 7

5V USB энергия менен камсыздоо - $ 7

Микро USB кабели - 5 доллар

4 Channel Relay Board (2 каналды колдоно алат)- $ 7

DC -DC Buck Converter (бирөө гана колдонулган, бирок 5 таңгак болуп келет) - 20 доллар

Reed Switch (магниттик эшикти алмаштыруучу сенсор) - 9 доллар

2x 433MHz көп багыттуу антенна - $ 6

uFL to SMA Cable Adapter (бирөө гана колдонулган, бирок 2 пакетте келет) - 5 доллар

Суу өткөрбөй турган сырткы ABS долбоорунун кутусу - $ 11

Кара ABS долбоор кутусу - 10 доллар

20x4 Blue Character LCD - 10 доллар

12V Car Antenna Motor - ebay боюнча ~ $ 25

Зым жана резисторлор

1 -кадам: Тышкы кабылдагыч

Сыртта кабылдагыч
Сыртта кабылдагыч
Сыртта кабылдагыч
Сыртта кабылдагыч

Сырткы кабылдагыч Adafruit 32u4төн турат, 433МГц RFM69HCW менен 12V мотордун кубаттуулугун күйгүзүп же өчүрүп турган бир нече релеге туташкан. Бул модулдар, ошондой эле 12Vдан 5V DC-DC конвертери суу өткөрбөгөн боз долбоордун кутусунун ичинде. Акырында, 32u4 Arduino микроконтроллеринин казыктарынын бирине туташкан эшикти алмаштыруучу сенсор бар, ал эшиктин качан ачылышы же жабылышы керек экенин сезет.

Ар бир 15 секундда, жабык тараткыч "Ачык" же "Жабуу" жөнөтөт. Алынган буйруктун негизинде Arduino 32u4 релесин күйгүзөт же өчүрөт. Мен тандаган мотор үчүн, эски унаа антеннасынын мотору, мотор кантип зымдалганынан улам, эки релени күйгүзүүгө же өчүрүүгө туура келди. Негизинен электрди күйгүзүү үчүн реле, андан кийин мотордун узартылганын же артка тартылганын көзөмөлдөгөн башка реле болгон.

Ачык же жабык берүү алгандан кийин, сырткы ресивер "sensorOpen" же "sensorClosed" менен жооп берип, эшик которгуч сенсорунун абалын көрсөтөт. Идеалында, "ачык" буйругу "sensorOpen" жообун кайтарат, бирок эгер эшик тыгылып калса же мотор тыгылып калса, алар дал келбейт. Алар дал келбегенде, үйдөгү өткөргүч ошол маалыматты көрсөтүп, телефонуңузга push билдирүүсү жөнөтүлөт.

2 -кадам: Тышкы кабылдагычтын жабдыктарын туташтыруу

Тышкы кабылдагычтын жабдыктарын туташтыруу
Тышкы кабылдагычтын жабдыктарын туташтыруу
Тышкы кабылдагычтын жабдыктарын туташтыруу
Тышкы кабылдагычтын жабдыктарын туташтыруу
Тышкы кабылдагычтын жабдыктарын туташтыруу
Тышкы кабылдагычтын жабдыктарын туташтыруу

Сырткы ресивердин жабдууларын туташтыруу өтө деле кыйын эмес. Мен колдонгон төөнөгүчтөрдү оңой эле көрүү үчүн мен төмөндөгү схеманы киргиздим.

Жогоруда айткандай, мен колдонгон моторго эки реле керек болчу. Мен түйүндүн сүрөтүн коштум. Экинчи жолу 12В кызыл зымга туташтырсаңыз, мотор узартылса артка тартылат. Эгерде сиз бир убакта 12В кызыл зымга жана жашыл зымга туташтырсаңыз, мотор узарат.

Мен жогоруда байланыштырган камыш которгуч кадимкидей жабык которгуч катары зымдуу болушу керек. Адатта ачык менен кадимки жабыктын ортосундагы айырма жогоруда тиркелген сүрөттө түшүндүрүлөт. Программалык камсыздоону колдонуп, 32u4те кирүүчү пинге тиркелген ички тартылуу резистору бар, андыктан эшиктин которуштургучун кирүүчү пинге, ошондой эле жерге туташтыруу керек.

Adafruit 32u4кө антенна тиркөөңүз керек болот. Сураныч, Adafruitтин бул кадам боюнча чындап түшүндүрүлгөн окуу куралын караңыз. Мен жакшы диапазонду алуу үчүн зымдын ордуна тышкы антеннаны колдонууну чечтим.

3 -кадам: Ички өткөргүч

Ички өткөргүч
Ички өткөргүч
Ички өткөргүч
Ички өткөргүч
Ички өткөргүч
Ички өткөргүч

Ички өткөргүч Adafruit Radio FeatherWing 433MHz RFM69HCWден турат, ESP8266 WiFi менен Adafruit Feather HUZZAH үстүнө тизилген. Бул модулдар 20x4 символдуу дисплейге жана кара долбоор кутусунун ичиндеги RGB күмүш баскычына туташкан.

Дисплейде NTC синхрондоштурулган саат бар, RSB күчүн дБ (радио сигналдарынын күчүн өлчөйт), тооктун эшиги ачыла турган убакыт, тооктун эшиги жабыла турган убакыт жана эшиктин учурдагы абалы. Эшик жабылганда баскыч кызыл, эшик ачык болсо жашыл.

Эгерде тышкы кабылдагычтын күчү жоголсо же 433MHz сигналын кандайдыр бир себептерден улам жөнөтүү мүмкүн болбосо, дисплей жана RGB баскычы мүмкүн болгон эки ката режиминин биринчисине өтөт. Биринчи ката режиминде дисплейде "ERROR! Сырткы ресиверди өчүрүп көрүңүз" деп жазылат. жана баскычтын түсү болбойт. Эгерде эшикти которуу сенсору эшиктин туура жабылбаганын же ачылбаганын аныктаса, дисплей жана RGB баскычы эки ката режиминин экинчисине өтөт. Экинчи ката режиминде, дисплейде "ERROR! Door or switch sensor issue" деп жазылат. жана баскычтын түсү болбойт. Көйгөй өзү чечилгенде, дисплей жана RGB баскычы кадимки абалына кайтат. Бул ката режимдеринин бири пайда болсо, сиз телефонуңузга push эскертмелерин ала аласыз (мен бул жөндөөнү кийинчерээк басам).

4 -кадам: Ички өткөргүч жабдууларын туташтыруу

Ички өткөргүч жабдууларын туташтыруу
Ички өткөргүч жабдууларын туташтыруу
Ички өткөргүч жабдууларын туташтыруу
Ички өткөргүч жабдууларын туташтыруу

Adafruit Radio FeatherWing 433MHz RFM69HCWти Adafruit Feather HUZZAH үстүнө ESP8266 WiFi менен кошкондон кийин, I2C казыктары SDA жана SCL алынбайт. Мына ошондуктан мен MCP23017 интегралдык схемасы (IC) менен бардым. Бул I2C аркылуу каалаган микроконтроллерге 16га чейин кошумча киргизүү/чыгаруу казыгын туташтырган чындап эле сонун IC. Мындан тышкары, Adafruit-RGB-LCD-Shield деп аталган алдын ала жазылган китепкана бар, ал бул ICди Adafruit продуктусу үчүн техникалык жактан жазылган тамгалар дисплейи менен колдонот, бирок бул долбоор үчүн эң сонун иштейт.

MCP23017ди каармандарды көрсөтүү менен колдонуу идеясы бул абдан жакшы жазылган көрсөтмөдөн келип чыккан. Сураныч, текшерип көрүңүз!

Мен бул көрсөтмөнү алдым жана ICге бир нече баскычтарды жана RGB дисплейин туташтыруунун ордуна, анын ичинде RGB LED жана ICге монохромдуу дисплейи бар бир баскычты туташтырдым. Бул мага ICдин PIN 1ин (адатта, RGB дисплейинин көк түстөгү жарыгы үчүн колдонулат) монохромдуу дисплейимдин арткы жарыгы катары, PIN 28ди (адатта, RGB дисплейинин жашыл арткы жарыгы үчүн колдонулат) ички LED диаметри катары аныктоого мүмкүндүк берди. баскычы жана PIN 27 (адатта RGB дисплейинин кызыл жарыктандыруусу үчүн колдонулат) баскычтын ичиндеги жашыл LED катары. PIN 24 баскычтын бир жагына туташып, экинчи тарабы жерге туташтырылган. Жогоруда тиркелген сүрөттө баскычтын пинтуун көрө аласыз (мен көк катодду ажыратып койгом).

Мен көрсөткөн инструкцияны колдонуудан тышкары, дисплейди өткөрүүгө жардам берүү үчүн, мен бардыгын туташтырууга жардам бере турган бүдөмүк схеманы коштум.

Бул Adafruit окуу куралы менен түшүндүрүлгөндөй FeatherWing 433MHz RFM69HCW чокусуна үч казыкты кыскартууга туура келет. Ошондой эле FeatherWing 433MHz RFM69HCWге антенна тиркөөңүз керек болот. Сураныч, бул кадам боюнча Adafruitтун чындап жакшы түшүндүрүлгөн окуу куралын караңыз. Мен жакшы диапазонду алуу үчүн зымдын ордуна капталга орнотулган SMA туташтыргычы бар тышкы антеннаны колдонууну чечтим.

5 -кадам: Adafruit. IO жана IFTTTге туташуу

Adafruit. IO жана IFTTTге туташуу
Adafruit. IO жана IFTTTге туташуу
Adafruit. IO жана IFTTTге туташуу
Adafruit. IO жана IFTTTге туташуу

Adafruit IO:

Сураныч, эгер сизде эсеп жок болсо, Adafruit. IOго катталуу үчүн бул Adafruit үйрөткүчтөгү көрсөтмөлөрдү аткарыңыз. Сиз ошондой эле түрмөк жана панель деген эмне экенин окушуңуз керек.

Жөнөкөй сөз менен айтканда, панель графикалык колдонуучу интерфейсине окшош, ал эми ленталар сиз интернетте сактап калуу үчүн маалыматтарды жөнөткөн нерсе. Сиз 1 тактаны жана 4 каналды түзүшүңүз керек. Мен тооккананын туура жазылышын билгенге чейин өзүмдүн атымды койгом, андыктан туура эмес жазылганын кечирип коюңуз. Эгерде сиз arduino кодундагы түрмөктүн аталышын өзгөрткүңүз келбесе, мен кылган аталышты колдонуңуз.

Алгач төрт түрмөктү түзүңүз:

1) "Chicken Coup" Бул Ачык/Жабык которгуч үчүн

2) "Chicken Coup Timer" Бул ачык таймер үчүн

3) "Chicken Coup Timer 2" Бул жакынкы таймер үчүн

4) "Chicken Coup Error Message" Бул ката билдирүүлөрү үчүн

Кийинки Chicken Coup деп аталган тактаны түзүңүз жана көк + баскычын колдонуу менен 4 блокту кошуңуз. Сураныч, блоктордун түрлөрүн, ошондой эле блоктордун аталыштарын көрүңүз. Коммутаторлордун статусун так "Ачык" жана "Жабык" деп атагыла.

IFTTT:

Бул долбоордун IFTTT бөлүгү телефонуңуздагы баскычты басуу жана тооктун эшигин ачуу же жабуу үчүн текст жөнөтүү мүмкүнчүлүгүн кошот. Бул ошондой эле IFTTT колдонмосуна Тоок төңкөрүшүнүн катасы боюнча билдирүү түрмөгүндө бир нерсе жарыяланган болсо, сизге билдирүүлөрдү жөнөтүүгө мүмкүнчүлүк берет. Эгерде сиз бул мүмкүнчүлүктөрдү каалабасаңыз, анда бул бөлүмдү өткөрүп жиберишиңиз мүмкүн.

Биринчиден, эгерде сизде жок болсо, IFTTT эсебин орнотуңуз. Эгерде сиз мен жараткан алдын ала даярдалган апплеттерди колдонууну кааласаңыз, жөн гана менин аккаунтума өтүңүз жана өзүңүз каалаган апплеттерди күйгүзүңүз. Болбосо, сиз өзүңүздү өзүңүз түзүшүңүз керек, жана жогоруда түзүлгөн adafruit түрмөгүнө жазылыңыз же жарыялаңыз.

6 -кадам: Кодду жүктөө жана WiFi SSID менен Сырсөздү түзөтүү

Сиз Adafruit үйрөткүчүнүн бул баракчасынан өтүшүңүз керек, бул кодду жабык имаратка жүктөө үчүн.

Сырткы ресиверге кодду жүктөө үчүн Adafruit үйрөткүчүнүн бул баракчасынан өтүшүңүз керек болот.

Сиз RFM69 китепканасын, Adafruit_RGBLCDShield китепканасын, simpleDSTadjust деп аталган NTC саатынын китепканасын жана тике китепканасын орнотушуңуз керек болот. Муну кантип жасоо керектигин бул жерден таба аласыз.

Arduino IDE ачыңыз жана "Outdoor_Receiver.ino" кодун USB кабели аркылуу тышкы Arduino 32u4ке жүктөңүз.

Андан кийин, "Indoor_Transmitter.ino" ачыңыз, config.h өтмөгүн ачыңыз жана тырмакчага WiFi атыңызды (SSID) жана сырсөзүңүздү киргизиңиз. Андан кийин, Adafruit. IO колдонуучу атыңызды жана IO ачкычын ушул окуу баракчасына баш ийип, config.h өтмөгүнө киргизиңиз.

Эгерде сиз Adafruit IO түрмөктөрүнүн аталыштарын өзгөртсөңүз, Indoor_Transmitter башкы өтмөгүндө кодду түзөтүшүңүз керек болот. Төмөнкүлөрдү түзөтүңүз:

AdafruitIO_Feed *toggleSwitch = io.feed ("Тооктун төңкөрүшү");

AdafruitIO_Feed *таймер = io.feed ("Тооктун төңкөрүш таймери");

AdafruitIO_Feed *timer2 = io.feed ("Тооктун төңкөрүш таймери 2");

AdafruitIO_Feed *катасы = io.feed ("Тоок төңкөрүшүнүн катасы жөнүндө билдирүү");

Сенин кылышың керек болгон нерсенин баары ушул болушу керек! Эки эскиздин кантип иштээрин дагы билгиңиз келсе, мен кодду комментарийледим. Суроолоруңуз болсо, мага кабарлаңыз. Жакшы ийгилик!

Сунушталууда: