Բովանդակություն:

Խելացի կենդանիների սնուցող ՝ 9 քայլ
Խելացի կենդանիների սնուցող ՝ 9 քայլ

Video: Խելացի կենդանիների սնուցող ՝ 9 քայլ

Video: Խելացի կենդանիների սնուցող ՝ 9 քայլ
Video: 9 ԶԱՐՄԱՆԱԼԻ ՓԱՍՏ ԸՆՏԱՆԻ ԿԵՆԴԱՆԻՆԵՐԻ ՄԱՍԻՆ║ԴՈՒՔ ԱՎԵԼԻ ԼԱՎ ԿՀԱՍԿԱՆԱՔ ՆՐԱՆՑ 2024, Հուլիսի
Anonim
Image
Image
Խելացի ընտանի սնուցող
Խելացի ընտանի սնուցող

Դուք ունե՞ք ընտանի կենդանի:

  • Ոչ. Որդեգրիր մեկին: (և վերադառնանք այս խրատականին):
  • Այո: լավ աշխատանք!

Հիանալի չէ՞ր, եթե կարողանայիք կերակրել և ջուր տալ ձեր սիրելիին ՝ չեղյալ համարելով ծրագրերը, որպեսզի ժամանակին տուն գաք: Մենք ասում ենք ՝ այլևս մի անհանգստացեք:

Այս նախագծում մենք պատրաստել ենք հեռակառավարվող (ցանցի միջոցով) սննդի և ջրի դիսպենսերներ:

Առցանց վահանակի միջոցով կարող եք դիտել տվյալները և վերահսկել դիսպենսերները.

  • Դիտեք տանկերում սննդի և ջրի մակարդակը:
  • Դիտեք ուտելիքի և ջրի մակարդակը ամանների մեջ:
  • Արդյո՞ք այս պահին կենդանին ուտում կամ խմում է:
  • Պլանավորեք կերակրումներ (սարքը չի տարածի սնունդը, եթե ամանի մեջ բավականաչափ սնունդ լինի):
  • Ավտոմատ կերպով ջուր տարածեք, երբ ամանը դատարկվի:
  • Կոճակի սեղմումով սնունդ/ջուր բաժանեք:
  • Ստացեք push ծանուցումներ ձեր հեռախոսին (Telegram հավելվածի միջոցով):

Ո՞վ ենք մենք

Ստեղծվել է Թոմ Կաուֆմանի և Կատյա Ֆիչմանի կողմից, IDC Herzliya- ի համակարգչային գիտության ուսանողներ:

Այս նախագիծը պատրաստվել է IOT դասընթացի համար:

Պարագաներ

Էլեկտրոնիկա

  • 2 X ESP8266 (Wemos d1 մինի):
  • Jumper լարերը:
  • 2 X Breadboard.
  • 4 X Ուլտրաձայնային տվիչ:
  • 2 X Բեռնախցիկ:
  • 2 X Բեռնախցիկի ուժեղացուցիչ (HX711):
  • Սերվո (180 °):
  • Servo (շարունակական պտույտ):
  • 2 X 6V էլեկտրամատակարարում:

Մասեր

  • Cornflakes դիսպենսեր (Amazon հղում):
  • 3D տպված սննդամթերքի դիսպենսերային ձագար (https://www.thingiverse.com/thing:3998805):
  • 3D տպված սննդի դիսպենսերերի servo հավելված (https://www.thingiverse.com/thing:3269637):
  • 3D տպված սննդամթերքի դիսպենսերների կրպակ (նախատեսված է այս նախագծի համար ՝
  • 3D տպագիր բեռնախցիկի հիմք և ափսե (նախատեսված է այս նախագծի համար ՝
  • Dispրի դիսպենսեր (Amazon- ի հղումը նմանատիպ մի բանի):
  • Հաղորդալար (ջրի դիսպենսերների գլխիկը սերվոյին միացնելու համար):
  • 3 X Ուլտրաձայնային տվիչի կանգնակ:

Քայլ 1: Ինչպե՞ս է այն աշխատում:

Ինչպես է դա աշխատում?
Ինչպես է դա աշխատում?

ESP8266 տախտակները սենսորների ընթերցումներ են ուղարկում Node-RED Mosquitto- ի միջոցով (MQTT բրոքեր):

Node-RED- ը մշակում է տվյալները ՝ համապատասխան գործողություններ կատարելով (նաև Mosquitto- ի միջոցով ESP8266- ի տախտակներին ուղարկեք տրամադրման հրամաններ) և տեղեկություններ ցուցադրելով վահանակի վրա:

Բոլոր հաշվարկները կատարվում են Node-RED- ում, այնպես որ հեշտ կլիներ կրկնել այս նախագիծը և փոխել տվյալների մշակումը ըստ ձեր կարգավորումների և նախասիրությունների ՝ առանց ձեռքերը կեղտոտելու կոդավորմամբ:

Քայլ 2: wրագրեր

Ծրագրակազմեր
Ծրագրակազմեր

Arduino IDE

Ներբեռնեք և տեղադրեք (հղում ՝

Մժեղ

Ներբեռնեք և տեղադրեք (հղում ՝

Node.js

Ներբեռնեք և տեղադրեք (հղում ՝

Հանգույց-ԿԱՐՄԻՐ

Հետևեք հրահանգներին ՝

տաքուկ

Ներբեռնեք ՝

Հեռագիր

Տեղադրեք ծրագիրը ձեր սմարթֆոնի վրա:

Քայլ 3: Շղթայի դասավորություն

Շղթայի դասավորություն
Շղթայի դասավորություն

* Երկու սարքերն ունեն նույնական սխեմաներ

Waterրի դիսպենսեր

  • Ուլտրաձայնային տվիչ (ջրի բաքի համար)

    • ԳՆԴ - Գ
    • VCC - 5V
    • ECHO - D5
    • ՏՐԻԳԵՐ - D0
  • Ուլտրաձայնային տվիչ (կենդանու ՝ ամանից հեռավորության համար)

    • ԳՆԴ - Գ
    • VCC - 5V
    • ECHO - D6
    • ՏՐԻԳԵՐ - D7
  • Բեռի բջիջ

    • Կանաչ - A+ (HX711)
    • ՍՊԻՏԱԿ - Ա- (HX711)
    • ՍԵՎ - Ե- (HX711)
    • ԿԱՐՄԻՐ - E+ (HX711)
  • HX711 (բեռնախցիկի ուժեղացուցիչ)

    • ԳՆԴ - Գ
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Սերվո (180 °)

    • ԳՆԴ - Գ
    • VCC - 5V

Սննդի դիսպենսեր

  • Ուլտրաձայնային տվիչ (սննդի բաքի համար)

    • ԳՆԴ - Գ
    • VCC - 5V
    • ECHO - D5
    • ՏՐԻԳԵՐ - D0
  • Ուլտրաձայնային տվիչ (կենդանու ՝ ամանից հեռավորության համար)

    • ԳՆԴ - Գ
    • VCC - 5V
    • ECHO - D6
    • ՏՐԻԳԵՐ - D7
  • Բեռի բջիջ

    • Կանաչ - A+ (HX711)
    • ՍՊԻՏԱԿ - Ա- (HX711)
    • ՍԵՎ - Ե- (HX711)
    • ԿԱՐՄԻՐ - E+ (HX711)
  • HX711 (բեռնախցիկի ուժեղացուցիչ)

    • ԳՆԴ - Գ
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Սերվո (շարունակական պտույտ)

    • ԳՆԴ - Գ
    • VCC - 5V
    • ՎԵՐԱՀՍԿՈՈԹՅՈՆ - D8

Քայլ 4: Արհեստագործություն

Արհեստագործություն
Արհեստագործություն
Արհեստագործություն
Արհեստագործություն
Արհեստագործություն
Արհեստագործություն

Waterրի դիսպենսեր

  1. Կպչեք սերվերը դիսպենսերի ներքևի մասի վերևին (ինչպես ցույց է տրված լուսանկարում):
  2. Dispրի բաշխիչի բռնակով մի փոքր անցք բացեք:
  3. Սերվոյի գլուխը լարով միացրեք բռնակին (համոզվեք, որ servo գլուխը գտնվում է 0 դիրքում և համոզվեք, որ լարն ամուր է):
  4. Կպչեք մեկ ուլտրաձայնային տվիչ տանկի ներքին կողմին, դրա վերևի մոտ (սենսորը դեպի ներքև է):
  5. Կպչեք մեկ ուլտրաձայնային տվիչ ջրի կոճակից ներքև դեպի դուրս (համոզվեք, որ այն բավականաչափ բարձր է, որպեսզի ջրի ամանը չազդի դրա ընթերցումների վրա):

Սննդի դիսպենսեր

  1. Պտուտակեք servo- ն իր ամրակին (3D տպված մաս):
  2. Սոսնձեցրեք ձագարը (3D տպագիր մաս) տանկի ամրակին (3D տպված մաս):
  3. Տանկի ամրակը միացրեք դիսպենսերների տակդիրին (3D տպված մաս) և տեղադրեք բաքը տեղում:
  4. Տեղադրեք պտտվող մասը (3D տպագրությամբ) իր տեղում և դիսպենսերի պտտվող ռետինե մասի միջով:
  5. Պտուտակավորեք սպասարկիչի հատվածը դիսպենսերների տակդիրին:
  6. Կպցրեք մեկ ուլտրաձայնային տվիչ տանկի կափարիչի ներքին կողմին (սենսորը դեպի ներքև է):
  7. Կպչեք մեկ ուլտրաձայնային տվիչ տանկի պահարանի կողքին ՝ դեպի այն վայրը, որտեղ ձեր ընտանի կենդանուն ուտելու է:

Բեռների բջիջներ

Կպչեք յուրաքանչյուր բեռնախցիկ 3D տպված հիմքի և ափսեի վրա (բեռնախցիկի սլաքը դեպի ներքև է):

Քայլ 5: Մժեղ

Մժեղ
Մժեղ

Բացեք Mosquitto- ն (պատուհանների օգտվողներ. Գնացեք Mosquitto պանակ, բացեք cmd և մուտքագրեք ՝ «mosquitto -v»):

* Համակարգչի ներքին IP հասցեն ստանալու համար գործարկեք cmd և մուտքագրեք «ipconfig»:

Քայլ 6: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Բացեք Arduino IDE- ն և հետևեք այս ուղեցույցի «Տեղադրեք ESP8266 հավելումը Arduino IDE- ում» ՝

Գնացեք Գործիքներ-> Տախտակ և ընտրեք «LOLIN (WEMOS) D1 R2 & mini»:

Գնալ դեպի ուրվագիծ-> Ներառել գրադարան-> Ավելացնել. ZIP գրադարան… և ավելացնել 3 գրադարանները "Libraries.rar" ֆայլում:

Բացեք «HX711Calibration» էսքիզը, վերբեռնեք այն երկու ESP8266- ներում, գործարկեք և հետևեք հրահանգներին (կոդի սկզբում և սերիական մոնիտորում) `բեռնախցիկները չափաբերելու համար (համոզվեք, որ սերիական մոնիտորի բաուդ արագությունը սահմանված է 115200 բաուդ)

* Գրեք ստուգաչափման գործակիցը և զրոյական օֆսեթը (հետագայում օգտագործման համար):

Բացեք «FoodDispenser» և «WaterDispenser» ուրվագծերը IDE- ի միջոցով և ձեր պարամետրերով փոխեք հետևյալ փոփոխականները (ֆայլում «Settings.h»).

  • WIFI_SSID
  • WIFI_PASSWORD
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* MQTT_SERVER- ում մուտքագրեք ներքին IP հասցեն «Mosquitto» քայլից:

Վերբեռնեք էսքիզները ձեր երկու ESP8266- ում (մեկական ծածկագիր յուրաքանչյուր տախտակին):

* Ուշադրություն դարձրեք, որ մենք օգտագործել ենք «AsyncMqttClient» գրադարանը և ոչ թե առավել տարածված «pubsubclient» գրադարանը, քանի որ esp8266- ը խափանում է «HX711» գրադարանի հետ համատեղ:

* Եթե դուք ընտրում եք փոփոխություններ կատարել ծածկագրում, համոզվեք, որ չօգտագործեք «հետաձգման» և «զիջման» գործառույթները հետադարձ կապի գործառույթների ներսում, քանի որ դա վթարների պատճառ կդառնա:

Քայլ 7: Ngrok

Նգրոկ
Նգրոկ
Նգրոկ
Նգրոկ

Բացեք ներբեռնված ֆայլը («wրագրաշարեր» քայլի հղումից):

Բացեք «ngrok.exe» և գործարկեք «ngrok http 1880» հրամանը:

* Դուք կարող եք ընտրել ձեզ ամենամոտ շրջանը (au, eu, ap, us, jp, in, sa): Լռելյայն մենք ենք:

Օրինակ ՝ գործարկելով «ngrok http --region = eu 1880» հրամանը (տարածաշրջանը դարձրեք Եվրոպա):

Այժմ դուք կտեսնեք ձեր վեբ հասցեն արտաքին օգտագործման համար (մենք այս հասցեին կնշենք որպես YOUR_NGROK_ADDRESS):

Քայլ 8: Node-RED

Հանգույց-ԿԱՐՄԻՐ
Հանգույց-ԿԱՐՄԻՐ
Հանգույց-ԿԱՐՄԻՐ
Հանգույց-ԿԱՐՄԻՐ
Հանգույց-ԿԱՐՄԻՐ
Հանգույց-ԿԱՐՄԻՐ

Բացեք Node-RED (պատուհանների օգտվողներ ՝ բացեք cmd և մուտքագրեք «node-red») և գնացեք https:// localhost: 1880 (եթե այն չի աշխատում, որոնեք հասցեն cmd պատուհանում, որտեղ գրված է «Սերվեր այժմ վազում է »):

Բացեք ընտրացանկը (վերին աջ անկյունում) և կտտացրեք «Կառավարել ներկապնակը»:

Գնացեք «Տեղադրեք» ներդիրին, որոնեք և տեղադրեք այս մոդուլները.

  • հանգույց-կարմիր-ներդրում-համառել:
  • հանգույց-կարմիր-ներդրում-քրոն-գումարած:
  • հանգույց-կարմիր-ներդրում-ui-led:
  • հանգույց-կարմիր-վահանակ:
  • node-red-contrib-telegrambot.

Գնացեք ընտրացանկ-> Ներմուծեք և վերբեռնեք հոսքի ֆայլը (հանեք կցված RAR ֆայլը և վերբեռնեք json ֆայլը):

Հոսքի վերաբերյալ բացատրությունների համար տե՛ս կից պատկերները:

Դուք պետք է փոփոխեք այս հանգույցները ձեր պարամետրերով.

  • Թարմացրեք «Հեռագիր ուղարկողի» հանգույցի պրոֆիլը ձեր բոտի օգտանունով և նշանով (օգտագործեք այս ուղեցույցը ՝
  • Հոսքի ներքևում փոխեք «Ngrok Address» և «Telegram Chat Id» հանգույցների բեռները (ստացեք ձեր զրույցի ID- ն ՝ օգտագործելով Telegram- ի ուղեցույցը վերևի հղումից):
  • Հոսքի ներքևի մասում կան պարամետրերի հանգույցներ. Փոփոխեք դրանք ըստ ձեր կարիքների.

    • Ակտիվացրեք ընտանի կենդանու ուտելու/խմելու ահազանգերը:
    • Սահմանեք, թե որքա՞ն է հեռավորությունը ուտելու/խմելու ահազանգը ակտիվացնելու համար:
    • Սահմանեք ամանների և տանկերի տվյալների մշակումը:
    • Փոփոխեք բաշխման ժամանակը (որքան ժամանակ է տևում բաշխումը `ավտոմատ ռեժիմ և կոճակի սեղմում):
    • Սահմանեք սննդի ամանի գերլարման շեմի տոկոսը (ընդհատեք սննդի ավտոմատ բաժանումը, եթե ամանի մեջ բավականաչափ սնունդ կա):

Տեղադրեք հոսքը (վերևի աջ մասում):

* Միայն առաջին տեղակայման ժամանակ դուք վրիպազերծման պատուհանում նախազգուշացում կտեսնեք «persistance.json» ֆայլը բաց թողնելու մասին: Մի անհանգստացեք դրա համար, քանի որ այն պահին, երբ դուք կսահմանեք կերակրման ժամանակը կամ կփոխեք ջրի ավտոմատ անջատիչը, այն կսկսի այս ֆայլը, և դուք այլևս չեք ունենա այս նախազգուշացումը:

Դուք կարող եք դիտել ձեր վահանակը https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (եթե միացված եք սերվերի նույն LAN- ին) կամ YOUR_NGROK_ADDRESS/ui (ամենուրեք):

Քայլ 9: Ամփոփեք

Փաթեթավորեք
Փաթեթավորեք

Հուսով ենք, որ այս ձեռնարկը տեղեկատվական էր և հեշտ կարդալ, հասկանալ և իրականացնել:

Ազատ զգացեք մեզ որևէ բան հարցնելու:

Խորհուրդ ենք տալիս: