Satura rādītājs:
- 1. darbība. Prasības
- 2. solis: lodēšana / elektroinstalācija
- 3. darbība: Raspberry Pi iestatīšana
- 4. darbība. Datu bāzes iestatīšana
- 5. darbība: kods
- 6. solis: izveidojiet savienojumu
Video: WeatherCar: 6 soļi
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-10 13:47
WeatherCar, neliels pašmāju projekts, kas spēj vadīt, vienlaikus vācot noderīgus datus!
Es šo projektu padarīju par finālu pirmo gadu Kortrijkas Howest. Šim projektam vēl nav laba apdare, taču šis dokuments attiecas uz visiem šīs automašīnas iekšējiem elementiem, neveidojot pilnu rāmi.
1. darbība. Prasības
Šim projektam jums būs nepieciešami visi šie komponenti:
- Aveņu PI
- 2 x motors (12v)
- Servo
- DHT11
- BMP280
- GY-NEO6MV2 GPS modulis
- 4 x NPN tranzistori
- 2 x rezistori (1k un 2k)
- Motora vadītājs
- 2 x 6V akumulatori
- Prototipēšanas dēlis
- Pazemināms sprieguma regulators
- Izolēta vara stieple
- Plakans kabelis
- Vecs mikro-USB kabelis
- Saplāksnis
2. solis: lodēšana / elektroinstalācija
Pirmajā solī mēs taisni savienosim visus vadus. (PS. Jūs varat izmantot maizes dēli testēšanai pirms visu lodēšanas)
Es sniedzu shēmu, kas parāda, kā es visu vadu, lai gan es nevarēju atrast pareizo daļu savam motora vadītājam. Savam motora vadītājam es izmantoju 4 NPN tranzistorus, lai pārvērstu savu 3.3v signālu par 12v signālu, lai kontrolētu motora draiveri. Tas tāpēc, ka manis izmantotais atbalsta tikai 1 spriegumu (12v, jo mani motori ir 12v).
3. darbība: Raspberry Pi iestatīšana
Ja jums vēl nav iestatīšanas, tas vispirms ir jāizdara, pretējā gadījumā varat izlaist šo darbību, ja jums ir nepieciešamās programmas no pēdējā koda fragmenta šajā solī.
Vispirms jums būs jālejupielādē Raspbian darbvirsmas versija, kuru var atrast šeit:
Pēc šīs lejupielādes jums būs jāizmanto Etcher vai WinDiskImager, lai ievietotu attēla failu SD kartē no aveņu Pi. (Tas var aizņemt kādu laiku).
Kad programma ir pabeigta, atveriet failu pārlūku un atveriet disku ar nosaukumu "boot". Šeit jūs atradīsit teksta failu "cmdline.txt". Atveriet to un faila beigās pievienojiet ip = 169.254.10.1. Esiet piesardzīgs un nepievienojiet failam nevienu ieeju, jo tas var radīt nepatikšanas.
Tagad, kad PI ir noklusējuma ip adrese, mums joprojām būs jāiespējo SSH, lai varētu ar to izveidot savienojumu. To var izdarīt, izveidojot jaunu failu ar nosaukumu "SSH" bez jebkāda paplašinājuma, tas pateiks aveņu pi iespējot ssh pirmajā palaišanas reizē.
Tagad mēs varam izveidot savienojumu ar aveņu pi, izmantojot Ethernet kabeli. Pievienojiet kabeli starp datoru un aveņu PI. Tagad mums būs nepieciešams SSH klients. Šim nolūkam es izmantoju tepe (https://www.putty.org/). Atveriet špakteli un kā resursdatora nosaukumu ievadiet 169.254.10.1. Var paiet kāds laiks, līdz varēsit izveidot savienojumu.
Kad esat izveidojis savienojumu, piesakieties, izmantojot šos akreditācijas datus:
Pieteikšanās: piParole: aveņu
Tagad mēs varam izveidot interneta savienojumu, lai to izdarītu. Izpildiet šo komandu un nomainiet SSID un tīkla paroli ar savu wifi vārdu un paroli.
atbalss "parole" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 pārkonfigurēt
Tagad, kad mums ir interneta savienojums, mēs varam instalēt python un citas nepieciešamās programmas, izmantojot šādas komandas
sudo apt atjauninājums
sudo apt instalēt -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
python3 -m pip install --upgrade pip setuptools wheel virtualenv
mkdir laikapstākļu automašīna un cd laikapstākļu automašīna
python3 -m venv-sistēmas-vietnes-paketes env
avots env/bin/aktivizēt
python -m pip instalēt mysql-savienotājs-python argon2-cffi kolbas kolba-HTTPAuth kolba-MySQL mysql-savienotājs-python passlib kolba-socketio
4. darbība. Datu bāzes iestatīšana
Tagad, kad esat aveņu pi, ir visas nepieciešamās programmas, mums joprojām būs jākonfigurē datu bāze. Ko mēs varam izdarīt, vispirms palaižot Mysql
sudo mariadb
un tad
IZVEIDOT LIETOTĀJU 'project1-admin'@'localhost' IDENTIFIED by 'adminpassword'; CREATE USER 'project1-web'@'localhost' IDENTIFICED by 'webpassword'; CREATE USER 'project1-sensor'@'localhost' IDENTIFIED BY 'sensorpassword';
CREATE DATABASE weathercar_db;
Piešķirt visas privilēģijas meteoroloģijā.* Uz “project1-admin”@”localhost” AR DOTĀCIJAS IESPĒJU; GRANT SELECT, INSERT, UPDATE, DELETE ON project1.* TO 'project1-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project1.* TO 'project1-sensor'@'localhost', FLUSH PRIVILEGES;
5. darbība: kods
Šajā solī mēs klonēsim nepieciešamo kodu jūsu aveņu pi. Mēs to darīsim, rīkojoties šādi:
Vispirms pārliecinieties, vai atrodaties savā mājas direktorijā, ievadot "cd"
cd
tagad mēs klonēsim krātuvi, izmantojot
git klons
Tagad mēs varam importēt datu bāzes iestatījumus, izmantojot:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Tagad, kad esam pabeiguši datu bāzi, mēs varam turpināt un iestatīt savu pakalpojumu
sudo cp weathercar/conf/project1-*. service/etc/systemd/system/sudo systemctl dēmons-reloadsudo systemctl sākt projektu1-*sudo systemctl iespējot projektu1-*
6. solis: izveidojiet savienojumu
Mēs esam gandrīz klāt, tikai vēl viens solis. Un tas iegūst IP adresi, ko mums piešķīra wifi.
Mēs to darīsim, ievietojot
ip adrese
parādīsies ķekars ķekars, bet jums vajadzētu būt iespējai atrast "wlan0" un pēc tam dažas rindas tālāk "inet 192.168.x.x"
Ievietojiet šo IP adresi pārlūkprogrammā un dodieties ceļā. Jūs esat savienots ar vietni.