Բովանդակություն:
- Քայլ 1: Պահանջներ
- Քայլ 2: Sոդման / լարերի տեղադրում
- Քայլ 3: Ազնվամորի Պի կարգավորում
- Քայլ 4: Տվյալների բազայի կարգավորում
- Քայլ 5: Կոդ
- Քայլ 6: Միացեք:
Video: WeatherCar: 6 քայլ
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-10 13:47
WeatherCar- ը, փոքր տնային նախագիծ, որը կարող է քշել ՝ միաժամանակ հավաքելով օգտակար տվյալներ:
Այս նախագիծը ես դարձա որպես եզրափակիչ առաջին տարվա Howest of Kortrijk- ում: Այս նախագիծը դեռ լավ ավարտ չունի, բայց այս փաստաթուղթը վերաբերում է այս մեքենայի բոլոր ներքին մասերին ՝ առանց ամբողջական շրջանակ կազմելու:
Քայլ 1: Պահանջներ
Այս ծրագրի համար ձեզ հարկավոր կլինեն այս բոլոր բաղադրիչները.
- Ազնվամորի PI
- 2 x շարժիչ (12 վ)
- Սերվո
- DHT11
- BMP280
- GY-NEO6MV2 GPS մոդուլ
- 4 x NPN տրանզիստորներ
- 2 x դիմադրիչներ (1k և 2k)
- Շարժիչի վարորդ
- 2 x 6 վ մարտկոցի տուփ
- Նախատիպերի տախտակ
- Լարման կարգավորիչի իջեցում
- Մեկուսացված պղնձե մետաղալար
- Հարթ մալուխ
- Հին Micro-USB մալուխ
- Նրբատախտակ
Քայլ 2: Sոդման / լարերի տեղադրում
Առաջին քայլի համար մենք անմիջապես անցնում ենք բոլոր լարերը միացնելու համար: (Հ. Գ. Ամեն ինչ զոդելուց առաջ կարող եք փորձարկման համար օգտագործել տախտակ)
Ես տրամադրեցի մի սխեմա, որը ցույց է տալիս, թե ինչպես եմ ամեն ինչ միացրել, չնայած չկարողացա գտնել իմ շարժիչ -վարորդի ճիշտ մասը: Իմ motordriver- ի համար ես օգտագործեցի 4 NPN տրանզիստորները `իմ 3.3 վ ազդանշանը փոխակերպելու 12 վ ազդանշանի` շարժիչի վարորդը կառավարելու համար: Սա, քանի որ այն, ինչ ես օգտագործել եմ, աջակցում է միայն 1 լարման (12 վ, որովհետև իմ շարժիչները 12 վ են):
Քայլ 3: Ազնվամորի Պի կարգավորում
Եթե դուք արդեն չունեք կարգավորում, ապա առաջին հերթին պետք է դա անեք, հակառակ դեպքում կարող եք բաց թողնել այս քայլը, եթե այս քայլի վերջին ծածկագրի հատվածից պահանջվող ծրագրեր ունեք:
Նախ անհրաժեշտ է ներբեռնել Raspbian աշխատասեղանի տարբերակը, որը կարելի է գտնել այստեղ ՝
Սա ներբեռնելուց հետո դուք պետք է օգտագործեք Etcher կամ WinDiskImager ՝ ձեր ազնվամորու Pi- ից SD քարտի վրա պատկեր տեղադրելու համար: (Սա կարող է որոշ ժամանակ տևել):
Երբ ծրագիրն ավարտված է, բացեք ֆայլերի որոնիչը և բացեք «boot» կոչվող սկավառակը: Այստեղ դուք կգտնեք «cmdline.txt» տեքստային ֆայլ: Բացեք սա և ֆայլի վերջում ավելացրեք ip = 169.254.10.1: Carefulգույշ եղեք, որ ֆայլում մուտքագրումներ չավելացվեն, քանի որ դա կարող է խնդիրներ առաջացնել:
Այժմ, երբ PI- ն ունի կանխադրված ip հասցե, մենք դեռ պետք է միացնենք SSH- ին, որպեսզի կարողանանք միանալ դրան: Դուք կարող եք դա անել ՝ ստեղծելով «SSH» կոչվող նոր ֆայլ ՝ առանց որևէ ընդլայնման: Սա ազնվամորի pi- ին կասի, որ ssh- ը միացնի առաջին բեռնման ժամանակ:
Դրանով մենք այժմ կարող ենք միանալ ազնվամորու pi- ին ՝ օգտագործելով Ethernet մալուխ: Միացրեք մալուխը ձեր համակարգչի և ազնվամորու PI- ի միջև: Այժմ մեզ պետք կգա SSH հաճախորդ: Դրա համար ես օգտագործեցի մածիկ (https://www.putty.org/): Բացեք ծեփամածիկը և տեղադրեք 169.254.10.1 որպես հյուրընկալողի անուն: Կարող է որոշ ժամանակ պահանջվել, մինչև կարողանաք միանալ:
Միանալուց հետո մուտք գործեք հետևյալ հավատարմագրերով.
Մուտք ՝ piPassword ՝ ազնվամորի
Այժմ մենք կարող ենք կարգավորել ինտերնետային կապը, դա անելու համար: Կատարեք այս հրամանը և փոխարինեք SSID- ի և ցանցի գաղտնաբառը ձեր wifi- ի անունով և գաղտնաբառով:
արձագանք «գաղտնաբառ» | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 վերակազմավորել
Այժմ, երբ մենք ունենք ինտերնետ կապ, կարող ենք տեղադրել python և այլ անհրաժեշտ ծրագրեր ՝ օգտագործելով հետևյալ հրամանները
sudo apt թարմացում
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
python3 -m pip install -upgrade pip setuptools wheel virtualenv
mkdir weathercar && cd weathercar
python3 -m venv --system-site-packages env
աղբյուր env/bin/ակտիվացնել
python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
Քայլ 4: Տվյալների բազայի կարգավորում
Այժմ, երբ դուք ազնվամորու pi- ն ունեք բոլոր անհրաժեշտ ծրագրերը, մենք դեռ պետք է կազմաձևենք տվյալների բազան: Ինչը մենք կարող ենք անել `նախ գործարկելով Mysql- ը
sudo mariadb
եւ հետո
CREATE USER 'project1-admin'@'localhost' IDENTIFIED BY 'adminpassword'; CREATE USER 'project1-web'@'localhost' IDENTIFIED BY 'webpassword'; CREATE USER 'project1-sensor'@'localhost' IDENTIFIED BY 'sensorpassword' ';
Ստեղծել տվյալների շտեմարան weathercar_db;
ՏՐԱՄԱԴՐԵԼ ԲՈԼՈՐ ՊՐՈՎԻԼՅՈՆԵՐԸ weathercar- ում:* դեպի 'project1-admin'@'localhost' ՝ GRANT OPTION- ով; GRANT SELECT, INSERT, UPDATE, DELETE ON project1:* TO 'project1-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DEՆTEԵԼ նախագիծը 1.* Դեպի 'project1-sensor'@'localhost'; FLUSH PRIVILEGES;
Քայլ 5: Կոդ
Այս քայլում մենք կլոնավորենք անհրաժեշտ ծածկագիրը ձեր ազնվամորու pi- ի վրա: Սա կանենք ՝ անելով հետևյալը.
Առաջին հերթին համոզվեք, որ ձեր տան գրացուցակում եք ՝ մուտքագրելով «cd»
CD
այժմ մենք կլոնավորենք պահեստը ՝ օգտագործելով
git կլոն
Այժմ մենք կարող ենք ներմուծել տվյալների բազայի կարգավորումները ՝ օգտագործելով.
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Այժմ, երբ մենք ավարտել ենք տվյալների բազան, կարող ենք առաջ գնալ և կարգավորել մեր ծառայությունը
sudo cp weathercar/conf/project1-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start project1-*sudo systemctl միացնել նախագիծը 1-*
Քայլ 6: Միացեք:
Մենք գրեթե այնտեղ ենք, ևս մեկ քայլ: Եվ դա ստանում է այն IP հասցեն, որը մեզ տվեց WiFi- ն:
Մենք դա կանենք ՝ դնելով
IP հասցե
մի փունջ կհայտնվի, բայց դուք պետք է կարողանաք գտնել «wlan0», այնուհետև մի քանի տող ավելի հեռու «inet 192.168.x.x»
տեղադրեք այդ IP հասցեն ձեր դիտարկիչի ներսում և դուրս եկեք: Դուք միացած եք կայքին: