Mundarija:

Smart Pet Feeder: 9 qadam
Smart Pet Feeder: 9 qadam

Video: Smart Pet Feeder: 9 qadam

Video: Smart Pet Feeder: 9 qadam
Video: Soldering iron with automatic tin wire 2024, Iyul
Anonim
Image
Image
Smart Pet oziqlantiruvchi
Smart Pet oziqlantiruvchi

Sizning uy hayvoningiz bormi?

  • Yo'q: birini qabul qiling! (va bu ko'rsatmaga qayting).
  • Ha: yaxshi ish!

O'z vaqtida uyga qaytish uchun rejalarni bekor qilmasdan, sevgan insoningizga ovqat berib, suv bersangiz yaxshi bo'larmidi? Biz endi tashvishlanmang, deymiz.

Ushbu loyihada biz oziq -ovqat va suv dispenserlarini masofadan boshqariladigan (veb orqali) qildik.

Onlayn boshqaruv paneli orqali siz ma'lumotlarni ko'rishingiz va dispenserlarni boshqarishingiz mumkin:

  • Tanklardagi oziq -ovqat va suv sathini ko'ring.
  • Idishdagi suv va oziq -ovqat darajasini ko'ring.
  • Bu vaqtda hayvon yeydi yoki ichadimi?
  • Ovqatlanish jadvalini tuzing (agar idishda etarli ovqat bo'lsa, qurilma ovqat bermaydi).
  • Idish bo'sh bo'lganda suvni avtomatik ravishda to'kib tashlang.
  • Oziq -ovqat/suvni tugmani bosish bilan to'kib tashlang.
  • Telefoningizga push -bildirishnomalarni oling (Telegram ilovasi orqali).

Biz kimmiz?

IDC Herzliya kompyuter fanlari talabalari Tom Kaufman va Katya Fichman tomonidan yaratilgan.

Bu loyiha IOT kursi uchun tuzilgan.

Ta'minotlar

Elektronika

  • 2 X ESP8266 (Wemos d1 mini).
  • Jumper simlari.
  • 2 X non paneli.
  • 4 X Ultrasonik sensor.
  • 2 X yuk xujayrasi.
  • 2 X yuk xujayrali kuchaytirgich (HX711).
  • Servo (180 °).
  • Servo (doimiy aylanish).
  • 2 X 6V quvvat manbai.

Qismlar

  • Cornflakes dispenser (Amazon havolasi).
  • 3D bosilgan oziq -ovqat dispenserining huni (https://www.thingiverse.com/thing:3998805).
  • 3D bosilgan oziq -ovqat dispenserining servo qo'shimchasi (https://www.thingiverse.com/thing:3269637).
  • 3D bosilgan oziq -ovqat dispenserining stendi (ushbu loyiha uchun mo'ljallangan:
  • 3D bosilgan yuk xujayrasi bazasi va plitasi (ushbu loyiha uchun mo'ljallangan:
  • Suv tarqatuvchi (Amazon shunga o'xshash narsaga havola).
  • Tel (suv dispenserining tugmachasini servoga ulash uchun).
  • 3 X Ultrasonik sensorli stend.

1 -qadam: Bu qanday ishlaydi?

Bu qanday ishlaydi?
Bu qanday ishlaydi?

ESP8266 platalari sensorlar o'qilishini Mosquitto (MQTT brokeri) orqali Node-REDga yuboradi.

Node-RED ma'lumotlarni qayta ishlaydi, unga muvofiq harakatlar qiladi (shuningdek, tarqatish buyruqlarini Mosquitto orqali ESP8266 platalariga yuboradi) va asboblar panelida ma'lumotlarni ko'rsatadi.

Barcha hisob-kitoblar Node-RED-da amalga oshiriladi, shuning uchun kodni qo'ldan chiqarmasdan, ushbu loyihani takrorlash va ma'lumotlarni qayta ishlashni sizning sozlamalaringiz va xohishingizga ko'ra o'zgartirish oson bo'ladi.

2 -qadam: dasturiy ta'minot

Dasturiy ta'minot
Dasturiy ta'minot

Arduino IDE

Yuklab oling va o'rnating (havola:

Chivin

Yuklab oling va o'rnating (havola:

Node.js

Yuklab oling va o'rnating (havola:

Qizil tugun

Ko'rsatmalarga amal qiling:

ngrok

Yuklab olish:

Telegram

Smartfoningizga dasturni o'rnating.

3 -qadam: O'chirish sxemasi

O'chirish tartibi
O'chirish tartibi

* Ikkala qurilma ham bir xil sxemalarga ega

Suv tarqatuvchi

  • Ultrasonik sensor (suv idishi uchun)

    • GND - G.
    • VCC - 5V
    • ECHO - D5
    • Tetik - D0
  • Ultrasonik sensor (uy hayvonining kosadan masofasi uchun)

    • GND - G.
    • VCC - 5V
    • ECHO - D6
    • Tetik - D7
  • Hujayrani yuklash

    • Yashil - A+ (HX711)
    • Oq - A- (HX711)
    • QORA - E- (HX711)
    • RED - E+ (HX711)
  • HX711 (yuk xujayrasi kuchaytirgichi)

    • GND - G.
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (180 °)

    • GND - G.
    • VCC - 5V

Oziq -ovqat dispenseri

  • Ultrasonik sensor (oziq -ovqat idishi uchun)

    • GND - G.
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • Ultrasonik sensor (uy hayvonining kosadan masofasi uchun)

    • GND - G.
    • VCC - 5V
    • ECHO - D6
    • Tetik - D7
  • Hujayrani yuklash

    • Yashil - A+ (HX711)
    • Oq - A- (HX711)
    • QORA - E- (HX711)
    • RED - E+ (HX711)
  • HX711 (yuk xujayrasi kuchaytirgichi)

    • GND - G.
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (doimiy aylanish)

    • GND - G.
    • VCC - 5V
    • Nazorat - D8

4 -qadam: hunarmandchilik

Hunarmandchilik
Hunarmandchilik
Hunarmandchilik
Hunarmandchilik
Hunarmandchilik
Hunarmandchilik

Suv tarqatuvchi

  1. Servo dispenserning pastki qismining yuqori qismiga yopishtiring (rasmda ko'rsatilgandek).
  2. Suv dispenserining tugmachasida kichik teshik oching.
  3. Servo boshini tugmachaga sim bilan ulang (servo boshi 0 holatida ekanligiga ishonch hosil qiling va sim mahkamlanganligiga ishonch hosil qiling).
  4. Ultrasonik sensorni tankning ichki qismiga, uning yuqori qismiga yopishtiring (sensor pastga qaragan).
  5. Suv tugmachasi ostiga bitta ultratovushli sensorni tashqi tomonga yopishtiring (uning balandligiga ishonch hosil qiling, shunda suv idishi o'qishga ta'sir qilmaydi).

Oziq -ovqat tarqatuvchi

  1. Servo ushlagichiga burab qo'ying (3D bosilgan qism).
  2. Huni (3D bosilgan qismi) tank ushlagichiga yopishtiring (3D bosilgan qism).
  3. Tank ushlagichini dispenser stendiga ulang (3D bosilgan qism) va idishni joyiga qo'ying.
  4. Burilish qismini (3D bosma) joyiga va dispenserning rezina qismi orqali joylashtiring.
  5. Servo ushlagich qismini dispenserning stendiga burab qo'ying.
  6. Tank qopqog'ining ichki qismiga bitta ultrasonik sensorni yopishtiring (sensor pastga qaragan).
  7. Ultrasonik sensorni tank ushlagichining yon tomoniga, uy hayvoningiz ovqatlanadigan joyga qarating.

Hujayralarni yuklash

Har bir yuk xujayrasini 3D bosilgan tayanch va plastinkaga yopishtiring (yuk xujayrasining o'qi pastga qaragan)

5 -qadam: chivin

Chivin
Chivin

Mosquitto -ni oching (Windows foydalanuvchilari: Mosquitto papkasiga o'ting, cmd -ni oching va kiriting: "mosquitto -v").

* Kompyuterning ichki IP -manzilini olish uchun cmd -ni ishga tushiring va "ipconfig" kiriting.

6 -qadam: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Arduino IDE-ni oching va ushbu qo'llanmaning "Arduino IDE-ga ESP8266 qo'shimchasini o'rnatish" bo'limiga amal qiling:

Asboblar-> Kengash-ga o'ting va "LOLIN (WEMOS) D1 R2 & mini" -ni tanlang.

Sketch-> Kutubxonani qo'shish->. ZIP kutubxonasini qo'shish … ga o'ting va "Libraries.rar" fayliga 3 ta kutubxonani qo'shing.

"HX711Calibration" eskizini oching, uni ESP8266 -ga yuklang, ishga tushiring va yuk xujayralarini kalibrlash uchun ko'rsatmalarga amal qiling (kodning boshida va ketma -ket monitorda) (ketma -ket monitorning uzatish tezligi o'rnatilganligiga ishonch hosil qiling). 115200 bod).

* Kalibrlash koeffitsientini va nol ofsetini yozing (keyinchalik foydalanish uchun).

IDE orqali "FoodDispenser" va "WaterDispenser" eskizlarini oching va sozlamalaringiz bilan quyidagi parametrlarni o'zgartiring ("Settings.h" faylida):

  • WIFI_SSID
  • WIFI_PASSWORD
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* MQTT_SERVER -ga "Mosquitto" qadamidan ichki IP -manzilni kiriting.

Eskizlarni ikkita ESP8266 -ga yuklang (har bir taxtaga bitta kod).

* E'tibor bering, biz esp8266 "HX711" kutubxonasi bilan birlashganda qulab tushganidan beri, biz "AsyncMqttClient" kutubxonasidan foydalanganmiz, lekin odatdagidek "pubsubclient" kutubxonasidan foydalanmaganmiz.

* Agar siz kodga o'zgartirish kiritishni tanlasangiz, qayta qo'ng'iroq qilish funktsiyalari ichida "kechiktirish" va "uzatish" funksiyalaridan foydalanmasligingizga ishonch hosil qiling, chunki bu halokatga olib keladi.

7 -qadam: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Yuklab olingan faylni oching ("Dasturlar" qadamidagi havoladan).

"Ngrok.exe" ni oching va "ngrok http 1880" buyrug'ini bajaring.

* Siz o'zingizga eng yaqin hududni tanlashingiz mumkin (au, eu, ap, us, jp, in, sa). Standart - biz.

Masalan, "ngrok http --region = eu 1880" buyrug'ini bajarish (mintaqani Evropaga o'rnatish).

Endi siz veb -manzilingizni tashqi foydalanish uchun ko'rasiz (biz bu manzilni YOUR_NGROK_ADDRESS deb ataymiz).

8-qadam: Qizil tugun

Qizil tugun
Qizil tugun
Qizil tugun
Qizil tugun
Qizil tugun
Qizil tugun

Node-RED-ni oching (Windows foydalanuvchilari: cmd-ni oching va "tugun-qizil" kiriting) va https:// localhost: 1880-ga o'ting (agar u ishlamasa, "Server hozir yozilgan cmd oynasida manzilni qidiring. ") da yugurish.

Menyuni oching (yuqori o'ng burchakda) va "Palitrani boshqarish" tugmasini bosing.

"O'rnatish" yorlig'iga o'ting, ushbu modullarni qidiring va o'rnating:

  • tugun-qizil-hissa-davom.
  • tugun-qizil-hissa-cron-plyus.
  • tugun-qizil-hissa-ui-boshchiligida.
  • qizil tugunli boshqaruv paneli.
  • tugun-qizil-hissa-telegrambot.

Menyuga o'ting-> Import va oqim faylini yuklang (biriktirilgan RAR faylini chiqarib oling va json faylini yuklang).

Oqim haqida tushuntirishlar uchun biriktirilgan rasmlarga qarang.

Sozlamalar yordamida siz ushbu tugunlarni o'zgartirishingiz kerak bo'ladi:

  • "Telegramma yuboruvchi" tugunining profilini botingizning foydalanuvchi nomi va belgisi bilan yangilang (ushbu qo'llanmani ishlating:
  • Oqimning pastki qismidagi "Ngrok manzili" va "Telegramma chat identifikatori" tugunlarining yukini o'zgartiring (yuqoridagi havoladagi Telegram qo'llanmasidan foydalanib, suhbat identifikatorini oling).
  • Oqimning pastki qismida sozlash tugunlari mavjud - ularni ehtiyojlaringizga qarab o'zgartiring:

    • Uy hayvonlari ovqat eyish/ichish haqida ogohlantirishlarni faollashtiring.
    • Ovqatlanish/ichish ogohlantirishini faollashtirish uchun qancha masofa borligini aniqlang.
    • Idish va tank ma'lumotlarini qayta ishlashni aniqlang.
    • Tarqatish vaqtini o'zgartiring (tarqatish qancha vaqt davom etadi - avtomatik rejim va tugmachalarni bosish).
    • Oziq -ovqat idishining to'lib ketish chegarasi foizini aniqlang (agar idishda etarlicha ovqat bo'lsa, ovqatni avtomatik tarqatishni to'xtating).

Oqimni joylashtiring (yuqori o'ngda).

* Faqat birinchi tarqatishda disk raskadrovka oynasida 'persistance.json' fayli yo'qligi haqida ogohlantirishni ko'rasiz. Bu haqda xavotir olmang, chunki siz oziqlantirish vaqtini belgilashingiz yoki suvni avtomatik almashtirishni o'zgartirishingiz mumkin, u faylni ishga tushiradi va sizda bu ogohlantirish bo'lmaydi.

Siz boshqaruv panelini https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (agar siz server bilan bir xil LANga ulangan bo'lsangiz) yoki YOUR_NGROK_ADDRESS/ui (hamma joydan) ko'rishingiz mumkin.

9 -qadam: yakunlang

Aylantirmoq
Aylantirmoq

Umid qilamizki, bu darslik ma'lumotli va o'qish, tushunish va amalga oshirish oson bo'lgan.

Bemalol bizdan biror narsa so'rang.

Tavsiya: