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

IDC2018IOT միացված ընտանի կենդանիների սննդի, ջրի և մոնիտորի համակարգ. 7 քայլ
IDC2018IOT միացված ընտանի կենդանիների սննդի, ջրի և մոնիտորի համակարգ. 7 քայլ

Video: IDC2018IOT միացված ընտանի կենդանիների սննդի, ջրի և մոնիտորի համակարգ. 7 քայլ

Video: IDC2018IOT միացված ընտանի կենդանիների սննդի, ջրի և մոնիտորի համակարգ. 7 քայլ
Video: TEMPLE RUN 2 SPRINTS PASSING WIND 2024, Հուլիսի
Anonim
Image
Image
IDC2018IOT միացված ընտանի կենդանիների սննդի, ջրի և մոնիտորների համակարգ
IDC2018IOT միացված ընտանի կենդանիների սննդի, ջրի և մոնիտորների համակարգ

Ներածություն

Անկախ նրանից ՝ ուսանող եք ճնշման տակ, աշխատասեր մարդ եք, կամ պարզապես տնից հեռու եք օրական ավելի քան մի քանի ժամով: Որպես հոգատար ընտանի կենդանիների սեփականատերեր, մենք ցանկանում ենք համոզվել, որ մեր սիրելիները առողջ են, սնված և, իհարկե, ՉԻ պառկած բազմոցին (այ անպիտան): Ամանակն է դադարել բարեհաճություն խնդրել կամ նույնիսկ վճարել նման ծառայությունների համար:

Այս հիանալի նախագծով մենք նպատակ ունենք տրամադրել ձեզ ինքնուրույն կատարելու ունակություն (ես լսել եմ, որ դա հիմա բան է): Մենք կկառուցենք լուծում մեր ընտանի կենդանիներին ավելի լավ վերահսկելու համար և նույնիսկ միջոցներ կձեռնարկենք գրասենյակում, դպրոցում կամ պարզապես ընկերների կամ նշանակալից ընկերների հետ շփվելիս:

Այս համակարգը ձեզ հնարավորություն կտա կերակրել ձեր ընտանի կենդանուն հեռակա կարգով ՝ վերահսկելով տարայից լցված սննդի քանակը, լցնել ջրի ամանը, երբ այն դատարկ է: Բացի այդ, այժմ մենք կարող ենք իրական ժամանակում վերահսկել ամանի ջրի մակարդակը, չափել սննդի տարայի պարունակությունը և ամենակարևորը ՝ դիտել ընտանի կենդանուն կենդանի ՝ օգտագործելով խցիկի պարզ մոդուլ:

Մեր մասին

Թոմեր Մեյմոն, Գիլադ Ռամ և Ալոն Շպրունգ: IDC Herzeliya- ի համակարգչային գիտության երեք կրքոտ ուսանող: Սա մեր առաջին Instructables նախագիծն է `IoT սեմինարի շրջանակներում: Հուսով ենք, որ այն կառուցելը հետաքրքիր և զվարճալի կլինի:

Քայլ 1: Հասկանալով ճարտարապետությունը

Հասկանալով ճարտարապետությունը
Հասկանալով ճարտարապետությունը
Հասկանալով ճարտարապետությունը
Հասկանալով ճարտարապետությունը

Այս համակարգը կարող ենք բաժանել երկու հիմնական մասի.

  1. Մուտքային տվյալների ալիքներ.

    • Sensorրի ցուցիչ - ընտանի կենդանու ամանի ներսում ջրի մակարդակի նմուշառում, տվյալները փոխանցվում են Node -MCU միավորից Blynk սերվերին և վերջապես ներկայացվում են Pet Dashboard- ի միջոցով:
    • Sonar ցուցիչ - սննդամթերքի տարայի պարունակության նմուշառում, տվյալները փոխանցվում են Arduino միավորից (Ethernet վահանի ընդլայնմամբ) Blynk սերվերին և վերջապես ներկայացվում Pet Pet վահանակի միջոցով:
    • Pi Camera Module - անընդհատ նմուշառում է կենդանիների տարածքի շրջանակները, Pi- ն հյուրընկալում է իր սեփական սերվերը, որն ապահովում է կենդանի կենդանիների վահանակի կենդանի սնուցումը:
  2. Հրամանի հոսք.

    • Կերակրման կոճակ (կառավարման վահանակ) - Blynk- ի միջոցով վիրտուալ փին արժեքի թարմացում, համապատասխան գործառույթը գործարկվում է Arduino- ի տախտակի վրա, այնուհետև Servo- ն շարժվում է, որպեսզի թույլ տա սնունդը անցնել կափարիչով:
    • Giveուր տվեք (վահանակ) - Blynk- ի միջոցով ակտիվորեն թարմացնում է վիրտուալ կապի արժեքը, համապատասխան գործառույթը գործարկվում է Node -MCU տախտակի վրա, ռելեն միացված է ON, ջրի պոմպը կսկսի ջուր հոսել ընտանի կենդանու ամանի մեջ:
    • Կենդանիների կենդանի սնունդ (կառավարման վահանակ) - ներկառուցված է վահանակի ներսում և ուղիղ տվյալներ է ներկայացնում կոլբայի սերվերի միջոցով, որն աշխատում է Pi սարքի վրա:

Քայլ 2: Մասերի ցանկ

Մասերի ցանկ
Մասերի ցանկ
Մասերի ցանկ
Մասերի ցանկ
Մասերի ցանկ
Մասերի ցանկ

Այս համակարգի վրա աշխատելու համար ձեզ հարկավոր են հետևյալ (կամ նմանատիպ) մասերը.

  1. Ֆիզիկական:

    • Սննդի տարա. Մենք օգտագործում էինք արդյունաբերական 45 սմ երկկողմանի խողովակ, որը գնել էինք տնային հանրախանութից: Կարևոր է ունենալ 2 ելք: Մեկը բովանդակությունը չափելու համար, իսկ երկրորդը ՝ բաց/փակման մեխանիզմը:
    • Կպչուն ժապավեն. Իրերը միասին պահելու համար;)
    • Umատկող լարեր. Որքան ավելի լավը, միշտ լավ կլինի, եթե ինչ -որ բան սխալ է ընթանում:
    • Ethernet մալուխ. Մեր Arduino- ն (Ethernet վահանով) ինտերնետին միացնելու համար:
    • Այգեգործական բանկա. Օգտագործվում է որպես կոնտեյներ ջրի և ջրի պոմպի համար:
    • Կարճ ջրի խողովակ. Միացված է պոմպին և ջուր է լցնում ընտանի կենդանու ամանի մեջ:
  2. Սենսորներ:

    • WINGONEER Leրի մակարդակի տվիչ. Չափեք ջրի մակարդակը ընտանի կենդանու ամանի ներսում:
    • Sonar ցուցիչ - չափեք սննդի մակարդակի հեռավորությունը բեռնարկղի ներսում գտնվող վերին կոպից:
    • TONGLING ռելե. Թույլ է տալիս մեզ միացնել/անջատել ջրի պոմպը, որը ջուր է հոսում:
    • Pi Camera մոդուլ. Միացված է ազնվամորի Pi սարքին և փոխանցում է ընտանի կենդանիների տարածքի պատկերները:
    • Generic Servo. Կողպում և բացում է սննդի տարան:
  3. Էլեկտրոնային սարքեր / տախտակներ.

    • Arduino Uno. Վերահսկում է սննդի տարայի միավորի իրականացումը:
    • Arduino Ethernet Shield. Ապահովում է ինտերնետ կապ մեր տախտակին:
    • NodeMCU (ESP-8266). Վերահսկում է ջրի միավորը ՝ ինչպես ջուրը չափելու, այնպես էլ լցնելու համար: Այս տախտակն ունի WiFi- ի միջոցով միանալու հնարավորություն:
    • Ազնվամորու Pi 3 - հյուրընկալում է տեսախցիկի սերվերը և կենդանի սնունդ է տալիս ընտանի կենդանիների վահանակին:
    • VicTsing 80 GPH սուզվող ջրի պոմպ. Այգեգործական տարայից ջուրը հոսում է ամանի մեջ, ջրի խողովակի հետ միասին:

Քայլ 3: Էլեկտրագծերի տեղադրում և իրերի տեղադրում միասին

Էլեկտրագծերի տեղադրում և իրերի տեղադրում միասին
Էլեկտրագծերի տեղադրում և իրերի տեղադրում միասին
Էլեկտրագծերի տեղադրում և իրերի տեղադրում միասին
Էլեկտրագծերի տեղադրում և իրերի տեղադրում միասին
Էլեկտրագծերի տեղադրում և իրերի տեղադրում միասին
Էլեկտրագծերի տեղադրում և իրերի տեղադրում միասին

Հաղորդալարեր

Նախքան սկսելը, խորհուրդ է տրվում Arduino / Node-MCU- ն տեղադրել տախտակի վրա, որպեսզի ավելի հեշտ լինի բոլոր լարերը միասին դնելը և ցանկացած ֆիզիկական վայրում տեղադրելը: Բացի այդ, մալուխի անջատումից բխող սխալները կանխելու համար խորհուրդ է տրվում օգտագործել երկար լարեր: Մենք ձեզ տրամադրեցինք Node-MCU (Unրային միավոր) և Arduino (Սննդի միավոր) էլեկտրագծերի սխեման:

  1. Սննդի միավոր (Arduino):

    • Sonar ցուցիչ:

      • GND (Սև) = GND
      • VCC (Կարմիր) = 5V
      • Եռանկյուն (Մանուշակագույն) = 3
      • Էխո (կապույտ) = 4
    • Սերվո:

      • GND (Սև) = GND
      • VCC (Կարմիր) = 5V
      • Ազդանշան (դեղին) = 9
  2. Unրի միավոր (հանգույց):

    • Leրի մակարդակի տվիչ.

      • S (կապույտ) = A0
      • + (Կարմիր) = 3v3
      • - (Սև) = GND
    • Ռելե (ջրի պոմպի էլեկտրական միացում).

      • IN (դեղին) = D1
      • VCC (Կարմիր) = Vin
      • GND (Սև) = GND
  3. Խցիկի միավոր (Pi):

    • Տեսախցիկի ցուցիչ.

      • Միացեք Pi- ի մեկ տեսախցիկի պորտին (հոսքի մալուխ)
      • Եթե ձգտում եք ավելին իմանալ Pi- ի մասին ֆոտոխցիկի մոդուլով `Link

Մասերի հավաքում միասին

Այս մասում դուք ողջունում եք անհատականացնել և փոփոխել այս նախագիծը `« այն ձերը դարձնելու համար »: Բայց մենք ձեզ կտրամադրենք պատկերներ և նկարագրություն `ապրանքի մեր տարբերակը վերակառուցելու համար:

  1. Սննդի միավոր (Arduino). Բեռնարկղը բավականին ուղիղ է, մենք կենտրոնանալու ենք երկու կափարիչների պատրաստման վրա:

    • Վերին կոպ. Կափարիչի վրա կտրեք 2 անցք, որպեսզի Sonar սենսորը տեղավորվի (տես կցված պատկերը):
    • Ստորին կափարիչ + մեխանիզմ. Սկսեք վերցնել պլաստիկ կցորդներից մեկը (տրամադրված է servo ցուցիչով) և կառուցել «Սահնակ մուրճ» ձև ՝ օգտագործելով կպչուն ժապավեն / փայտե ձողիկներ (մենք օգտագործում էինք միայն ժապավեն): Հաջորդը, կցեք այն servo- ին: Այժմ, մեզ անհրաժեշտ է 2 անցք հենց կափարիչի վրա: Առաջինը պետք է թույլ տա, որ սերվոն տեղավորվի կափարիչի «ներքին կողմում» տեղադրված մեխանիզմում, որը մենք կառուցել ենք: Կտրեք ևս մեկ անցք ՝ հիմնված ձեր կողմից պատրաստված «մուրճի գլխի» կողքի վրա: Այս կերպ, երբ servo- ն բացվի, մուրճի պոչը կսրբի սնունդը դեպի ելքը և թույլ չի տա, որ մեծ կտորները միասին խրվեն:
  2. Unրի միավոր (Node-MCU). Պարզապես միացրեք ջրի խողովակը ջրի պոմպին, այժմ տեղադրեք այն այգեգործության մեջ (համոզվեք, որ սխալ հատվածը ռելեայի և էլեկտրական լարերի հետ ջրի ներսում չեք տեղադրում):
  3. Տեսախցիկի միավոր. Այն, ինչ ձեզ հարկավոր է անել, այն է, որ Pi- ն տեսախցիկի մոդուլով տեղադրեք ձեր նախընտրած վայրում:

Քայլ 4: Կարգավորեք Blynk- ը

Կարգավորել Blynk- ը
Կարգավորել Blynk- ը
Կարգավորել Blynk- ը
Կարգավորել Blynk- ը

Այս նախագծի բոլոր հեռակա հնարավորությունները հիմնված են Բլինկի վրա: Այս ծառայությունը հիմնականում մեզ տրամադրում է անվճար վեբ-սերվեր և RESTful API ՝ մեր Arduino/Node-MCU սարքերի հետ ինտերնետով հաղորդակցվելու համար ՝ օգտագործելով HTTP արձանագրությունը: Blynk- ը թույլ է տալիս մեզ սահմանել վիրտուալ կապումներ, որոնք կօգտագործվեն որպես հասցե `ջուր լցնելու, տարբեր սենսորների կերակրման և նմուշառման հետ կապված որոշակի գործառույթների կատարման համար (մենք դա արեցինք ձեզ համար, այն ամենը, ինչ ձեզ հարկավոր է անել` ստանալ ձեր սեփական դիմումի նշանը, որը կբացատրվի հաջորդիվ):

Ինչպես ստանալ իմ Blynk նույնականացման նշանը

  1. Ներբեռնեք Blynk ծրագիրը ձեր բջջային սարքի համար AppStore / PlayStore- ի միջոցով:
  2. Գրանցվեք այս ծառայության համար (այն անվճար է օգտագործել):
  3. Սկսեք նոր նախագիծ, համոզվեք, որ ընտրեք ճիշտ սարքը (մեր դեպքում ESP8266):
  4. Ստեղծվելուց հետո AUTHENTICATION TOKEN- ով նամակ կուղարկվի. Պահեք նշանը հաջորդ քայլերի համար:

Նշում. Blynk- ը կարող է ամբողջությամբ օգտագործվել ծրագրի միջոցով, բայց մենք որոշեցինք ներդնել մեր սեփական հարմարեցված վահանակը:

Ի վերջո, հաջորդ քայլին անցնելու համար դուք պետք է ներբեռնեք և տեղադրեք Blynk գրադարան - հղում (անցեք դեպի մաս 3)

Քայլ 5. Կարգավորեք սննդի տարան, ջրի պոմպը և կենդանի տեսախցիկը

Կարգավորեք սննդի տարան, ջրի պոմպը և կենդանի տեսախցիկը
Կարգավորեք սննդի տարան, ջրի պոմպը և կենդանի տեսախցիկը
Կարգավորեք սննդի տարան, ջրի պոմպը և կենդանի տեսախցիկը
Կարգավորեք սննդի տարան, ջրի պոմպը և կենդանի տեսախցիկը

Այս պահին մենք ավարտեցինք բոլոր մասերի հավաքումը և ստացանք մեր blynkAuthAppToken- ը (տես քայլ 3):

Մենք ձեզ տրամադրեցինք ամբողջ ծածկագիրը, որն անհրաժեշտ է այս նախագիծն իրականացնելու համար, այն ամենը, ինչ դուք պետք է անեք, կոդի մեջ մի քանի փոփոխական փոխելն է, ինչը այն կդարձնի «ձեր սեփական» մասնավոր համակարգը:

Առաջին հերթին, սկսեք Arduino IDE- ի ներբեռնումից (եթե դեռ դա չեք արել) - Հղում

Arduino սննդի տարա

  1. IDE- ն տեղադրեք Arduino- ի տախտակին ՝ Գործիքներ -> Տախտակ -> Arduino/Genuino Uno
  2. Համոզվեք, որ տեղադրված են այս գրադարանները ՝ ուրվագիծ -> ներառել գրադարան -> կառավարել գրադարանները

    Էստաֆետ (հեղինակ ՝ Ռաֆայել)

  3. Բացեք PetFeeder.ino էսքիզային ֆայլը, կազմաձևեք հետևյալ պարամետրերը (օգնության համար տես կցված պատկերը).

    author = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Կազմեք և վերբեռնեք ուրվագիծը ձեր Arduino սարքում:

Node-MCU Unրի միավոր

  1. Տեղադրեք IDE- ն Node-MCU տախտակին.

    Տես մանրամասն բացատրության համար տե՛ս այս ուսանելի առաջին մասը:

  2. Համոզվեք, որ տեղադրված են այս գրադարանները ՝ ուրվագիծ -> ներառել գրադարան -> կառավարել գրադարանները

    WiFi մենեջեր (ըստ tzapu)

  3. Բացեք PetFeeder.ino էսքիզային ֆայլը, կազմաձևեք հետևյալ պարամետրերը (օգնության համար տես կցված պատկերը).

    • author = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // Հիմնականում դա ձեր WiFi ցանցի անունն է
    • անցում = "YOUR_WIFI_PASSWORD"; // եթե գաղտնաբառ չունեք, օգտագործեք դատարկ տող ""
  4. Կազմեք և վերբեռնեք ուրվագիծը ձեր Node-MCU սարքում:

Pi կենդանի տեսախցիկի մոդուլ

  1. Միացրեք pi տեսախցիկի մոդուլը
  2. Գործարկեք «sudo raspi-config» և միացրեք «տեսախցիկ» տարբերակը:
  3. Փորձարկեք տեսախցիկը ՝ օգտագործելով «raspistill» հրամանը ՝ նկարելու համար

    r aspistill -o image.jpg

  4. Սահմանել Flask վեբ տեսախցիկի սերվեր.

    • Տեղադրեք բոլոր պահանջները ՝ օգտագործելով pip install -r պահանջները: txt
    • Օգտագործեք python ՝ camera_server.py գործարկելու համար
    • Դիտեք այն 127.0.0.1:5000/video_feed կայքում
  5. Տեղադրեք Flask վեբ սերվերը ՝ բեռնման վրա աշխատելու համար.

    • Ավելացնել հետևյալ տողը /etc/rc.local- ին (ելքի տողից առաջ).

      python /camera_server.py

Քայլ 6: Ինչպես օգտագործել կառավարման վահանակը

Ինչպես օգտագործել կառավարման վահանակը
Ինչպես օգտագործել կառավարման վահանակը

Կարգավորում

Այս մասը բավականին պարզ է, մնում է միայն «blynk հավելվածի նշանը» տեղադրել «index.js» ֆայլում հետևյալ կերպ.

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // օգտագործեք նույն քայլը նախորդ քայլերից:

Օգտագործումը

  1. Բացեք վահանակը ՝ կրկնակի սեղմելով «index.html» ֆայլը:
  2. Գործարկման վահանակը համակարգը ինքնաբերաբար կփորձարկի յուրաքանչյուր 10 րոպեն մեկ:
  3. Waterրի և սննդի տարայի միջոցառումները կարող են ձեռնարկվել ձեռքով:
  4. «Giveուր տուր» և «Կերակրել» կոճակները օգտագործվում են ձեր ընտանի կենդանուն սնունդով և ջրով ակտիվորեն ապահովելու համար:
  5. Վահանակի ներքևի հատվածը կներկայացնի տեսախցիկի մոդուլից ուղիղ հեռարձակում, եթե ուշադիր հետևեք նախորդ քայլի հրահանգներին:

Նշում. Եթե ցանկանում եք հարմարեցնել սննդի տարայի բացման քանակը, երբ կերակրում եք, բացեք «index.js» ֆայլը և հաջորդ տողի «արժեքը» «3» -ից փոխեք ձեր նախընտրած ցանկացած թվի.

վերցնել (baseURL + '/update/V1? value = 3');

Քայլ 7: Մարտահրավերներ, սահմանափակումներ և ապագա ծրագրեր

Մարտահրավերներ

Այս նախագծում մեզ համար հիմնական մարտահրավերները կապված էին սննդի տարայի բաց/փակման մեխանիզմի նախագծման և սննդի միավորի վերահսկման և չափման կայուն միաժամանակյա ծածկագրի ստեղծման հետ: Կարծում եմ, որ մենք փորձել ենք առնվազն 4 տարբեր տարբերակ, մինչև չբավարարվենք: Հիմնական մտահոգությունը ելքն արգելափակող սննդամթերքն էր: Դա կանխելու համար մենք ընտրեցինք Sledge-Hammer ձևը, այս կերպ, երբ մենք բացում ենք բեռնարկղը, «մուրճի» պոչը սնունդը ավլում է դեպի ելքը: Ավելին, երկկողմանի խողովակի օգտագործումը մեր կյանքը շատ ավելի պարզեցրեց սննդի տարան կառուցելիս: Նման օբյեկտը կատարյալ է մի կողմում ելքի մեխանիզմը տեղադրելու համար, իսկ մյուս կողմից `հեռավորությունը` դրա բովանդակությունը չափելու համար:

Սահմանափակումներ

Projectրագրի այս փուլում համակարգի սահմանափակումները մի քանիսն են.

  1. Այն լիովին ավտոմատացված չէ, այսինքն ՝ ջուրը կերակրելը և լցնելը կատարվում է ձեռքով ՝ մոնիտորինգի վահանակի միջոցով ՝ առանց որևէ խելացի ժամանակացույցի (որը կարող է ավելացվել ապագայում կամ իրականացվել ձեր կողմից):
  2. Գործիքային վահանակը գործարկվում է ձեր սեփական նոթբուքից տեղական մակարդակում, ավելի հասանելի դարձնելու համար այն կարող է տեղակայվել այնպիսի հայտնի հարթակներում, ինչպիսիք են «Heroku» - ն:
  3. Մենք օգտագործեցինք տեսախցիկի շատ պարզ մոդուլ, որը կարող է փոխարինվել շատ ավելի բարդ մոդուլով, որը հնարավորություն կտա պատկերի ավելի լավ որակի և հնարավորինս ավելացնել ձեր ընտանի կենդանու հետ հաղորդակցության ալիքը (օգտագործելով բարձրախոս):

Ապագա պլաններ

Եթե մենք ժամանակ և բյուջե ունենայինք շարունակելու այս համակարգի զարգացումը, մենք մտքում ունեինք մի քանի գաղափարներ և հնարավոր ժամանակացույց.

  1. Կենդանիների կերակրման պլանավորման ավտոմատ համակարգի ավելացում `աշխատանքի 2 ~ 3 օր:
  2. Վեբ կայքի ստեղծում `մեր համակարգի օգտվողներին հնարավորություն ընձեռելու ստեղծել անհատականացված կառավարման վահանակ, որոնք տեղակայված են առցանց և հասանելի ցանկացած կապված սարքից` 1-2 ամսվա աշխատանք:
  3. Այս համակարգի արդյունաբերական տարբերակի վրա աշխատելը, որը հնարավորություն կտա ավելի շատ կենդանիների տերերին ավելի լավ վերահսկել և շփվել իրենց ընտանի կենդանիների հետ առցանց, մենք մեծ հետաքրքրություն ունեցանք այն ընկերների կողմից, ովքեր տեսել են այս Հրահանգի արդյունքը: Այսպիսով, եթե ունեք ժամանակի կիրք ՝ նախագիծը հաջորդ մակարդակի հասցնելու համար, դուք լիարժեք աջակցություն ունեք:

Հուսով ենք, որ ձեզ դուր եկավ այս նախագիծը կարդալը (և հուսով եմ կառուցելը):)

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