Mundarija:

IoT tashqi uy hayvonlari eshigi: 6 qadam (rasmlar bilan)
IoT tashqi uy hayvonlari eshigi: 6 qadam (rasmlar bilan)

Video: IoT tashqi uy hayvonlari eshigi: 6 qadam (rasmlar bilan)

Video: IoT tashqi uy hayvonlari eshigi: 6 qadam (rasmlar bilan)
Video: Самаркандлик ам товба 2024, Iyul
Anonim
IoT tashqi uy hayvonlari uchun eshik
IoT tashqi uy hayvonlari uchun eshik
IoT tashqi uy hayvonlari uchun eshik
IoT tashqi uy hayvonlari uchun eshik
IoT tashqi uy hayvonlari uchun eshik
IoT tashqi uy hayvonlari uchun eshik
IoT tashqi uy hayvonlari uchun eshik
IoT tashqi uy hayvonlari uchun eshik

Menga ko'rsatma berib, tovuqxonaning avtomatik eshigini yaratish ilhomlantirdi. Men nafaqat tovuq uyining eshigini taymerda bo'lishini, balki uni telefonim yoki kompyuterim orqali boshqarish uchun eshikni internetga ulamoqchi edim. Bu eshik mening tovuqxonam uchun qurilgan edi, lekin uni har xil uy hayvonlari uchun boshqa turdagi uylarga osonlik bilan qo'llash mumkin edi. Men ishlatgan eski avtomobil antenna dvigatelidan tashqari siz har xil turdagi 12V dvigatellardan foydalanishingiz mumkin.

Adafruit IO va IFTTT -ni ESP8266 -ga o'rnatgandan va ulaganimdan so'ng, tovuqxona eshigimni onlayn boshqarish mumkin. Eshik ochilishi yoki yopilishi mumkin:

1) aniq vaqtlarda men adafruit.io saytiga kiraman

2) Telefonim tugmachasini bosib

3) ma'lum bir raqamga matnli xabar yuborish orqali

4) adafruit.io saytidagi tugmani bosish orqali

5) jismoniy tugmani bosish orqali

Bu funktsiyalardan tashqari, tovuqxona eshigi IFTTT ilovasi orqali telefonimga eshik bilan bog'liq har qanday muammolar, masalan, eshik ochilmasa yoki yopilmasa, push -bildirishnomalarni yuborishi mumkin.

Mening tovuqxonam Wi -Fi routerimdan 500 fut masofada joylashganligi sababli, men 433 MGts chastotali RFM69HCW uzatuvchi va qabul qilgichni ESP8266 bilan bog'langan holda ishlatdim, bu loyihani amalga oshirish uchun. Dvigatelni boshqaradigan kulrang tashqi qabul qilish qutisi va Internetga ulangan qo'shimcha qurilmali qora ichki uzatuvchi quti mavjud.

Bu ko'rsatma sizni tovuq uyining eshigini ochadigan yoki yopadigan 12V dvigatelni boshqarish uchun zarur bo'lgan uskunani yaratish jarayonidan o'tadi.

Men quyidagi qismlardan foydalandim:

Adafruit 32u4, 433 MGts chastotali RFM69HCW - 25 dollar

Adafruit MCP23017 I2C 16 kirish/chiqish portini kengaytiruvchi IC - 2,95 dollar

Adafruit Feather HUZZAH, ESP8266 WiFi - 16,95 dollar

Adafruit Radio FeatherWing 433MHz RFM69HCW - 10 dollar

Adafruit SMA ulagichi 1,6 mm qalinlikdagi tenglikni uchun - 2,50 dollar

Adafruit uFL SMA antenna ulagichi - 0,75 dollar

Adafruit RGB tugmachasi - 10,95 dollar

12V quvvat manbai - 7 dollar

5V USB quvvat manbai - $ 7

Micro USB kabeli - 5 dollar

4 kanalli o'rni taxtasi (2 kanaldan foydalanish mumkin)- 7 dollar

DC -DC Buck Converter (faqat bittasi ishlatilgan, lekin 5 dona) - 20 dollar

Qamish kaliti (magnitli eshikni almashtirish sensori) - 9 dollar

2x 433 MGts ko'p yo'nalishli antenna - 6 dollar

uFL to SMA kabel adapteri (faqat bittasi ishlatilgan, lekin 2 ta to'plamda) - 5 dollar

Suv o'tkazmaydigan tashqi ABS loyiha qutisi - 11 dollar

Qora ABS loyiha qutisi - 10 dollar

20x4 Blue Character LCD - 10 dollar

12V avtomobil antenna dvigateli - ebayda ~ 25 dollar

Tel va rezistorlar

1 -qadam: Ochiq qabul qilgich

Tashqi qabul qilgich
Tashqi qabul qilgich
Tashqi qabul qilgich
Tashqi qabul qilgich

Tashqi qabul qilgich 433 MGts chastotali RFM69HCW bilan jihozlangan Adafruit 32u4 dan iborat bo'lib, u 12V dvigatelning quvvatini yoqadigan yoki o'chiradigan bir nechta o'rni bilan bog'langan. Ushbu modullar, shuningdek, 12V dan 5V gacha DC-DC konvertori suv o'tkazmaydigan kulrang loyiha qutisi ichida joylashgan. Nihoyat, 32u4 Arduino mikrokontrolerining pinlaridan biriga ulangan eshikni almashtirish sensori mavjud, u eshik to'g'ri ochilgan yoki yopilmaganligini sezadi.

Har 15 soniyada ichki transmitter "Ochish" yoki "Yopish" ni yuboradi. Qabul qilingan buyruq asosida Arduino 32u4 o'rni yoqiladi yoki o'chadi. Men tanlagan dvigatel uchun - eski avtomobil antennali dvigatel - dvigatel qanday ulanganligi sababli ikkita o'rni yoqish yoki o'chirish kerak edi. Asosan, quvvatni yoqish uchun o'z o'rni bor edi, keyin esa dvigatel uzaytirilishi yoki orqaga tortilishini nazorat qiladigan boshqa o'rni.

Ochiq yoki yopiq uzatish qabul qilingandan so'ng, tashqi qabul qilgich "sensor Ochish" yoki "Sensor Yopiq" deb javob berib, eshik kalit sensori holatini ko'rsatadi. Ideal holda, "ochish" buyrug'i "sensorni ochish" javobini qaytaradi, lekin agar eshik tiqilib qolsa yoki motor tiqilib qolsa, ular mos kelmaydi. Agar ular mos kelmasa, ichki uzatgich bu ma'lumotni ko'rsatadi va telefoningizga push -xabar yuboriladi.

2 -qadam: Tashqi qabul qilgich uskunasini ulash

Tashqi qabul qilgich uskunasini ulash
Tashqi qabul qilgich uskunasini ulash
Tashqi qabul qilgich uskunasini ulash
Tashqi qabul qilgich uskunasini ulash
Tashqi qabul qilgich uskunasini ulash
Tashqi qabul qilgich uskunasini ulash

Tashqi qabul qilgich uchun uskunani ulash juda qiyin emas. Men quyida chizilgan sxemani qo'shdim, shunda men ishlatgan pinlarni osongina ko'rish mumkin.

Yuqorida aytib o'tganimdek, men foydalanadigan dvigatel ikkita o'rni kerak edi. Men pinout rasmini qo'shdim. Agar siz 12V ni qizil simga ulasangiz, dvigatel uzilib qolsa, orqaga tortiladi. Agar siz bir vaqtning o'zida qizil simga va yashil simga 12V ulansangiz, vosita uzayadi.

Men yuqorida bog'lagan qamish kaliti odatda yopiq kalit sifatida ulanishi kerak. Odatda ochiq va yopiq o'rtasidagi farq men yuqorida biriktirilgan rasmda tushuntirilgan. Dasturiy ta'minot yordamida 32u4 -dagi kirish pimiga ichki tortish qarshiligi o'rnatilgan, shuning uchun eshik kalitini kirish pimiga va erga ulash kifoya.

Adafruit 32u4 ga antenna ulashingiz kerak bo'ladi. Iltimos, Adafruit -ning ushbu qadam bo'yicha juda yaxshi tushuntirilgan qo'llanmasini ko'rib chiqing. Men yaxshi diapazonga ega bo'lish uchun sim bo'lagi o'rniga tashqi antennadan foydalanishni tanladim.

3 -qadam: yopiq transmitter

Ichki transmitter
Ichki transmitter
Ichki transmitter
Ichki transmitter
Ichki transmitter
Ichki transmitter

Yopiq transmitter Adafruit Radio FeatherWing 433MHz RFM69HCW Adafruit Feather HUZZAH ustiga o'rnatilgan bo'lib, ESP8266 WiFi bilan jihozlangan. Ushbu modullar 20x4 belgidan iborat displeyga va qora loyiha qutisi ichidagi RGB kumush tugmachasiga ulangan.

Displeyda NTC bilan sinxronlashtirilgan soat, RSSI kuchi dB (radio signallarining kuchini o'lchaydi), tovuqxona eshigi ochiladigan vaqt, tovuqxona eshigi yopiladigan vaqt va eshikning hozirgi holati bor. Eshik yopilganda tugma qizil, eshik ochilganda yashil bo'ladi.

Agar tashqi qabul qilgich kuchini yo'qotsa yoki 433 MGts signalni biron sababga ko'ra yuborib bo'lmaydigan bo'lsa, displey va RGB tugmasi ikkita mumkin bo'lgan xato rejimining birinchisiga o'tadi. Birinchi xato rejimida displeyda "XATO! Tashqi qabul qilgichni qayta ishga tushiring" yozuvi paydo bo'ladi. va tugma rangga ega bo'lmaydi. Agar eshikni almashtirish sensori eshik to'g'ri yopilmagan yoki ochilmaganligini aniqlasa, displey va RGB tugmasi ikkita xato rejimining ikkinchisiga o'tadi. Ikkinchi xato rejimida displeyda "ERROR! Eshik yoki kalit sensori muammosi" yozuvi paydo bo'ladi. va tugma rangga ega bo'lmaydi. Muammo o'z -o'zidan hal bo'lgach, displey va RGB tugmasi normal holatga qaytadi. Agar ushbu xato rejimlaridan birortasi sodir bo'lsa, siz telefoningizga push -bildirishnomalarni qabul qilishingiz mumkin (men bu sozlamani keyingi bosqichda o'taman).

4 -qadam: Yopiq transmitter uskunalarini ulash

Yopiq transmitter uskunalarini ulash
Yopiq transmitter uskunalarini ulash
Yopiq transmitter uskunalarini ulash
Yopiq transmitter uskunalarini ulash

Adafruit Radio FeatherWing 433MHz RFM69HCW -ni ESP8266 WiFi -ga ega Adafruit tukli HUZZAH ustiga qo'ygandan so'ng, IAC pinlari SDA va SCL olinmagan, faqat 2 ta pin qoladi. Shuning uchun men MCP23017 integral sxemasi (IC) bilan bordim. Bu I2C orqali har qanday mikrokontrollerga 16 tagacha qo'shimcha kirish/chiqish pinini ulaydigan chindan ham ajoyib IC. Bundan tashqari, Adafruit-RGB-LCD-Shild nomli oldindan yozilgan kutubxona mavjud bo'lib, u ushbu ICni ushbu Adafruit mahsuloti uchun texnik jihatdan yozilgan belgilar displeyidan foydalanadi, lekin u bu loyiha uchun juda yaxshi ishlaydi.

MCP23017 -ni belgilar namoyishi bilan ishlatish g'oyasi juda yaxshi yozilgan ko'rsatmali. Iltimos, tekshirib ko'ring!

Men buni o'rgandim va bir nechta tugmachalarni va RGB displeyini ICga ulash o'rniga, men faqat bitta tugmani uladim, uning ichida RGB LED va monoxromli displey bor. Bu menga PIN -kodning 1 -raqamini (odatda RGB displeyining ko'k orqa nuri uchun ishlatiladi) monoxromli displeyning orqa nuri sifatida, PIN 28 (odatda RGB displeyining yashil orqa nuri uchun ishlatiladi) qizil LED sifatida belgilashga imkon berdi. tugma va PIN 27 (odatda RGB displeyining qizil orqa nuri uchun ishlatiladi) tugma ichidagi yashil LED. PIN 24 tugmachaning bir tomoniga, ikkinchi tomoni esa erga ulangan. Siz tugmachaning pinoutini yuqoridagi rasmda ko'rishingiz mumkin (men ko'k katodni uzib qo'ydim).

Men ko'rsatgan ko'rsatmalarni ishlatishdan tashqari, ekranni ulashga yordam beraman, men sizga hamma narsani ulashga yordam beradigan chalkash sxemani qo'shdim.

Adafruit qo'llanmasida tushuntirilgandek, FeatherWing 433MHz RFM69HCW tepasida uchta pinni qisqartirish kerak bo'ladi. Bundan tashqari, FeatherWing 433MHz RFM69HCW antennasini ulashingiz kerak bo'ladi. Iltimos, Adafruit -ning ushbu qadam bo'yicha juda yaxshi tushuntirilgan qo'llanmasini ko'rib chiqing. Men yaxshi diapazonga ega bo'lish uchun sim bo'lagi o'rniga yonma -yon o'rnatilgan SMA ulagichi bo'lgan tashqi antennadan foydalanishni tanladim.

5 -qadam: Adafruit. IO va IFTTT -ga ulanish

Adafruit. IO va IFTTT -ga ulanish
Adafruit. IO va IFTTT -ga ulanish
Adafruit. IO va IFTTT -ga ulanish
Adafruit. IO va IFTTT -ga ulanish

Adafruit IO:

Agar sizda hisob bo'lmasa, Adafruit. IO -ga yozilish uchun ushbu Adafruit qo'llanmasidagi ko'rsatmalarga amal qiling. Shuningdek, tasma va asboblar paneli nima ekanligini o'qish kerak.

Oddiy qilib aytganda, asboblar paneli grafik interfeysga o'xshaydi, lentalar esa Internetda saqlash uchun ma'lumotlarni uzatadi. Siz 1 ta boshqaruv paneli va 4 ta tasma yaratishingiz kerak bo'ladi. Men tovuq go'shtini to'g'ri yozishni bilmasdan oldin o'z ismimni qo'ydim, shuning uchun noto'g'ri yozishni kechiring. Agar siz arduino kodidagi tasma nomlarini qayta nomlashni xohlamasangiz, men qilgan nomni ishlating.

Avval to'rtta tasma yarating:

1) "Tovuq to'ntarishi" Bu ochiq/yopiq kalit uchun

2) "Tovuq to'ntarish taymeri" Bu ochiq taymer uchun

3) "Chicken Coup Timer 2" Bu yaqin taymer uchun

4) "Tovuq zarbasi xato xabari" Bu xato xabarlar uchun

Keyingi "Chicken Coup" deb nomlangan boshqaruv panelini yarating va ko'k + tugmachasi yordamida 4 ta blok qo'shing. Iltimos, joylashtirishingiz kerak bo'lgan bloklarning turlari va bloklarning nomlari uchun yuqoridagi rasmga qarang. Kommutator holatini "Ochiq" va "Yopiq" deb nomlaganingizga ishonch hosil qiling.

IFTTT:

Ushbu loyihaning IFTTT qismi telefoningizdagi tugmani bosish va tovuqxona eshigini ochish yoki yopish uchun matn yuborish imkoniyatini qo'shadi. Bu, shuningdek, IFTTT ilovasiga Tovuq to'ntarishi xato xabari tasmasida biror narsa e'lon qilingan bo'lsa, sizga push -bildirishnomalarni yuborish imkonini beradi. Agar siz bu imkoniyatlarni xohlamasangiz, ushbu bo'limni o'tkazib yuborishingiz mumkin.

Birinchidan, agar sizda hisob bo'lmasa, IFTTT hisobini o'rnating. Agar siz men yaratgan oldindan tayyorlangan appletlardan foydalanmoqchi bo'lsangiz, mening hisobimga o'ting va kerakli ilovalarni yoqing. Aks holda, siz o'zingiz yaratishingiz va yuqorida yaratgan adafruit kanaliga obuna bo'lishingiz yoki nashr qilishingiz kerak bo'ladi.

6 -qadam: Kodni yuklash va WiFi SSID va parolini tahrirlash

Kodni ichki transmitterga yuklash uchun siz Adafruit qo'llanmasining ushbu sahifasidan o'tishingiz kerak bo'ladi.

Tashqi qabul qiluvchiga kod yuklash uchun siz Adafruit qo'llanmasining ushbu sahifasidan o'tishingiz kerak bo'ladi.

Siz RFM69 kutubxonasini, Adafruit_RGBLCDShield kutubxonasini, simpleDSTadjust deb nomlangan NTC soat kutubxonasini va belgi kutubxonasini o'rnatishingiz kerak bo'ladi. Buni qanday qilish bo'yicha ko'rsatmalarni bu erda topishingiz mumkin.

Arduino IDE -ni oching va "Outdoor_Receiver.ino" kodini USB kabeli orqali tashqi Arduino 32u4 -ga yuklang.

Keyin "Indoor_Transmitter.ino" ni oching, config.h yorlig'ini oching va tirnoq belgilarining ichiga WiFi nomini (SSID) va parolni kiriting. Keyin, ushbu qo'llanma sahifasiga rioya qilib, Adafruit. IO foydalanuvchi nomi va IO kalitini oling va uni config.h yorlig'iga kiriting.

Agar siz Adafruit IO tasmalarining nomlarini o'zgartirgan bo'lsangiz, kodni Indoor_Transmitter asosiy yorlig'ida o'zgartirishingiz kerak bo'ladi. Quyidagilarni tahrir qiling:

AdafruitIO_Feed *toggleSwitch = io.feed ("Tovuq to'ntarishi");

AdafruitIO_Feed *taymer = io.feed ("Tovuq to'ntarish taymeri");

AdafruitIO_Feed *taymer2 = io.feed ("Tovuq to'ntarish taymeri 2");

AdafruitIO_Feed *xato = io.feed ("Tovuq to'ntarishi xato xabari");

Siz qilishingiz kerak bo'lgan hamma narsa shu bo'lishi kerak! Agar siz ikkita eskiz qanday ishlashini tushunmoqchi bo'lsangiz, men kodni sharhladim. Agar sizda biron bir savol bo'lsa, menga xabar bering. Omad!

Tavsiya: