Mündəricat:

Ağıllı Evcil Bəsləyici: 9 addım
Ağıllı Evcil Bəsləyici: 9 addım

Video: Ağıllı Evcil Bəsləyici: 9 addım

Video: Ağıllı Evcil Bəsləyici: 9 addım
Video: Pişik saxlayarkən nələrə diqqət etməliyik 2024, Iyul
Anonim
Image
Image
Ağıllı Evcil Bəsləyici
Ağıllı Evcil Bəsləyici

Ev heyvanınız varmı?

  • Xeyr: birini qəbul et! (və bu təlimata qayıdın).
  • Bəli: yaxşı iş!

Vaxtında evə çatmaq üçün planlarınızı ləğv etmədən sevdiyiniz insana yemək və su verə bilsəniz əla olmazmı? Deyirik ki, artıq narahat olmayın.

Bu layihədə uzaqdan idarə olunan (veb vasitəsilə) qida və su dispenserləri etdik.

Onlayn idarəetmə paneli vasitəsilə məlumatlara baxa və dispenserləri idarə edə bilərsiniz:

  • Tanklardakı qida və suyun səviyyəsinə baxın.
  • Çanaqlardakı yemək və suyun səviyyəsinə baxın.
  • Heyvan bu anda yeyir və ya içir?
  • Yemək cədvəli (qabda kifayət qədər qida varsa cihaz yemək verməz).
  • Qab boşaldıqda avtomatik olaraq su tökün.
  • Bir düyməyə basaraq yemək/su paylayın.
  • Telefonunuza push bildirişləri alın (Telegram tətbiqi ilə).

Biz kimik?

IDC Herzliya Kompüter Elmləri tələbələri Tom Kaufman və Katya Fichman tərəfindən yaradılmışdır.

Bu layihə IOT kursu üçün hazırlanmışdır.

Təchizat

Elektronika

  • 2 X ESP8266 (Wemos d1 mini).
  • Jumper telləri.
  • 2 X Çörək Paneli.
  • 4 X Ultrasonik sensor.
  • 2 X Yük hücrəsi.
  • 2 X Yük Hüceyrə Gücləndiricisi (HX711).
  • Servo (180 °).
  • Servo (davamlı fırlanma).
  • 2 X 6V enerji təchizatı.

Hissələri

  • Qarğıdalı qabığı (Amazon bağlantısı).
  • 3D çaplı yemək paylayıcı hunisi (https://www.thingiverse.com/thing:3998805).
  • 3D çaplı qida dispenserinin servo əlavəsi (https://www.thingiverse.com/thing:3269637).
  • 3D çaplı yemək dispenserinin stendi (bu layihə üçün hazırlanmışdır:
  • 3D çaplı yük hüceyrə bazası və boşqab (bu layihə üçün hazırlanmışdır:
  • Su dispenseri (bənzər bir şeyə Amazon bağlantısı).
  • Tel (su dispenserinin düyməsini servoya bağlamaq üçün).
  • 3 X Ultrasonik sensor stendi.

Addım 1: Necə işləyir?

Bu necə işləyir?
Bu necə işləyir?

ESP8266 lövhələri sensorların oxunuşlarını Mosquitto (MQTT broker) vasitəsi ilə Node-RED-ə göndərir.

Node-RED, məlumatları emal edərək müvafiq hərəkətlər edir (həmçinin Mosquitto vasitəsi ilə ESP8266 lövhələrinə paylama əmrləri göndərir) və tablosunda məlumatları göstərir.

Bütün hesablamalar Node-RED-də aparılır, buna görə kodlaşdırma ilə əllərinizi çirkləndirmədən bu layihəni təkrarlamaq və məlumatların işlənməsini parametrlərinizə və seçimlərinizə uyğun olaraq dəyişdirmək asan olardı.

Addım 2: Proqramlar

Proqramlar
Proqramlar

Arduino IDE

Yükləyin və quraşdırın (link:

Ağcaqanad

Yükləyin və quraşdırın (link:

Node.js

Yükləyin və quraşdırın (link:

Qırmızı Qırmızı

Təlimatları izləyin:

ngrok

Yüklə:

Telegram

Proqramı smartfonunuza quraşdırın.

Addım 3: Circuit Layout

Circuit Layout
Circuit Layout

* Hər iki cihaz eyni sxemlərə malikdir

Su Dağıtıcı

  • Ultrasonik sensor (su çəni üçün)

    • GND - G.
    • VCC - 5V
    • ECHO - D5
    • Tetikleyici - D0
  • Ultrasonik sensor (ev heyvanının qabdan məsafəsi üçün)

    • GND - G.
    • VCC - 5V
    • ECHO - D6
    • Tetikleyici - D7
  • Hüceyrəni yükləyin

    • YAŞIL - A+ (HX711)
    • BEYAZ - A- (HX711)
    • QARA - E- (HX711)
    • QIRMIZI - E+ (HX711)
  • HX711 (yük hüceyrə gücləndiricisi)

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

    • GND - G.
    • VCC - 5V

Qida Dağıtıcı

  • Ultrasonik sensor (qida tankı üçün)

    • GND - G.
    • VCC - 5V
    • ECHO - D5
    • Tetikleyici - D0
  • Ultrasonik sensor (ev heyvanının qabdan məsafəsi üçün)

    • GND - G.
    • VCC - 5V
    • ECHO - D6
    • Tetikleyici - D7
  • Hüceyrəni yükləyin

    • YAŞIL - A+ (HX711)
    • AĞ - A- (HX711)
    • QARA - E- (HX711)
    • QIRMIZI - E+ (HX711)
  • HX711 (yük hüceyrə gücləndiricisi)

    • GND - G.
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (davamlı fırlanma)

    • GND - G.
    • VCC - 5V
    • Nəzarət - D8

Addım 4: sənətkarlıq

Sənətkarlıq
Sənətkarlıq
Sənətkarlıq
Sənətkarlıq
Sənətkarlıq
Sənətkarlıq

Su dispenseri

  1. Servanı dispenserin alt hissəsinin yuxarısına yapışdırın (şəkildə göstərildiyi kimi).
  2. Su dispenserinin düyməsində kiçik bir delik açın.
  3. Servo başını bir tel ilə düyməyə bağlayın (servo başının 0 mövqeyində olduğundan və telin sıx olduğundan əmin olun).
  4. Bir ultrasonik sensoru tankın iç tərəfinə, üst hissəsinin yaxınlığına yapışdırın (sensor aşağıya baxır).
  5. Su düyməsinin altına bir ultrasonik sensoru yapışdırın (su qabının oxunuşlarına təsir etməməsi üçün kifayət qədər yüksək olduğundan əmin olun).

Qida dispenseri

  1. Servo tutucusuna vidalayın (3D çaplı hissə).
  2. Huni (3D çaplı hissə) tank tutucusuna yapışdırın (3D çaplı hissə).
  3. Tank tutucusunu dispenserin dayağına (3D çaplı hissə) qoşun və tankı yerinə qoyun.
  4. İplik hissəsini (3D çaplı) yerinə və dispenserin fırlanan rezin hissəsindən keçirin.
  5. Servo tutacaq hissəsini dispenserin dayağına vidalayın.
  6. Bir ultrasonik sensoru tankın qapağının iç tərəfinə yapışdırın (sensor aşağıya baxır).
  7. Ev heyvanınızın yeyəcəyi yerə baxan tank tutucusunun yan tərəfinə bir ultrasəs sensoru yapışdırın.

Hüceyrələri Yükləyin

Hər yük hücrəsini 3D çaplı bazaya və lövhəyə yapışdırın (yük hüceyrəsinin oxu aşağıya baxır)

Addım 5: Ağcaqanad

Ağcaqanad
Ağcaqanad

Mosquitto açın (Windows istifadəçiləri: Mosquitto qovluğuna gedin, cmd açın və daxil edin: "mosquitto -v").

* Kompüterin daxili IP ünvanını əldə etmək üçün cmd əmrini işlədin və "ipconfig" daxil edin.

Addım 6: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Arduino IDE-ni açın və bu təlimatın "ESP8266 Əlavəsini Arduino IDE-də quraşdırın" hissəsini izləyin:

Alətlər-> İdarə Heyətinə gedin və "LOLIN (WEMOS) D1 R2 & mini" seçin.

Sketch-> Kitabxanaya daxil et-> ZIP Kitabxanası əlavə et … -ə gedin və "Libraries.rar" faylına 3 kitabxananı əlavə edin.

"HX711Calibration" eskizini açın, hər iki ESP8266 -ya yükləyin, işlədin və yük hüceyrələrini kalibr etmək üçün təlimatlara əməl edin (kodun əvvəlində və serial monitorda) (serial monitorun ötürmə sürətinin 115200 baud).

* Kalibrləmə faktorunu və sıfır ofsetini (sonrakı istifadə üçün) yazın.

IDE vasitəsilə "FoodDispenser" və "WaterDispenser" eskizlərini açın və parametrlərinizlə aşağıdakı dəyişənləri dəyişdirin ("Settings.h" faylında):

  • WIFI_SSID
  • WIFI_PASSWORD
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* MQTT_SERVER -də "Ağcaqanad" addımından daxili IP ünvanını daxil edin.

Eskizləri iki ESP8266 -ya yükləyin (hər lövhəyə bir kod).

* Diqqət yetirin ki, esp8266 "HX711" kitabxanası ilə birləşəndə qəzaya uğradığı üçün daha çox yayılmış "pubsubclient" kitabxanasını deyil, "AsyncMqttClient" kitabxanasını istifadə etdik.

* Kodda dəyişiklik etməyi seçsəniz, geri çağırma funksiyalarının içərisində "gecikmə" və "verim" funksiyalarını istifadə etməməyinizə əmin olun, çünki bu qəzalara səbəb olacaq.

Addım 7: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Yüklənmiş faylı açın ("Proqramlar" addımındakı linkdən).

"Ngrok.exe" ni açın və "ngrok http 1880" əmrini işlədin.

* Sizə ən yaxın bölgəni seçə bilərsiniz (au, eu, ap, us, jp, in, sa). Varsayılan olaraq bizik.

Məsələn, "ngrok http --region = eu 1880" əmrini yerinə yetirməklə (bölgəni Avropaya qoyun).

İndi xarici istifadə üçün veb ünvanınızı görəcəksiniz (bu ünvana YOUR_NGROK_ADDRESS kimi müraciət edəcəyik).

Addım 8: Node-QIRMIZI

Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı
Qırmızı Qırmızı

Node-RED açın (Windows istifadəçiləri: cmd açın və "node-red" daxil edin) və https:// localhost: 1880-ə gedin (işləmirsə, "Server indi" yazıldığı cmd pəncərəsində ünvanı axtarın) qaçır ").

Menyu açın (sağ üst küncdə) və "Palitranı idarə et" düyməsini basın.

"Quraşdır" sekmesine keçin, bu modulları axtarın və quraşdırın:

  • düyün-qırmızı-töhfə-davam.
  • node-qırmızı-töhfə-cron-plus.
  • node-qırmızı-töhfə-ui-led.
  • qovşaq-qırmızı-tablosuna.
  • düyün-qırmızı-töhfə-teleqram.

Menyuya keçin-> İdxal edin və axın faylını yükləyin (əlavə edilmiş RAR faylını çıxarın və json faylını yükləyin).

Axınla bağlı izahatlar üçün əlavə şəkillərə baxın.

Ayarlarınızla bu qovşaqları dəyişdirməlisiniz:

  • "Telegram göndərən" node profilini botunuzun istifadəçi adı və işarəsi ilə yeniləyin (bu təlimatı istifadə edin:
  • Axının altındakı "Ngrok Ünvan" və "Telegram Çat İd" qovşaqlarının yüklərini dəyişdirin (yuxarıdakı linkdəki Telegram bələdçisini istifadə edərək söhbət idinizi əldə edin).
  • Axının aşağı hissəsində parametr qovşaqları var - ehtiyaclarınıza uyğun olaraq dəyişdirin:

    • Heyvanı yemək/içmək siqnallarını aktivləşdirin.
    • Yemək/içmək xəbərdarlığını aktivləşdirmək üçün nə qədər məsafə olduğunu müəyyənləşdirin.
    • Kase və tank məlumatlarının işlənməsini təyin edin.
    • Dağıtma müddətlərini dəyişdirin (dispensiyalar nə vaxta qədər baş verir - avtomatik rejim və düymələrə basmaq).
    • Yemək qabının daşma eşik faizini təyin edin (qabda kifayət qədər qida varsa avtomatik yemək verilməsini dayandırın).

Akışı yerləşdirin (sağ üst).

* Yalnız ilk yerləşdirmədə, ayıklama pəncərəsində 'persistance.json' faylının olmaması ilə bağlı bir xəbərdarlıq görəcəksiniz. Bu barədə narahat olmayın, çünki qidalanma vaxtlarını təyin edəcəksiniz və ya avtomatik su açarını dəyişdirəcəksiniz, bu faylı işə salacaq və artıq bu xəbərdarlığa malik olmayacaqsınız.

Tablosuna https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (serverlə eyni LAN-a qoşulmusunuzsa) və ya YOUR_NGROK_ADDRESS/ui (hər yerdən) baxa bilərsiniz.

Addım 9: Bitirin

Bitirin
Bitirin

Ümid edirik ki, bu dərslik məlumatlı idi və oxumaq, başa düşmək və tətbiq etmək asan idi.

Bizdən bir şey soruşmaqdan çekinmeyin.

Tövsiyə: