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

Մինի ծառայություն ՝ 11 քայլ
Մինի ծառայություն ՝ 11 քայլ

Video: Մինի ծառայություն ՝ 11 քայլ

Video: Մինի ծառայություն ՝ 11 քայլ
Video: Մայիսի 11, 2022թ․: «Ովքե՞ր են քո երկու լավագույն բարեկամները»: 2024, Հուլիսի
Anonim
Mini-Serre
Mini-Serre
Mini-Serre
Mini-Serre

Որպես ուսանող, ես վատ սովորություն ունեմ մոռանալ բաները: Դրա պատճառով, եթե ես ուզում եմ աճեցնել որոշակի տիպի բույս, ես սովորաբար մոռանում եմ դրա մասին և այն մահանում է, քանի որ չկա մեկը, ով հոգ կտանի դրա մասին:

Ես կփորձեմ ուղղել այս խնդիրը Mini-Serre- ով: Mini-Serre- ը այգեգործության մոնիտորինգի ավտոմատացված համակարգ է, որը տարբեր տեսակի սենսորների տվյալներ է ուղարկում Raspberry Pi- ով աշխատող վեբ սերվերին: Այս կերպ օգտվողը կարող է վերահսկել իրենց բույսերը կայքում, որտեղ էլ որ դրանք լինեն: Այս հայեցակարգը մշակվում է որպես վերջնական նախագիծ մուլտիմեդիա և հաղորդակցական տեխնոլոգիաների առաջին տարվա ընթացքում, Howest Kortrijk, Բելգիա:

Քայլ 1: Նյութեր

Նյութերը
Նյութերը

Այս նախագիծը կառուցելու համար ձեզ հարկավոր են հետևյալ տարրերը.

Էլեկտրոնիկա

  1. Ազնվամորի պի 3 - հավաքածու
  2. Breadboard
  3. Արականից տղամարդու միակցիչներ
  4. Արականից իգական միակցիչներ
  5. Dallas 18B20 (ջերմաստիճանի տվիչ)
  6. Ֆոտոռեզիստորների հայտնաբերում Լուսազգայուն լուսային տվիչ
  7. MCP3008
  8. Պոտենցիոմետր
  9. LCD- էկրան
  10. Ռեզիստորներ
  11. Կապույտ LED
  12. RGB LED

Պատյան:

13. Central Park kweekkas (https://www.brico.be/nl/tuin-buitenleven/moestuin/…) 14. Փայտե ափսե (պատյան ներքևում) 15. Եղունգներ 16. Պտուտակներ

Գործիքներ:

17. Մուրճ 18. Սղոց 19. Պտուտակահան 20. Գայլիկոն

Քայլ 2: Շրջանի պատրաստում

Շրջանի պատրաստում
Շրջանի պատրաստում
Շրջանի պատրաստում
Շրջանի պատրաստում

Քայլ 2 -ում մենք պատրաստվում ենք միացնել այս նախագծի համար: Սա բացարձակ նվազագույնն է, որն անհրաժեշտ է, եթե ցանկանում եք, որ այն աշխատի: Շրջանի պատճենը կազմելու համար օգտագործեք ցրտահարման սեղանը և դիագրամը: Սա այն է, որտեղ ձեզ անհրաժեշտ են բոլոր էլեկտրական նյութերը 1 -ին քայլից:

Տեղեկատվություն սխեմայի մասին

Մենք ունենք 2 սենսոր, որոնք միացված են MCP3008- ին, որոնք լույսի և հողի խոնավության տվիչներն են: Temperatureերմաստիճանի տվիչն ունի թվային ելք և օգտագործում է GPIO- պին Raspberry Pi- ի վրա:

Լրացուցիչ:

Ես նաև տեղադրեցի LCD- էկրան, որը հետագայում ավելի դյուրին կդարձնի միանալ Raspberry Pi- ին ՝ առանց ձեր նոութբուքին միանալու անհրաժեշտության: Սա անհրաժեշտ չէ, բայց խիստ առաջարկվում է:

Քայլ 3: Ստեղծեք տվյալների բազա

Ստեղծեք տվյալների բազա
Ստեղծեք տվյալների բազա

Շատ կարևոր է ձեր տվյալները սենսորներից կազմակերպված, բայց նաև ապահով կերպով պահել: Ահա թե ինչու ես որոշեցի իմ տվյալները պահել տվյալների բազայում: Այս կերպ միայն ես կարող եմ մուտք գործել այս տվյալների բազան (անձնական հաշվի միջոցով) և այն կազմակերպված պահել: Վերևի նկարում դուք կարող եք գտնել իմ սխեման իմ տվյալների շտեմարանից, իսկ ներքևում ՝ տվյալների բազան տվյալների բազայի ծրագիր արտահանելու ֆայլը, օրինակ ՝ MySQL- ը:

Տվյալների բազա-ծրագիր Կարևոր է, որ մեր տվյալների բազան կարողանա ինքնուրույն աշխատել մեր Raspberry Pi- ից: Դուք կարող եք դա անել ՝ ներբեռնելով MySQL կամ MariaDB ՝ Raspberry Pi- ի համար: Դուք նախ ցանկանում եք տվյալների բազան կազմել ձեր համակարգչի վրա MySQL Workbench- ում: Հաջորդը դուք արտահանում եք այս տվյալների բազան որպես ինքնամփոփ ֆայլ: Այժմ միացեք ձեր Raspberry Pi տվյալների շտեմարանին MySQL Workbench- ի միջոցով և վերականգնեք տվյալների բազան այստեղ: Այժմ դուք ունեք ձեր Raspberry Pi- ի տվյալների բազան:

Քայլ 4: Գրեք տվիչների տվյալները տվյալների բազայում

Ձեր Raspberry Pi- ի տվյալների բազան գործարկելուց հետո մենք ցանկանում ենք, որ մեր տվիչները կարողանան իրենց տվյալները պահել դրանում: Մենք կարող ենք դա անել ՝ ստեղծելով 3 առանձին սցենարներ (ինչը արվում է PyCharm- ում): PyCharm- ի մեջ ներառված գեղեցիկ առանձնահատկությունն այն է, որ դուք կարող եք միանալ ձեր Pi- ին և այս կերպ կարող եք մուտք գործել ձեր տվյալների բազան և գրել անմիջապես դրան: Տվյալները նաև ուղղակիորեն կարդացվում են Raspberry Pi- ի կողմից, և LED- ները համապատասխանաբար կլուսավորվեն այն, ինչ ձեզ հարկավոր է:

Կապույտ LED լուսավորվում է. Հողը բավականաչափ խոնավ չէ: RGB LED լուսավորվում է կանաչով. Ամեն ինչ կարգին է: RGB LED լուսավորվում է կարմիրով. Չափազանց տաք է, բացեք տանիքը, որպեսզի այն մի փոքր սառչի: RGB LED լուսավորությունը կապույտ է. շատ ցուրտ է, փակեք տանիքը, եթե այն բաց է:

Դուք կարող եք ներբեռնել բոլոր սցենարները իմ github պահոցից ՝

Նշում. Ես օգտագործեցի իմ անձնական մուտքի տվյալները տվյալների շտեմարանների համար, այնպես որ գուցե ստիպված լինեք դրանք փոխել ձերին համապատասխան:

Նշում. DB1 թղթապանակը պարունակում է «տվյալների բազա» դաս, որը ներմուծված է ձեր տվյալների շտեմարանին միացվող կոդի մեջ:

Քայլ 5: Ձեր IP- ի ցուցադրումը էկրանին

Ձեր IP- ի ցուցադրումը էկրանին
Ձեր IP- ի ցուցադրումը էկրանին

Theուցադրումը ցույց է տալիս IP հասցեն, որով աշխատում է ձեր Raspberry Pi- ն, այս կերպ Դուք կարող եք առանց լարերի հեշտությամբ միանալ ձեր Raspberry Pi- ին: Ես նաև դրա համար գրեցի սցենար, որը կարդում է ձեր pi- ի IP- ն և ցուցադրում այն էկրանին (նկատի ունեցեք, որ ձեր GPIO- կապումներն համընկնում են, հակառակ դեպքում այն կարող է չաշխատել): Raspberry Pi- ն այս սցենարը ինքնաբերաբար գործարկում է գործարկման ժամանակ: Դուք կարող եք դա անել ՝ ավելացնելով որոշակի ծածկագիր ձեր Raspberry Pi- ի rc.local ֆայլում: Դուք կարող եք այնտեղ մուտքագրել ՝ մուտքագրելով «sudo nano /etc/rc.local», նախքան կոդի վերջին տողը, որը ցանկանում եք ավելացնել «Python3.5/home/user/filelocation &»:

Սցենարը կարող եք գտնել այստեղ ՝

Նշում. Վերջում «&» - ն կստիպի սցենարը մեկ անգամ գործարկել և անմիջապես դադարեցնել այն, որպեսզի այլ սցենարներ նույնպես կարողանան գործարկել:

Քայլ 6. Սենսորների չափում յուրաքանչյուր 10 րոպեն մեկ

Սենսորների չափում յուրաքանչյուր 10 րոպեն մեկ
Սենսորների չափում յուրաքանչյուր 10 րոպեն մեկ

Մենք չենք ցանկանում, որ մեր տվյալների շտեմարանը լցվի երբևէ 0.001 վայրկյան sensordata- ով, հակառակ դեպքում դա կդժվարացնի տվյալների շտեմարանի համար անընդհատ պահպանել մուտքի բոլոր տվյալները և այն կարող է խափանվել: Ահա թե ինչու ես ավելացրեցի մի հատված «crontab» - ին Raspberry Pi- ում: Crontab- ը ծրագիր է, որը հետևում է պլանավորված առաջադրանքներին, ուստի այս կերպ կարող եք պարզապես գործարկել սցենարը յուրաքանչյուր 10 րոպեն մեկ անգամ:

Ինչպես կարգավորել այն

Դուք կարող եք դա կարգավորել ՝ նախ մուտքագրելով Raspberry Pi հրամանի տողը 'crontab -e', սա բացում է crontab- ի խմբագիրը: Ոլորեք ներքև մինչև ֆայլի ներքևը և ավելացրեք 3 տող, յուրաքանչյուրը յուրաքանչյուր տվիչի համար:

' */10 * * * * python3.5/home/user/filepath/sensor1'

Նշում. «*/10» - ն այն 10 րոպեն է, որը մենք ցանկանում ենք լինել յուրաքանչյուր չափման միջև: Այն կոդը, որը ես մուտքագրել եմ դրանից հետո, այն Python- ի ձեր գործարկած տարբերակն է և այն ֆայլը, որը ցանկանում եք գործարկել, այնպես որ յուրաքանչյուր սենսորի համար պետք է գրեք մեկ տող, քանի որ դրանք գոյություն ունեն 3 տարբեր ֆայլերից:

Քայլ 7: Կայքի պատրաստում

Կայքի պատրաստում
Կայքի պատրաստում

Ես իմ կայքը պատրաստեցի Atom կոչվող ծրագրում: Դա շատ պարզ է օգտագործել ծրագիրը և խորհուրդ է տրվում, եթե դուք բավականին նոր եք գրում ինձ նման HTML և CSS:

Այս հղումով կարող եք գտնել բոլոր օգտագործված ծածկագիրն ու պատկերները ՝

Ես պատրաստեցի վեբ կայքի դիմացի հատվածը Visual Studio Code- ում, այնպես որ, եթե դուք չեք պատրաստվում HTML և CSS ինքներդ պատրաստել, կարող եք պարզապես ֆայլերը ավելացնել Atom- ի փոխարեն Visual Studio Code- ի նոր թղթապանակում:

Քայլ 8: Ստեղծեք հետին պլան

Հետին և առջևի ծայրերը կլինեն այն բաները, որոնք իրականում ինչ-որ բան կպատահեն մեր ստեղծած կայքում: Back-end- ում մենք կրկին կապվում ենք մեր տվյալների բազայի հետ և տվյալների բազայում տվյալների տեղադրման փոխարեն: Այժմ մենք կկարդանք տարբեր տվիչների բոլոր տվյալները և Socket. IO- ի միջոցով մենք կուղարկենք դրանք մեր առջևի մասում, որպեսզի կարողանանք դրանք ցուցադրել կայքում:

Դուք կարող եք գտնել ծածկագրի ծածկագիրը այստեղ ՝

Նշում. Մենք օգտագործում ենք տվյալների բազայի դասը, որը մենք օգտագործել էինք նախկինում, այնպես որ ես դա չեմ ներառել այս շտեմարանում:

Քայլ 9: Ստեղծեք Front-end

-Ակատային հատվածն այն է, որտեղ մենք համատեղում ենք մեր HTML և CSS ծածկագիրը ՝ JavaScript- ի և մեր Back-end- ի հետ միասին: Իմ գրած JavaScript- ը փորձում է կապ հաստատել back-end- ի հետ, որը պետք է գործարկվի: Այժմ Back-end- ը մեզ կուղարկի տվիչների բոլոր տվյալները, և մենք կարող ենք JavaScript- ում կատարել մի քանի գործառույթ, որոնք խմբագրում են HTML ֆայլը, որպեսզի այն համապատասխանի մեր ընթացիկ արժեքներին:

JavaScript- ը կարելի է գտնել այստեղ ՝

Նշում. Համոզվեք, որ ձեր HTML- ում կապում եք ձեր JavaScript- ի վայրի ճիշտ թղթապանակին, հակառակ դեպքում այն կարող է չաշխատել:

Քայլ 10. akingերմոցի պատրաստում

Akingերմոց պատրաստելը
Akingերմոց պատրաստելը
Akingերմոց պատրաստելը
Akingերմոց պատրաստելը

Ես Brico- ից գնել եմ պատրաստված փաթեթ ՝

Պարզապես հետևեք փաթեթին տրվող քայլերին: Սա անելուց հետո մենք այնքան էլ պատրաստ չենք այնտեղ տեղադրել մեր Raspberry Pi- ն: Սկզբում մենք պետք է «հատակ» կամ հատակ պատրաստենք ջերմոցի համար, դուք կարող եք դա անել ՝ վերցնելով փայտե ափսե և չափելով, թե որքան մեծ պետք է լինի այն տեղավորելու համար: Ես նախ պատրաստեցի փայտե շրջանակ, որպեսզի փայտե ափսեն հանգստանալու բան ունենա:

Քայլ 11: Ամեն ինչ միասին հավաքելը

Ամեն ինչ միասին դնելը
Ամեն ինչ միասին դնելը
Ամեն ինչ միասին դնելը
Ամեն ինչ միասին դնելը
Ամեն ինչ միասին դնելը
Ամեն ինչ միասին դնելը

Մենք գրեթե պատրաստ ենք: Պարզապես այս վերջին քայլը, և դուք պատրաստ եք գնալ: Վերցրեք Raspberry Pi- ն և ջերմոցը, մի քանի անցք կատարեք, որպեսզի կարողանաք LED- ները տեղադրել դրա միջով, անցք բացեք ցուցադրման համար և անցք Raspberry Pi- ի սնուցման աղբյուրի համար: Տեղադրեք ամեն ինչ ջերմոցում, միացրեք Pi- ն և ամեն ինչ կարգին է: Դուք ունեք ձեր սեփական ջերմոցը:

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