Բովանդակություն:
- Քայլ 1: Նյութեր
- Քայլ 2: Միացումներ
- Քայլ 3: 3D տպում
- Քայլ 4: Կոդ
- Քայլ 5: Տվյալների բազա
- Քայլ 6: Միացեք Wi-Fi- ին
- Քայլ 7: Ամեն ինչ միասին հավաքելը
- Քայլ 8: Սկսեք այն
Video: AirPi - Օդի որակի տվիչ ՝ 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Երբևէ մտածե՞լ եք, թե ինչու եք գլխացավ ունենում: Իսկ եթե դա օդի վատ որակի՞ պատճառով է: Այս սարքի միջոցով դուք կարող եք ստուգել, արդյոք դա այդպես է: Այս սարքը չափում է CO2 արժեքը, TVOC արժեքը, ջերմաստիճանը և խոնավությունը: Դուք կարող եք օդի որակը ուղիղ տեսնել LCD- էկրանին և տեսնել հստակ նշան, եթե այն վտանգավոր է դառնում: Այս կերպ դուք կարող եք ժամանակին բացել ձեր պատուհանները:
Եթե մուտքագրեք IP հասցեն, որը ցուցադրվում է սարքը ձեր դիտարկիչում գործարկելիս, կայքը կբացվի: Դուք կարող եք տեսնել բազմաթիվ տեղեկատվություն ներքին միջավայրի վերաբերյալ, ինչպես նաև անցած րոպեների / ժամերի գրաֆիկները: Կա նաև կենդանի ցուցում և որոշ տեղեկություններ և խորհուրդներ վահանակի վրա:
Այս նախագիծը կազմել է Howest Kortrijk, NMCT (New Media and Communication Technology) ուսանողը:
Քայլ 1: Նյութեր
Սա այն ամենն է, ինչ ես գնել եմ այս նախագիծը ստեղծելու համար: Սա համեմատաբար էժան նախագիծ է ՝ կախված 3D տպման արժեքից: Եթե կարողանաք տպել այն դպրոցում, դա կարող է շատ էժան լինել: Հակառակ դեպքում, դա կախված է նրանից, թե որտեղ եք տպում այն և այն նյութից, որտեղ տպում եք: Դուք կնկատեք, որ ես շատ եմ գնել մեծ մասամբ, պարզապես այն պատճառով, որ դժվար է գտնել առանձին դիմադրիչներ կամ լուսարձակներ, ինչը դա էլ ավելի էժան է դարձնում: Եթե ժամանակ ունեք, կարող եք պատվիրել ապրանքների մեծ մասը aliexpress.com կայքում, առաքումը կարող է որոշ ժամանակ տևել, բայց այս կերպ կարող եք սահմանափակել ձեր ծախսերը:
Առանց տպագրության, այս նախագծի վրա ծախսածս գումարը կազմում է 81,80 եվրո:
Ահա ձեզ անհրաժեշտ նյութերը.
Շրջան:
- Ազնվամորի Պի 3
- SD քարտ 8 ԳԲ (նվազագույն)
- CCS811 օդի որակի տվիչ
- DHT22 ջերմաստիճանի և խոնավության ցուցիչ
- Պոտենցիոմետր (հակապատկեր LCD)
- LCD 16x2
- Իգականից իգական ցատկող լարեր
- Կանաչ և կարմիր LED
- Ռեզիստորներ (2x470 օմ և 1 4700 օհմ)
Գործ:
- 3D- տպում
- Պտուտակներ
- 2 բաղադրիչ սոսինձ (կամ այլ տաք սոսինձ)
- թել կտրող գործիք
Միայն դուք եք օգտագործում PCB:
- Oldոդման երկաթ
- Հոսք (հեշտացնում է)
- Անագ
- Փորձեք հատ 2x4 սմ
Քայլ 2: Միացումներ
Միացրեք լարերը, ինչպես վերևում: Դուք կարող եք տեսնել էլեկտրական միացում ցնցող ֆայլում: Դա շատ բարդ միացում չէ, բայց եթե ցանկանում եք այն հնարավորինս փոքր դարձնել, անպայման ցանկանում եք փորձնական PCB տախտակ ստանալ: Էլեկտրագծերը նույնը կլինեն, բացառությամբ GND- ի և Vin- ի միացված PCB- ի տախտակին: Սենսորները կմիացվեն էգ թռիչքի մետաղալարերով կամ արուներով `զոդման միջոցով: Մի մոռացեք, որ ռեզիստորը միացնեք DHT22 սենսորի վրա:
Ես նաև խորհուրդ եմ տալիս օգտագործել կարճ մալուխներ, որոնց երկարությունը պետք է լինի 10 սմ: Հակառակ դեպքում տուփը էլ ավելի կլցվեր մալուխով: Ձեզ շատ երկարերը պետք չեն, քանի որ տպման չափը հնարավորինս փոքր է:
Քայլ 3: 3D տպում
Առաջին հնարքը, որ ծագեց գլխումս, երբ մտածում էի պատյանի մասին, 3D տպումն էր: Քանի որ հայրս տպագրել էր մի շարք այլ իրեր, և նա ինքն էր նախագծել դրանք: Միասին մենք ստեղծեցինք այս դիզայնը և մտածեցինք յուրաքանչյուր ասպեկտի մասին: Այն պետք է բավականաչափ լավ սառչի, ամեն ինչ կարող է պտուտակվել իր տեղում, իսկ եթե ոչ, ապա այն կարող է դրվել տեղում:
Մենք նույնիսկ նկարել ենք յուրաքանչյուր բաղադրիչ `ստուգելու համար, թե արդյոք ամեն ինչ տեղավորվում է: Ֆայլը հասանելի է բոլորի համար, և մենք կցանկանայինք լսել որոշ արձագանքներ: Մենք շատ գոհ էինք արդյունքից:
Քայլ 4: Կոդ
Այս նախագծի ծածկագիրը կարելի է գտնել Github- ում: Եթե դուք օգտագործել եք այլ կապում (օրինակ, LED- ների համար մեկ այլ GPIO- քորոց, դուք պետք է կարգավորեք այս փոփոխականները: Գործելու են երկու պիթոնի սցենարներ, վեբ կայքի համար web.py և sensor.py սենսորները կարդալու և թարմացնելու համար: տվյալների բազան: Մենք ներմուծելու ենք դասի LCD lcd.py- ից:
Կազմաձևված ազնվամորու pi- ով դուք կարող եք սկսել: Նախևառաջ անհրաժեշտ է թարմացնել և արդիականացնել բոլոր փաթեթները.
sudo apt-get update && sudo apt-get upgrade
Դրանից հետո դուք պետք է տեղադրեք հետևյալ փաթեթները.
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Այժմ ստեղծեք վիրտուալ միջավայր.
me@my -rpi: ~ $ python3 -m pip install -upgrade pip setuptools wheel virtualenv
me@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system-site-packages env me@my-rpi: ~/project1 $ source env/bin/ ակտիվացնել (env) me@my-rpi:/project1 $ python -m pip տեղադրել mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Քանի որ դա արված է, կարող եք իմ GitHub- ի ծածկագիրը կլոնավորել ձեր վիրտուալ միջավայրում: Սա կարող է կատարվել բազմաթիվ եղանակներով:
Գրացուցակի conf- ում կարող եք գտնել չորս ֆայլ, որոնք անհրաժեշտության դեպքում պետք է կարգավորեք: Դուք անպայման պետք է փոխեք օգտվողին և տնային գրացուցակը յուրաքանչյուր ֆայլում: UWSGI ini- ն պետք է լավ լինի, քանի դեռ չեք փոխել իմ կոդը, անհրաժեշտության դեպքում համոզվեք, որ փոխեք օգտվողին և վիրտուալենվին:
Քանի որ CCS811 սենսորը միտումնավոր է օգտագործվել arduino- ի համար, այն չի կարող i2c ավտոբուսի վրայով շփվել ազնվամորու pi- ի արագությամբ: Կարգավորող ֆայլում դուք պետք է նվազեցնեք արագությունը մինչև 10000 baudrate (ես օգտագործել եմ 9600):
Դուք նաև ստիպված կլինեք ձեռք բերել ադաֆրուտի տվիչի գրադարանը: Ես կարող եմ սա բացատրել այստեղ, բայց կա ադաֆրուտի կատարյալ ուղեցույց, որը շատ լավ բացատրում է այս ամենը:
Քանի որ մենք ցանկանում ենք, որ պիթոնի սցենարներն ինքնաբերաբար գործեն, երբ ազնվամորին միացված է, ստիպված կլինեք օգտվել ծառայություններից: Նրանք պետք է լավ լինեն, եթե դու պահես իմ ծածկագիրը: Այն, ինչ պետք է անեք, որպեսզի նրանք աշխատեն, նրանց միացնելն է: Նախքան դա անելը կա մի վերջին բան.
Քանի որ մենք օգտագործում ենք nginx վեբ սերվեր, մենք ստիպված կլինենք անջատել կանխադրվածը և այն փոխարինել մեր սեփական կազմաձևով: Դա անելու համար պետք է հետևել հետևյալ քայլերին.
- conf/nginx պատճենել *հասանելի կայքերին *
- Հեռացրեք կանխադրված-կազմաձևման հղումը
- Ավելացրեք հղում նոր կազմաձևին
- Վերագործարկեք nginx- ը ՝ փոփոխությունները պահպանելու համար
me@my-rpi: ~/project1 $ sudo cp conf/project1-*. ծառայություն/այլն/systemd/system/
me@my-rpi: ~/project1 $ sudo systemctl daemon-reload me@my-rpi:/project1 $ sudo systemctl start project1-* me@my-rpi: ~/project1 $ sudo systemctl կարգավիճակի նախագիծ 1-*
Nginx- ը և mysql- ը պետք է անընդհատ աշխատեն: Նրանք սկսվում են ազնվամորու պի հետ միասին: Վեբ սցենարը և սենսորային սցենարը դեռ ոչ միայն:
Դա անելու համար դուք դեռ պետք է միացնեք այս երկու ծառայությունները այս հրամաններով.
sudo systemctl միացնել project1-flask.service- ը
sudo systemctl միացնել project1-sensor.service
Քայլ 5: Տվյալների բազա
Իմ տվյալների բազան բաղկացած է երեք աղյուսակից: Օգտագործողը կապ չունի այլ աղյուսակների հետ: Սա օգտագործվում է միայն մուտք գործելու և կայք մուտք գործելու համար: Երբ սարքը միացված է, CO2- ի և TVOC- ի արժեքը տվյալների բազայում կգրվեն յուրաքանչյուր 50 վայրկյանը մեկ: Temperatureերմաստիճանը եւ խոնավությունը յուրաքանչյուր 5 րոպեն մեկ: Այս կերպ մենք ստանում ենք անցյալի հստակ ակնարկ:
SQL ֆայլը կարելի է գտնել այստեղ, սակայն ազնվամորի pi- ի տվյալների բազան ստանալու համար պետք է հետևել հետևյալ քայլերին.
Նախորդ քայլում փաթեթների տեղադրումից հետո mariadb/mysql- ը պետք է անմիջապես գործարկվի: Դուք կարող եք դա ստուգել այս տողով.
me@my-rpi: ~ $ sudo systemctl կարգավիճակ mysql
Տվյալների բազան և օգտվողներ ստեղծելու համար կարող եք պարզապես գործարկել sql- սցենարները կոդի մեջ GitHub- ից: Եթե դա ճիշտ եք արել, դուք պետք է տեսնեք ձեր աղյուսակները ՝ օգտագործելով այս հրամանը.
me@my-rpi: ~ $ echo 'ցուցադրել սեղաններ;' | mysql project1 -t -u project1 -admin -p
Այժմ մենք ամեն ինչ պատրաստ ենք: Դուք կարող եք ստուգել սա առանց պատյանների, որպեսզի համոզվեք, որ ամեն ինչ աշխատում է: Եթե միացված չեք wifi- ին, ապա ձեզ հարկավոր է այն միացնել ethernet մալուխով և այն ձեռքով գործարկել:
Քայլ 6: Միացեք Wi-Fi- ին
Բացեք wpa-supplicant կազմաձևման ֆայլը nano- ով (իրականում կարևոր չէ, պարզապես համոզվեք, որ կարող եք աշխատել տեքստային խմբագրիչի հետ):
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Գնացեք ֆայլի ներքևում և ավելացրեք հետևյալը (փոխարինեք ssid- ի և գաղտնաբառի անունը ձեր անուններով).
ցանց = {
ssid = "ssid-name" psk = "գաղտնաբառ-անուն"}
Գաղտնագրված գաղտնաբառ ստեղծելու համար կարող եք օգտագործել wpa_passphrase- ը և պարզապես պատճենել այն wpa_supplicant.conf psk- ում ՝ բաներն ավելի ապահով դարձնելու համար:
wpa_passphrase "ssid-name" "password-name"
Եթե ցանկանում եք, որ այն ինքնաբերաբար միանա այս Wi-Fi ցանցին, իսկ կազմաձևման ֆայլում կան այլ անձինք, համոզվեք, որ առաջնահերթությունը փոխում եք ավելի բարձր մակարդակի ՝ կազմաձևման ֆայլում ցանցին ավելացնելով այս տողը.
առաջնահերթություն = 2
Մի մոռացեք վերակազմավորել ինտերֆեյսը հետևյալով.
wpa_cli -i wlan0 վերակազմավորել
Այժմ դուք արդեն պատրաստ եք և միացված եք wifi ցանցին:
Քայլ 7: Ամեն ինչ միասին հավաքելը
Քանի որ ամեն ինչ լարված է և զոդված, մենք կարող ենք գործին մոտենալ: Սա նախագծված էր այնպես, որ դուք կարողանայիք բացել պատյանը ՝ առանց թուլացած լարերի: Սա նշանակում է, որ ամեն ինչ կցված է ներքևի մասին: Առաջին բանը, որ պետք է անել, ազնվամորիին մի փոքր հարմարվելն է: Ամեն անկյունում դրա մեջ անցքեր կան, բայց դրանք այնքան էլ մեծ չեն, որքան պետք է լինեն: Տրամագիծը պետք է բավարար լինի 3 մմ պտուտակ ներսում տեղադրելու համար: Մենք ստիպված էինք փայլեցնել անցքերը, որպեսզի դրանք մի փոքր ավելի լայնանան:
Երկրորդ բանը, որ պետք է անել, յուրաքանչյուր անցքի մեջ պտուտակով թելը կտրելն է: Սա կարող է դժվար թվալ, բայց հեշտությամբ կարելի է անել ճիշտ գործիքների օգնությամբ: Ես խորհուրդ կտայի դա անել տեղական շինարարական խանութում, պարզապես խնդրեք թել կտրելու գործիք: Քանի որ հայրս ոսկերիչ է, նա գործիքներ ուներ դա անելու աշխատավայրում: Ես կարող եմ նոր stl ֆայլ վերբեռնել, որպեսզի այն հետագայում տպվի, բայց դրա համար անհրաժեշտ կլինի շատ ճշգրիտ տպիչ:
Երրորդ քայլը պտուտակն է պտտել ներքևի մասի վրա: Ձեզ հարկավոր է 4 մմ տրամագծով 4 պտուտակ ՝ 3 մմ տրամագծով: Դրանից հետո կարող եք PCD- ի տախտակը ներքևի մասի վերևում տրամադրված տեղում դնել: CCS811 սենսորը կարող է մտցվել ձախ կողմում նախատեսված տեղ, իսկ DHT11- ը կարող է կցվել աջ ափսեին: Երկուսն էլ մեկուսացված են և բավականաչափ օդափոխվում են, բայց հետո մենք նկատեցինք, որ ներսում դեռ տաքանում էր: Այդ մասին ավելի ուշ:
Այնուհետեւ դուք պետք է կցեք LED- ները իրենց խողովակին: Մենք դա արեցինք 2 բաղադրիչ սոսինձով, բայց դուք կարող եք դա անել, ինչպես ցանկանում եք: Համոզվեք, որ դրանք կպչում են այնտեղ:
Այժմ դուք կարող եք կցել LCD- էկրանը, ձեզ հարկավոր են նախորդ տրամագծով նույն տրամագծով պտուտակներ, բայց մի փոքր ավելի երկար: Իմը 1 սմ էր Եթե չորս պտուտակները պտուտակված են, մնում է միայն մեկ բան անել: Կցեք վերին հատվածը: Ձեզ անհրաժեշտ է չորս պտուտակ ՝ նույն տրամագծով և դրանք 2 սմ են: Այժմ ամեն ինչ պետք է տեղում լինի, և դուք կարող եք այն սկսել:
Քայլ 8: Սկսեք այն
Այս ծրագրի մեկնարկի գործընթացը շատ հեշտ է.
- Կցեք հոսանքի մալուխը պատյանի ձախ կողմում: Դա շատ տեսանելի չէ, բայց դուք կարող եք տեսնել անցքերի միջոցով: Եթե այն ձեռք եք բերել մեկ անգամ, դա նորից խնդիր չի լինի:
- Giveամանակ տվեք սկսելու համար:
- IP հասցեն էկրանին կհայտնվի տասը վայրկյան: Միակ բանը, որ դուք պետք է անեք, համոզվեք, որ միացված եք նույն ցանցին և մուտքագրեք IP հասցեն ձեր դիտարկիչի հասցեի տողում:
- Դուք այժմ կայքում եք: Դուք դեռ հաշիվ չունեք, այնպես որ ստեղծեք հաշիվ:
- Եթե գրանցված եք, մուտք գործեք:
- Կատարած! Կայքի բոլոր տվյալները կարող եք տեսնել, իսկ LCD- էկրանը ցույց է տալիս օդի ընթացիկ որակը:
Քանի որ ջերմությունը բարձրանում է, մենք տեղադրեցինք սենսորները պատյան ներքևում: Այս կերպ ջերմաստիճանը մեծ ազդեցություն չի ունենա գրանցված արժեքների վրա: Այսպիսով, օպտիմալ չափումների համար սարքը կանգնեցրեք կամ կարող եք պարզապես այն կախել պատից:
Խորհուրդ ենք տալիս:
Տնական որակի DAC- ն հեշտ է. 24 քայլ
Տնական որակի DAC- ն հեշտ է. Ամեն ինչ սկսվեց նրանից, որ ես որոշեցի իմ ձայնային համակարգը ավելի լավը դարձնել
Հպման տվիչ և ձայնային տվիչ, որը վերահսկում է AC/DC լույսերը `5 քայլ
Touch Sensor & Sound Sensor AC/DC Lights. ՄԻԱՎԱ, եթե այն բաց թողնեք, Լույսը ԿԱՆFԻ, և նույնը
Qualityրի որակի ստուգիչ `5 քայլ
Qualityրի որակի փորձարկիչ. Սա շատ ավելի մեծ նախագիծ է և ներառում է շատ ավելի շատ տվիչներ, ինչպիսիք են ուլտրաձայնային տվիչը, լուծված թթվածնի սենսորը, ինֆրակարմիր տեսախցիկը, բջջային հավելվածը թեստի արդյունքների գրաֆիկական ներկայացման համար, մի քանիսը նշելու համար: Բայց մտածեցի սա դրեք
Qualityրի որակի մոնիտորինգ MKR1000- ի և ARTIK ամպի միջոցով. 13 քայլ (նկարներով)
Qualityրի որակի մոնիտորինգ MKR1000- ի և ARTIK ամպի միջոցով. Ներածություն Այս նախագծի հիմնական նպատակն է օգտագործել MKR1000- ը և Samsung ARTIK Cloud- ը `լողավազանների pH- ի և ջերմաստիճանի մակարդակը վերահսկելու համար: ալկալայնություն ա
Duրի մակարդակի Arduino- ի հայտնաբերման մեթոդներ `օգտագործելով ուլտրաձայնային տվիչ և Funduino ջրի տվիչ` 4 քայլ
Duրի մակարդակի Arduino- ի հայտնաբերման մեթոդներ `օգտագործելով ուլտրաձայնային տվիչ և Funduino ջրի սենսոր: Այս նախագծում ես ձեզ ցույց կտամ, թե ինչպես ստեղծել էժան ջրի դետեկտոր` օգտագործելով երկու մեթոդ ՝ 1. Ուլտրաձայնային տվիչ (HC-SR04) .2. Funduino ջրի ցուցիչ