Բովանդակություն:
- Քայլ 1: Նյութեր. Ի՞նչ է ձեզ անհրաժեշտ
- Քայլ 2: Լարերի տեղադրում
- Քայլ 3: MySQL- ի օգտագործմամբ տվյալների շտեմարան
- Քայլ 4: Կոդավորում
- Քայլ 5: Բնակարանային ապահովում
![Home_X: 5 քայլ Home_X: 5 քայլ](https://i.howwhatproduce.com/images/001/image-32-91-j.webp)
Video: Home_X: 5 քայլ
![Video: Home_X: 5 քայլ Video: Home_X: 5 քայլ](https://i.ytimg.com/vi/zqIWtDAQF8k/hqdefault.jpg)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
![Տուն_X Տուն_X](https://i.howwhatproduce.com/images/001/image-32-92-j.webp)
Ես Howest Kortrijk- ի ուսանող եմ, ով սովորում է Նոր մեդիա և հաղորդակցման տեխնոլոգիա (NMCT):
Մենք բոլորս պետք է պատրաստեինք նախագիծ, որը հիմնված էր ազնվամորու և/կամ Արդուինոյի շուրջ: Մենք ստիպված էինք օգտագործել տվիչներ և տվյալների շտեմարաններ ՝ վեբ կայքում տվյալները ցույց տալու համար, և հենց այդ ժամանակ էլ միտք առաջացավ ստեղծել մինի խելացի տուն:
Խելացի տան միջոցով դուք կկարողանաք տեսնել սենսորների բոլոր ընթերցումները կայքում:
Այս ուսանելի դասում ես ձեզ կառաջնորդեմ յուրաքանչյուր քայլի միջոցով, որպեսզի կարողանաք վերստեղծել այս նախագիծը ձեզ համար:
Քայլ 1: Նյութեր. Ի՞նչ է ձեզ անհրաժեշտ
- Ազնվամորի Պի
- DHT22
- Grove - օդի որակի ցուցիչ
- Grove - գազի տվիչ (MQ2)
- Breadboard
- Ազնվամորի Pi T կոշկակար
- Արական/իգական ցատկող լարեր
- 5 մմ լուսադիոդներ
- Ռեզիստորներ
- Փայտ և գործիքներ
- Servo Motor
- GrovePi+
Դուք կարող եք գնել այս իրերը առցանց (Ali express, amazon, kiwi electronics…) կամ ձեր տեղական խանութներից:
Խանութներին հղում ունեցող մասերի մանրամասն ցանկը տրված է ստորև BOM- ում:
Քայլ 2: Լարերի տեղադրում
![Հաղորդալարեր Հաղորդալարեր](https://i.howwhatproduce.com/images/001/image-32-93-j.webp)
![Հաղորդալարեր Հաղորդալարեր](https://i.howwhatproduce.com/images/001/image-32-94-j.webp)
Ես օգտագործել եմ Fritzing- ը `էլեկտրագծերի տեղադրման համար, որպեսզի ունենա գեղեցիկ ակնարկ, թե ինչպես պետք է կատարվի իմ էլեկտրագծերը: Ես ինքս օգտագործել եմ GrovePi+ իմ 2 սենսորների համար: Եթե պլանավորում եք դա պատրաստել առանց GrovePi+ - ի, հետևեք Fritzing սխեմային: I սենսորները ձեզ մոտ չեն աշխատում, փորձեք օգտագործել տարբեր քորոցներ:
Ստորև կարող եք գտնել Fritzing ֆայլը:
Քայլ 3: MySQL- ի օգտագործմամբ տվյալների շտեմարան
![MySQL- ի օգտագործմամբ տվյալների շտեմարան MySQL- ի օգտագործմամբ տվյալների շտեմարան](https://i.howwhatproduce.com/images/001/image-32-95-j.webp)
Ամենակարևոր խնդիրներից մեկը, որը մենք պետք է իրականացնեինք, MySQL տվյալների բազայի հետ կապն էր:
Ամեն անգամ, երբ սենսորը կարդում է կամ լույսը վառվում է, դուք կտեսնեք այս փոփոխությունները տվյալների բազայում:
Այնուհետև տվյալների բազան այս տվյալները ուղարկում է կայք, որպեսզի օգտագործողը կարողանա դրանք տեսնել նաև այնտեղ:
Ստորև կարող եք գտնել իմ.xml ֆայլը, որտեղ դուք ունեք ակնարկ, թե ինչպես է գործում տվյալների բազան, բայց նախ պետք է տեղադրել MySQL և տափաշիշ Raspberry Pi- ի վրա:
Սենսորների կոդավորումը տեղի է ունեցել pycharm- ի միջոցով, այնպես որ համոզվեք, որ այն նույնպես տեղադրված է (ձեր համակարգչի վրա):
Նախ անհրաժեշտ է ստուգել թարմացումների առկայությունը և տեղադրել փաթեթներ, օրինակ ՝
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 virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi:/project1 $ python3 -m venv --system- site-packages env me@my-rpi:/project1 $ source env/bin/activ (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Այն պետք է ձեզ ասի, որ mariadb.service- ն ակտիվ է:
Այժմ, pycharm- ում, անցեք VCS> Import from Version Control> GitHub en clone
Այնուհետև կազմաձևեք տեղակայման կազմաձևը ձեր ստեղծած գրացուցակի համար, օրինակ. /տուն/ինձ/նախագիծ 1.
Դա անելուց հետո գնացեք թարգմանչի կարգավորումներ և կազմաձևեք վիրտուալ միջավայրը, որը դուք ստեղծել եք, օրինակ. /home/me/project/env/bin/python. Պետք է լրացնել նաև ճանապարհի քարտեզագրումը:
Եթե դուք արել եք այս ամենը, տվյալների բազան արդեն պետք է աշխատի:
sudo systemctl կարգավիճակը mysql
Այժմ մենք պետք է օգտագործողներ ստեղծենք մեր տվյալների շտեմարանի համար, օրինակ ՝
sudo mariadb
Ստեղծել օգտվող 'project-admin'@'localhost' IDENTIFIED BY 'adminpassword'; Ստեղծել օգտվող 'project-web'@'localhost' IDENTIFIED BY 'webpassword'; CREATE USER 'project-sensor'@'localhost' IDENTIFIED BY by 'sensorpassword'; Ստեղծել տվյալների բազայի նախագիծ;
ՏՐԱՄԱԴՐԵԼ ԲՈԼՈՐ ՊՐՈՎԻԼՅՈՆԵՐԸ ՝ նախագծին:* to 'project-admin'@'localhost' ՝ GRANT OPTION- ով; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-web'@'localhost'; ՏՐԱՄԱԴՐՈԹՅԱՆ ԸՆՏՐՈԹՅՈՆ, ՆԵՐԿԱՅԱՆԵԼ, ԹԱՐՄԱՆԵԼ, DEՆTEԵԼ նախագիծը:* Դեպի 'project-sensor'@'localhost'; FLԱՌԱՅԻՆ ԱՌԱIՆՈԹՅՈՆՆԵՐ;
Այժմ pycharm- ում մեր տվյալների բազան տեսնելու համար մենք պետք է կապ հաստատենք:
Մենք կարող ենք դա անել ՝ գնալով Դիտել> Գործիք Windows> Տվյալների բազա և կտտացնելով կանաչ «գումարած» կոճակին:
Տվյալների աղբյուր> MySQL և կտտացրեք (առկայության դեպքում) Ներբեռնման վարորդի կոճակին, որը հայտնվում է:
Այնուհետև անցեք SSH/SSL և ստուգեք SSH: Լրացրեք pi- ի համար ընդունող/օգտվող/գաղտնաբառ և օգտագործեք 22 պորտը, եթե դեռ լրացված չէ:
Եթե ցանկանում եք, որ pycharm- ը հիշի ձեր գաղտնաբառը, նշեք «Հիշել գաղտնաբառը» վանդակը:
«Ընդհանուր» ներդիրում լրացրեք localhost- ը հյուրընկալողի մեջ, նախագիծը տվյալների շտեմարանում և օգտագործեք project-admin- ը գաղտնաբառով, որպեսզի կարողանաք ստուգել կապը:
Այժմ տվյալների բազան օգտագործելի դարձնելու համար հարկավոր է գործարկել.sql- ը, որը ես տեղադրում եմ ստորև: Փորձեք օգտագործել ներմուծման տարբերակը, եթե չեք կարող աղբանոց ներմուծել, ապա պետք է ձեռքով ավելացնել աղյուսակները:
Դա անելուց հետո դուք պետք է գտնեք conf գրացուցակը երկու.service ֆայլերով: Այնտեղ փոխեք յուրաքանչյուր սեբ, որը կգտնեք ձեր pi- ում օգտագործվող օգտվողի անունով: Բացի այդ, խումբը պետք է լինի www- տվյալներ:
Հաջորդ քայլն այն է, որ այս ծառայությունները սկսեն ձեր pi- ով, օրինակ ՝
sudo cp conf/project-*. service/etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl սկսել նախագիծը-*
sudo systemctl կարգավիճակի նախագիծ-*
Դուք պետք է տեսնեք երկու ակտիվ ծառայություն, երբ ամեն ինչ ընթանա ըստ պլանի:
Վերջին քայլը nginx- ը միացնելն է:
Նախ ստուգեք apache2- ի առկայությունը ձեր pi- ի վրա, եթե այն տեղադրված է, ջնջեք այն կամ անջատեք այն:
Nginx ֆայլում նախ պետք է փոխել uwsgi_pass- ը, ապա գործարկել այս հրամանները:
sudo cp conf/nginx/etc/nginx/sites-available/project
sudo rm/etc/nginx/sites-enabled/default
sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project
sudo systemctl վերագործարկեք nginx.service
sudo systemctl կարգավիճակը nginx.service
Nginx- ը պետք է լինի ակտիվ և աշխատող: Եթե ամեն ինչ ճիշտ է, ապա այժմ կարող եք նավարկել ձեր pi- ում: Սկզբում կտեսնեք «Բարև աշխարհ», բայց դեռ պետք է փոխեք այդ ֆայլի բովանդակությունը ՝ ներքևում գտնվող իմ կոդով:
Կարող եք միացնել ծառայությունները, որպեսզի pi- ն սկսելուց հետո դրանք ինքնաբերաբար գործարկվեն:
Երբ դա արեցիք, համոզվեք, որ տվյալների բազայում տեղադրել եք առնվազն 1 տուն հասցեով: Դուք կարող եք դա անել մի պարզ ներդիրի մեջ:
Քայլ 4: Կոդավորում
![Կոդավորում Կոդավորում](https://i.howwhatproduce.com/images/001/image-32-96-j.webp)
![Կոդավորում Կոդավորում](https://i.howwhatproduce.com/images/001/image-32-97-j.webp)
Դուք կարող եք ներբեռնել կոդը Github- ի միջոցով.
github.com/NMCT-S2-Project-I/project-i-Tib…
Սենսորների ծածկագիրը ներառված է sensor.py ֆայլում:
Մի մոռացեք փոխել իմ անունը ձեր (կամ օգտվողի համեմատ, քան դուք օգտագործում եք ձեր pi- ում) ծառայության ֆայլերում, որպեսզի նրանք կարողանան ճիշտ գործարկել և տեղադրել իմ կոդը ձեր Pycharm- ի արդեն գոյություն ունեցող ֆայլերում:
Քայլ 5: Բնակարանային ապահովում
![Բնակարանաշինություն Բնակարանաշինություն](https://i.howwhatproduce.com/images/001/image-32-98-j.webp)
![Բնակարանաշինություն Բնակարանաշինություն](https://i.howwhatproduce.com/images/001/image-32-99-j.webp)
![Բնակարանաշինություն Բնակարանաշինություն](https://i.howwhatproduce.com/images/001/image-32-100-j.webp)
![Բնակարանաշինություն Բնակարանաշինություն](https://i.howwhatproduce.com/images/001/image-32-101-j.webp)
Ես արագ նկարեցի, թե ինչպես եմ ուզում իմ տունը, բայց ձեր տունը կարող է բոլորովին այլ տեսք ունենալ: Պարզապես պետք է համոզվեք, որ ունեք մի ամբողջություն, որպեսզի սերվոն կարողանա բացել և փակել պատուհանը:
Փայտը կտրելու համար ես հիմնականում օգտագործում էի մի փոքրիկ հորատիչ և սղոց: Նաև համոզվեցի, որ պատերը բավական հաստ են, որպեսզի կարողանամ իմ սերվոն տեղադրել դրանց ներսում:
Երբ ավարտեք ձեր դիզայնը և servo- ն տեղում է, ձեզ հարկավոր է միայն միացնել սենսորները և տեղադրել pi- ն տան ներսում, և դուք պատրաստվում եք գնալ:
Ինչպես արդեն նշեցի, որ ձեր տունը կարող է միանգամայն նույնը լինել, ինչ իմը, միայն անհրաժեշտ է ազատել սերվոյի և պատուհանի համար:
Ի վերջո, դուք ավարտեցիք նախագիծը: Հուսով եմ, որ այս ուղեցույցը բավականաչափ պարզ է, որպեսզի դուք նույնպես կարողանաք հիանալի խելագար տուն պատրաստել, ինչպես ես:
Ամենայն բարիք:
Խորհուրդ ենք տալիս:
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ - Քայլ առ քայլ: 4 քայլ
![Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ - Քայլ առ քայլ: 4 քայլ Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ - Քայլ առ քայլ: 4 քայլ](https://i.howwhatproduce.com/images/001/image-458-22-j.webp)
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ | Քայլ առ քայլ. Այս նախագծում ես նախագծելու եմ մի պարզ Arduino մեքենայի հետադարձ կայանման սենսորային միացում ՝ օգտագործելով Arduino UNO և HC-SR04 ուլտրաձայնային տվիչ: Այս Arduino- ի վրա հիմնված Car Reverse ազդանշանային համակարգը կարող է օգտագործվել ինքնավար նավարկության, ռոբոտների ռանգի և այլ տեսականու համար
Քայլ առ քայլ համակարգչային շենք. 9 քայլ
![Քայլ առ քայլ համակարգչային շենք. 9 քայլ Քայլ առ քայլ համակարգչային շենք. 9 քայլ](https://i.howwhatproduce.com/images/001/image-52-15-j.webp)
Քայլ առ քայլ համակարգչի կառուցում. Պարագաներ. Սարքավորումներ. Մայրական համակարգիչ CPU coolerPSU (Էներգամատակարարման միավոր) Պահեստավորում (HDD/SSD) RAMGPU (պարտադիր չէ) Գործ CaseTools: Պտուտակահան ESD ապարանջան/matsthermal paste w/aplikator
Երեք բարձրախոս շղթա -- Քայլ առ քայլ ձեռնարկ ՝ 3 քայլ
![Երեք բարձրախոս շղթա -- Քայլ առ քայլ ձեռնարկ ՝ 3 քայլ Երեք բարձրախոս շղթա -- Քայլ առ քայլ ձեռնարկ ՝ 3 քայլ](https://i.howwhatproduce.com/images/001/image-227-26-j.webp)
Երեք բարձրախոս շղթա || Քայլ առ քայլ ձեռնարկ. Բարձրախոսների սխեման ուժեղացնում է շրջակա միջավայրից ստացված աուդիո ազդանշանները MIC- ում և այն ուղարկում է խոսնակին, որտեղից արտադրվում է ուժեղացված ձայնը:
Քայլ առ քայլ կրթություն ռոբոտաշինության մեջ `հանդերձանքով. 6 քայլ
![Քայլ առ քայլ կրթություն ռոբոտաշինության մեջ `հանդերձանքով. 6 քայլ Քայլ առ քայլ կրթություն ռոբոտաշինության մեջ `հանդերձանքով. 6 քայլ](https://i.howwhatproduce.com/images/005/image-12971-j.webp)
Քայլ առ քայլ կրթություն ռոբոտաշինության մեջ ՝ հանդերձանքով. Իմ սեփական ռոբոտը կառուցելուց մի քանի ամիս անց (խնդրում եմ անդրադառնալ այս բոլորին), և երկու անգամ մասերի խափանումից հետո, ես որոշեցի մի քայլ հետ գնալ և նորից մտածել իմ մասին ռազմավարություն և ուղղություն: Մի քանի ամսվա փորձը երբեմն շատ հատուցող էր, և
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
![Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ](https://i.howwhatproduce.com/images/007/image-19534-j.webp)
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)