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

WeatherCar: 6 քայլ
WeatherCar: 6 քայլ

Video: WeatherCar: 6 քայլ

Video: WeatherCar: 6 քայլ
Video: [Катастрофа] Кемпинг в маленькой машине под проливным дождем на аварийной плотине. 2024, Հուլիսի
Anonim
WeatherCar
WeatherCar

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ոդման / լարերի տեղադրում

Sոդման / լարերի տեղադրում
Sոդման / լարերի տեղադրում
Oldոդման / լարերի տեղադրում
Oldոդման / լարերի տեղադրում
Sոդման / լարերի տեղադրում
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 հասցեն ձեր դիտարկիչի ներսում և դուրս եկեք: Դուք միացած եք կայքին:

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