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

Բույսերի ավտոմատ կաթսա - Փոքրիկ այգի. 13 քայլ (նկարներով)
Բույսերի ավտոմատ կաթսա - Փոքրիկ այգի. 13 քայլ (նկարներով)

Video: Բույսերի ավտոմատ կաթսա - Փոքրիկ այգի. 13 քայլ (նկարներով)

Video: Բույսերի ավտոմատ կաթսա - Փոքրիկ այգի. 13 քայլ (նկարներով)
Video: Շրջագայություն շքեղ առողջարանային առանձնատանը գաղտնի մարզասրահով: 2024, Հուլիսի
Anonim
Բույսերի ավտոմատ զամբյուղ - Փոքրիկ այգի
Բույսերի ավտոմատ զամբյուղ - Փոքրիկ այգի

Ես ուսանող եմ մուլտիմեդիա և հաղորդակցական տեխնոլոգիաներից Howest Kortrijk- ում: Մեր վերջին առաջադրանքի համար մենք պետք է մշակեինք մեր ընտրությամբ IoT նախագիծ:

Գաղափարներ փնտրելով ՝ ես որոշեցի օգտակար բան պատրաստել մայրիկիս համար, ով սիրում է աճող բույսեր և սկսեց աշխատել բույսերի ավտոմատացված կաթսայի վրա:

Այս ավտոմատացված բույսերի կաթսայի ՝ Little Garden- ի հիմնական խնդիրներն են.

  • Չափել ՝

    • Ջերմաստիճանը
    • Լույսի ինտենսիվություն
    • Խոնավություն
    • Հողի խոնավություն

Պահպանեք չափումները տվյալների բազայում

Բարելավել պայմանները բույսի աճի համար, եթե որոշակի արժեքը չափազանց ցածր է

Թող սարքը վերահսկվի և կառավարվի վեբ կայքի միջոցով

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

Քայլ 1: Պաշարներ

Պարագաներ
Պարագաներ
Պարագաներ
Պարագաներ
Պարագաներ
Պարագաներ

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

Հիմնական բաղադրիչներ.

  • Raspberry Pi 4 մոդել B
  • Raspberry Pi էլեկտրամատակարարում
  • Ազնվամորի Pi T-cobbler
  • 16 ԳԲ միկրո SD քարտ
  • Breadboard- ի էլեկտրամատակարարում `3.3V և 5V- ով
  • Breadboard
  • 12 Վ էլեկտրամատակարարում

Սենսորներ.

  • DHT11: Խոնավության և ջերմաստիճանի տվիչ
  • BH1750: Լույսի ինտենսիվության տվիչ
  • Հողի խոնավության ցուցիչ
  • MCP3008

Գործող բաղադրիչներ.

  • 220 Վ ջրի պոմպ
  • 12V LED ժապավեն
  • Ռելե մոդուլ Velleman
  • ՀՈ TՇԱ 50ՈԹՅՈՆ 50. NPN տրանզիստոր
  • 16X2 LCD- մոդուլային էկրան
  • PCF8574a

Ռեզիստորներ.

  • 3 x 330 Օմ ռեզիստորներ
  • 1 x 5k Օմ դիմադրություն
  • 2 x 10k Ohm ռեզիստորներ
  • 1 x 1k Օմ դիմադրություն
  • 1 x 10k Potentio ռեզիստոր

Նյութեր.

  • Հավաքովի ջերմոցային/բուսական զամբյուղ
  • Միացման տուփ
  • Պլաստիկ ջրի շիշ
  • Պտտվողներ
  • Jumper լարեր + սովորական մետաղալար
  • Պտուտակներ
  • Tinոդման անագ + ջերմային նեղացման խողովակ
  • Երկկողմանի բադի ժապավեն
  • Ներկել

Գործիքներ.

  • Սոսինձ ատրճանակ
  • Գայլիկոն
  • Սղոցաձող
  • Sոդման երկաթ
  • Տուփ կտրող սարք
  • Ներկի խոզանակ

Այս նախագծի կոկիկն այն է, որ այն կարելի է ընդլայնել կամ պարզեցնել ՝ բաղադրիչներ ավելացնելով/հեռացնելով և ծածկագիրը փոքր -ինչ շտկելով: Օրինակ, 220 Վ պոմպը 12 Վ պոմպով փոխարինելով, կարող եք սարքից հանել հոսանքի ադապտեր:

Քայլ 2: Fritzing Schematic

Fritzing սխեմատիկ
Fritzing սխեմատիկ
Fritzing սխեմատիկ
Fritzing սխեմատիկ

Սարքի տախտակն ու էլեկտրական սխեմաները ներկայացված են վերևում: Այստեղ դուք կարող եք տեսնել, թե ինչպես են բոլոր բաղադրիչները միացված միասին:

Բաղադրիչների աշխատանքի ընդհանուր բացատրությունը.

  • DHT11- ը չափում է օդի խոնավությունը % -ով և ջերմաստիճանը ° C- ով: Նրա հետ հաղորդակցությունը կարգավորվում է I2C bu- ով:
  • BH1750- ը չափում է լույսի ինտենսիվությունը լյուքսում: Հաղորդակցությունը կարգավորվում է I2C ավտոբուսով
  • Հողի խոնավության տվիչը ստեղծում է թվային ազդանշան, որը MCP3008- ի կողմից վերածվում է Raspberry Pi- ի համար ընթեռնելի թվային ազդանշանի
  • 16x2 LCD մոդուլը ցուցադրում է IP հասցեները Pi- ից մեկը մյուսի հետևից: Այն միացված է PCF8574a- ին, որը ազդանշան է ստանում Raspberry Pi- ից, որը այն կվերածի մի շարք ազդանշանների `դիսփլեյի էկրանների համար: LCD- ից E և RS կապումներն ուղղակիորեն միացված են Pi- ին: Ուժեղ դիմադրիչը որոշում է էկրանի պայծառությունը:
  • Pumpրային պոմպը միացված է ռելեին, որը գտնվում է դրա միջև և ունի 220 Վ լարման/վարդակից: Raspberry Pi- ն կարող է ազդանշան փոխանցել ռելեին `էլեկտրական միացումը փակելու և պոմպը միացնելու համար:
  • LED ժապավենը միացված է 12 Վ լարման աղբյուրին և TIP 50 (NPN տրանզիստոր), որոնք միացնում են էլեկտրական հոսանքը: 1k Ohm ռեզիստորն օգտագործվում է Raspberry Pi- ից վերցված հզորությունը սահմանափակելու համար, հակառակ դեպքում այն կփրթվի լրացուցիչ փխրուն:

Քայլ 3. Պատրաստեք ազնվամորի Pi- ն

Պատրաստեք Raspberry Pi- ն
Պատրաստեք Raspberry Pi- ն

Եթե դեռ չունեք մեկը, ապա ձեզ հարկավոր է տեղադրել Raspberry Pi OS- ի պատկերներից մեկը SD քարտի վրա: Ես խորհուրդ չեմ տալիս օգտագործել Lite- ը, քանի որ դա ինձ մոտ առաջացրեց խնդիրներ: Դրանից հետո դուք պետք է համոզվեք, որ ձեր Pi- ն արդիական է ՝ օգտագործելով հետևյալ հրամանները, երբ Pi- ն միացված է ինտերնետին.

  1. sudo apt-get թարմացում
  2. sudo apt-get բարելավում

Դրանից հետո դուք կարող եք միացնել կամ տեղադրել նախագծի աշխատանքի փաթեթները `raspi-config- ի կամ հրամանների միջոցով:

  • SPI
  • I2C
  • MySQL: հաջորդ քայլը
  • SocketIO: pip install flask-socketio

Կարգավորումից հետո կարող եք ավելացնել անհրաժեշտ ֆայլերը, որոնք գրված են html, CSS, Javascript և Python լեզուներով: Իմ ամբողջ ծածկագիրը կարելի է գտնել իմ github պահոցում:

Քայլ 4: Տվյալների բազայի մոդել - MySQL

Տվյալների բազայի մոդել - MySQL
Տվյալների բազայի մոդել - MySQL

Վերևում կարող եք տեսնել ERD դիագրամը, որը տեղակայված է MariaDB- ի միջոցով: Ես խորհուրդ եմ տալիս հետևել այս MariaDB տեղադրման ուղեցույցին ՝ ոչ միայն MariaDB- ի տեղադրման համար, այլև համոզվելու, որ ձեր Pi- ն պաշտպանված է:

Մարդկանց համար, ովքեր ցանկանում են հասկանալ, տվյալների բազան գործում է հետևյալ կերպ.

Չափումներն ու շարժիչային անջատիչները պահվում են որպես տողեր Metingen աղյուսակում:

  • metingId = չափման/միացման տողի ID
  • deviceId = աղյուսակում այս տողի համար պատասխանատու սարքի ID- ն
  • waarde = տվիչի չափման կամ գործարկիչի անջատիչի արժեքը

    • սենսոր `չափման արժեքը համապատասխան միավորներում
    • գործարկիչներ ՝ 0 = անջատված և 1 = միացված
  • commentaar = մեկնաբանություններ, որոնք օգտագործվում են լրացուցիչ տեղեկություններ ավելացնելու համար, օրինակ ՝ սխալներ
  • datum = ամսաթիվը և ժամը, երբ տեղի է ունեցել չափումը/անջատումը

Սարքի կարգավորումները պահվում են Պարամետրերում:

  • settingId = Այս տողի ID- ն և կարգավորման արժեքը
  • deviceID = համապատասխան սարքի/սենսորի ID
  • waarde = պարամետրերի արժեքը
  • տեսակը = նստվածքի տեսակը, դա առավելագույնն է, թե նվազագույնը:

Վերջին, բայց ոչ պակաս կարևոր, Սարքերի աղյուսակը պարունակում է տեղեկատվություն տվիչների և գործարկիչների մասին:

  • deviceId = սարքի ID- ն այս աղյուսակում
  • naam = սարքի/բաղադրիչի անվանումը
  • merk = ապրանքանիշ
  • prijs = բաղադրիչի գինը
  • beschrijving = բաղադրիչի ամփոփում
  • eenheid = չափված արժեքների միավոր
  • typeDevice = սահմանում է ՝ բաղադրիչը սենսոր է, թե ակտիվացնող

Քայլ 5: Frontend. Վեբ սերվերի տեղադրում

Frontend: Վեբ սերվերի տեղադրում
Frontend: Վեբ սերվերի տեղադրում

Pi- ն կպահանջի տեղադրել Apache վեբ սերվերը `այս սարքի վեբ սերվերը գործարկելու համար: Դա կարելի է անել հետևյալ հրամանով.

sudo apt-get տեղադրել apache2.

Երբ դա արվի, կարող եք նավարկել դեպի թղթապանակ ՝/var/www/html: Այստեղ դուք պետք է տեղադրեք առջևի ամբողջ ծածկագիրը: Այնուհետև կարող եք մուտք գործել կայք ՝ դիտելով IP հասցեն:

Քայլ 6: Հետնապահ

Հետագա ծրագիրը գործարկելու համար հարկավոր է գործարկել app.py ֆայլը ՝ ձեռքով կամ դրա համար ծառայություն ստեղծելով Pi- ով, որպեսզի այն ինքնաբերաբար սկսվի:

Ինչպես կարող եք նկատել, բավականին շատ ֆայլեր կան: Ես հնարավորինս առանձնացրել եմ ծածկագիրը, որպեսզի ունենամ կոդի հստակ ակնարկ և կազմակերպում:

Հակիրճ բացատրություն.

app.py: Հիմնական ֆայլ, որտեղ միացված են տվյալների բազան, ապարատային ծածկագիրը և հետևի ծածկագիրը:

config.py: Կազմաձևման ֆայլ databaseRepositories- ի համար:

Պահեստներ. Տվյալների շտեմարան մուտք գործելու համար

  • Օգնական

    • devices_id: դասեր, որոնք կօգնեն բացահայտել տվյալների բազայում սարքի տվյալները
    • LCD: գործարկել PCF և LCD
    • Ակտիվատորներ. Ակտիվացուցիչներ վարելու դասեր
    • Սենսորներ. Սենսորների գործարկման դասեր

Քայլ 7: LED շերտի տեղադրում

LED շերտի տեղադրում
LED շերտի տեղադրում

Ես կտրեցի LED շերտի մի կտոր և սոսնձեցի այն ջերմոցի տուփի վերևին: Իմ օգտագործած ժապավենը կարող էր կտրվել բազմաթիվ դիրքերում և նորից միացվել, այնպես որ կարող եք տեղադրել բազմաթիվ շերտեր և դրանք նորից միացնել լարերի միջոցով ՝ թույլ տալով ավելի շատ տարածք լուսավորվել:

Քայլ 8: Խողովակների տեղադրում:

Խողովակների տեղադրում
Խողովակների տեղադրում

Խողովակները կարող են տեղադրվել մի շարք եղանակներով, բայց իմ դեպքում ես դրանք կցեցի ներքևի կողմին ՝ դրանք հնարավորինս հեռու պահելով մյուս էլեկտրոնիկայից և թույլ տալով, որ ջուրը պարզապես հոսի կեղտի մեջ:

Քայլ 9: LCD- ի տեղադրում

LCD- ի տեղադրում
LCD- ի տեղադրում

Ես սղոցով մի ամբողջություն կտրեցի միացման տուփի կափարիչի մեջ ՝ բացվածք ստեղծելով բավականաչափ մեծ, որպեսզի էկրանն անցնի, բայց բավական փոքր, որպեսզի PCB- ն մնա դրա հետևում: Այնուհետև այն թեքության միջոցով ամրացվել է կափարիչին:

LCD- ը ցուցադրում է Raspberry Pi- ի IP հասցեները ՝ հնարավորություն տալով իմանալ, թե ինչ հասցեով կարող եք օգտվել վեբ կայք այցելելու համար:

Քայլ 10. Սենսորների տեղադրում և LED շերտի միացում

Սենսորների տեղադրում և LED շերտի միացում
Սենսորների տեղադրում և LED շերտի միացում
Սենսորների տեղադրում և LED շերտի միացում
Սենսորների տեղադրում և LED շերտի միացում

Օգտագործելով ցրտահարության սխեմաները, ես միացրեցի լարերի միջև եղած կապերը և ռեզիստորները տեղադրեցի լարերի ներսում ՝ ջերմամեկուսիչ խողովակների միջոցով դրանք մեկուսացնելու համար:

Պտտվող պտուտակները ամրացնելու համար ջերմոցի կափարիչի և ներքևի մասերում անցքեր էին կտրված, որոնց միջոցով ես քաշեցի տվիչների և LED շերտի լարերը:

Ես լարերը խմբավորել եմ ըստ գործառույթի: Հաղորդալարերի և նեղացող խողովակների լարվածությունն ինքնին բարձրացրեց սենսորները: Ես միայն պետք է սոսինձ օգտագործեի լարերի վրա DHT11- ի համար, քանի որ դա ավելի երկարաձգվեց:

Քայլ 11: Pi- ի միացում

Մոնտաժում Pi- ին
Մոնտաժում Pi- ին
Մոնտաժում Pi- ին
Մոնտաժում Pi- ին
Մոնտաժում Pi- ին
Մոնտաժում Pi- ին

Ես միակցիչ տուփի կողքին անցքեր եմ կտրում, որպեսզի թույլ տամ, որ լարերը հետագայում անցնեն:

Դրանից հետո ես տեղադրեցի հացահատիկը (T-cobbler, PCF8574a, MCP3008, կարգավորելի դիմադրություն և TIP50), ռելե և Raspberry Pi միացման տուփի ներքևում, որը ծածկված էր երկկողմանի բադի ժապավենով: Էներգամատակարարումը չի տեղավորվում հացահատիկի վրա, այնպես որ ես ստիպված էի այն դնել կողքի վրա և օգտագործել թռիչքային լարեր `այն հացահատիկին միացնելու համար:

Ի վերջո, ես քաշեցի ադապտորը, սենսորը և գործարկիչի լարերը անցքերի միջով, որոնք լարերը միացրեցին տախտակին, Raspberry Pi- ին և այլ բաղադրիչներին: Պոմպի մետաղալարը կտրված էր, որպեսզի ես ծայրերը տեղադրեմ ռելեի ներսում, որպեսզի այն օգտագործվի որպես անջատիչ:

Քայլ 12: forրի համար տարա պատրաստելը

Forրի համար տարա պատրաստելը
Forրի համար տարա պատրաստելը

1 լ պլաստիկ ջրի շշից պատրաստեցի ջրի տարա ՝ տուփի կտրիչով կտրելով դրա վերևը և ներկելով այն ավելի լավ տեսքի համար: Pumpրի պոմպը դրվեց ներսում: Անոթների հաղորդակցության կանոնների պատճառով ջուրը կարող է ինքնուրույն հոսել խողովակների միջով, սակայն խողովակի վերև պահելը լուծում է խնդիրը:

Քայլ 13: Վերջնական արդյունք

Վերջնական արդյունք
Վերջնական արդյունք
Վերջնական արդյունք
Վերջնական արդյունք

Այն պահը, որին երկար սպասել էիք: Այժմ դուք կարող եք կեղտը և սերմերը տեղադրել ջերմոցի արկղի ներսում և թողնել, որ սարքը տիրի: Դուք կարող եք վերահսկել սարքի կարգավիճակը կայքից և սահմանել լուսավորության և հողի պայմանների օպտիմալ արժեքներ:

Խորհուրդ եմ տալիս սկզբում հողը ջրել ձեռքով, քանի որ որոշ կեղտներ սկզբում կարող են բավականին չորանալ: Թվում է, թե որոշ պոմպեր բավականին դանդաղ են ջրում, բայց դուք պետք է շատ զգույշ լինեք, քանի որ այն ավելի արագ կլցվի, քան սպասում էիք: 80% -ից բարձր հագեցվածությունը կարող է հողը շատ թաց դարձնել: Եվ համոզվեք, որ հողի խոնավության տվիչը բավականաչափ խորն է:

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