Talaan ng mga Nilalaman:

WeatherCar: 6 Mga Hakbang
WeatherCar: 6 Mga Hakbang

Video: WeatherCar: 6 Mga Hakbang

Video: WeatherCar: 6 Mga Hakbang
Video: [Disastrous]Camping alone in a Small Car in Heavy Rain. Spending a Night at an Emergency Dam Lake. 2024, Hulyo
Anonim
WeatherCar
WeatherCar

Ang WeatherCar, isang maliit na proyekto na gawa sa bahay na maaaring magmaneho habang kinokolekta din ang kapaki-pakinabang na data!

Ginawa ko ang proyektong ito bilang isang pangwakas para sa aking unang taon sa Howest ng Kortrijk. Ang proyektong ito ay wala pang magandang pagtatapos ngunit ang dokumentong ito ay tungkol sa lahat ng mga panloob ng kotseng ito, nang hindi ginagawa ang buong frame.

Hakbang 1: Mga Kinakailangan

Kakailanganin mo ang lahat ng mga sangkap na ito para sa proyektong ito:

  • Raspberry PI
  • 2 x motor (12v)
  • Servo
  • DHT11
  • BMP280
  • Module ng GY-NEO6MV2 GPS
  • 4 x NPN Transistors
  • 2 x Resistors (1k at 2k)
  • Driver ng motor
  • 2 x 6v na mga pack ng baterya
  • Prototyping board
  • Tagapangasiwa ng boltahe ng step-down
  • Insulated Copper wire
  • Flat cable
  • Lumang Micro-USB cable
  • Plywood

Hakbang 2: Paghihinang / Mga Kable

Paghihinang / Kable
Paghihinang / Kable
Paghihinang / Kable
Paghihinang / Kable
Paghihinang / Kable
Paghihinang / Kable

Para sa unang hakbang ay diretso kami sa pagkonekta sa lahat ng mga wire. (PS. Maaari kang gumamit ng isang breadboard para sa pagsubok bago maghinang ng lahat)

Nagbigay ako ng isang pamamaraan na nagpapakita sa iyo kung paano ko na-wire ang lahat, kahit na hindi ko mahanap ang tamang bahagi para sa aking motordriver. Para sa aking motordriver ginamit ko ang 4 NPN transistors upang i-convert ang aking 3.3v signal sa isang 12v signal upang makontrol ang driver ng motor. Ito ay dahil ang isang ginamit ko ay sumusuporta lamang sa 1 boltahe (12v dahil ang aking mga motor ay 12v).

Hakbang 3: Pag-setup ng Raspberry Pi

Kung wala ka pang pag-set up, kakailanganin mo munang gawin ito, kung hindi man ay maaari mong laktawan ang hakbang na ito kung mayroon kang mga kinakailangang programa mula sa huling snippet ng code sa hakbang na ito.

Una sa kakailanganin mong i-download ang bersyon ng Raspbian desktop, na matatagpuan dito:

Matapos mong ma-download ito kakailanganin mong gamitin ang Etcher o WinDiskImager upang ilagay ang file ng imahe sa SD card mula sa iyong raspberry Pi. (Maaari itong magtagal).

Kapag tapos na ang programa, buksan ang file explorer at buksan ang drive na tinatawag na "boot". Dito makikita mo ang isang text file na "cmdline.txt". Buksan ito at idagdag ang ip = 169.254.10.1 sa dulo ng file. Mag-ingat na huwag magdagdag ng anumang pumasok sa file dahil maaaring humantong ito sa kaguluhan.

Ngayon na ang PI ay may isang default ip address, kakailanganin pa rin naming paganahin ang SSH na ma-ugnay dito. Maaari mo itong gawin sa pamamagitan ng paggawa ng isang bagong file na tinatawag na "SSH" nang walang anumang extension, sasabihin nito sa raspberry pi upang paganahin ang ssh sa unang boot.

Sa pamamagitan nito maaari na kaming kumonekta sa raspberry pi gamit ang isang ethernet cable. Ikonekta ang cable sa pagitan ng iyong pc at ng raspberry PI. Ngayon kakailanganin namin ang isang SSH client. Para sa mga ito gumamit ako ng masilya (https://www.putty.org/). Buksan ang masilya at ilagay ang 169.254.10.1 bilang hostname. Maaaring magtagal bago ka makakonekta.

Kapag nakakonekta ka, mag-log in sa mga kredensyal na ito:

Pag-login: piPassword: raspberry

Nakapag-setup na kami ngayon ng isang koneksyon sa internet, upang magawa ito. Isagawa ang utos na ito at palitan ang SSID at Network password ng pangalan at password ng iyong wifi.

echo "password" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf

wpa_cli -i wlan0 reconfigure

Ngayon na mayroon kaming koneksyon sa internet maaari naming mai-install ang sawa at iba pang mga kinakailangang programa gamit ang mga sumusunod na utos

sudo apt update

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

python3 -m pip install --i-upgrade ang pip setuptools wheel virtualenv

mkdir weathercar && cd weathercar

python3 -m venv --system-site-packages env

pinagmulan env / bin / buhayin

python -m pip install mysql-konektor-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-konektor-python passlib flask-socketio

Hakbang 4: Pag-setup ng Database

Ngayon na ikaw ay raspberry pi ay mayroon ng lahat ng mga kinakailangang programa, kakailanganin pa rin naming i-configure ang database. Na maaari nating gawin sa pamamagitan ng unang pagsisimula ng Mysql

sudo mariadb

at pagkatapos

GUMAWA NG USER 'project1-admin' @ 'localhost' IDENTIFIED BY 'adminpassword'; CREATE USER 'project1-web' @ 'localhost' IDENTIFIED BY 'webpassword'; CREATE USER 'project1-sensor' @ 'localhost' IDENTIFIED BY 'sensorpassword';

GUMAWA NG DATABASE weathercar_db;

IPAGBIGAY ANG LAHAT NG PRIVILEGES SA weathercar. * Sa 'project1-admin' @ 'localhost' MAY GRANT OPTION; GRANT SELECT, INSERT, UPDATE, Delete SA project1. * TO 'project1-web' @ 'localhost'; GRANT SELECT, INSERT, UPDATE, TANGGAL SA proyekto1. * SA 'project1-sensor' @ 'localhost'; FLUSH PRIVILEGES;

Hakbang 5: Code

Sa hakbang na ito, mai-clone namin ang kinakailangang code papunta sa iyong raspberry pi. Gagawin namin ito sa pamamagitan ng paggawa nito:

Una sa lahat siguraduhin na nasa iyong direktoryo sa bahay sa pamamagitan ng pagpasok ng "cd"

cd

ngayon ay i-clone namin ang repository gamit ang

git clone

Ngayon ay maaari naming mai-import ang mga setting ng database gamit ang:

sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql

Ngayon na natapos na namin ang database maaari naming magpatuloy at i-set up ang aming serbisyo

sudo cp weathercar / conf / project1 - *. service / etc / systemd / system / sudo systemctl daemon-reloadsudo systemctl simulan ang proyekto1- * sudo systemctl paganahin ang project1- *

Hakbang 6: Kumonekta

Kumonekta!
Kumonekta!

Halos nandiyan na kami, isang hakbang pa lang. At nakuha na ang ip address na ibinigay sa amin ng wifi.

Gagawin namin ito sa pamamagitan ng paglalagay

ip addr

isang pangkat ng basura ay lilitaw, ngunit dapat mong mahanap ang "wlan0" at pagkatapos ng ilang mga linya sa karagdagang "inet 192.168.x.x"

ilagay ang ip address na iyon sa loob ng iyong browser at umalis ka. Nakakonekta ka sa website.

Inirerekumendang: