Cuprins:
- Pasul 1: Cerințe
- Pasul 2: lipire / cablare
- Pasul 3: Configurarea Raspberry Pi
- Pasul 4: Configurarea bazei de date
- Pasul 5: Cod
- Pasul 6: Conectați-vă
Video: WeatherCar: 6 pași
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-10 13:48
WeatherCar, un mic proiect de casă care poate conduce în timp ce colectează și date utile!
Am făcut acest proiect ca final pentru primul meu an în Howest of Kortrijk. Acest proiect nu are încă un finisaj bun, dar acest document se referă la toate componentele interne ale acestei mașini, fără a face cadrul complet.
Pasul 1: Cerințe
Veți avea nevoie de toate aceste componente pentru acest proiect:
- Raspberry PI
- 2 x motor (12v)
- Servo
- DHT11
- BMP280
- Modul GPS GY-NEO6MV2
- 4 x tranzistoare NPN
- 2 x rezistoare (1k și 2k)
- Șofer de motor
- 2 baterii de 6v
- Placă de prototipare
- Regulator de tensiune descendent
- Sârmă de cupru izolată
- Cablu plat
- Cablu micro-USB vechi
- Placaj
Pasul 2: lipire / cablare
Pentru primul pas vom intra direct în conectarea tuturor firelor. (PS. Puteți utiliza o placă de testare pentru testare înainte de a lipi totul)
Am oferit o schemă care vă arată cum am conectat totul, deși nu am putut găsi partea potrivită pentru motordriver-ul meu. Pentru motordriver-ul meu am folosit cele 4 tranzistoare NPN pentru a-mi converti semnalul de 3.3v într-un semnal de 12v pentru a controla driverul motorului. Asta pentru că cel pe care l-am folosit acceptă doar 1 tensiune (12v deoarece motoarele mele sunt 12v).
Pasul 3: Configurarea Raspberry Pi
Dacă nu aveți deja o configurare, va trebui să faceți acest lucru mai întâi, altfel puteți sări peste acest pas dacă aveți programele necesare din ultimul fragment de cod din acest pas.
Mai întâi va trebui să descărcați versiunea desktop Raspbian, care poate fi găsită aici:
După ce ați descărcat acest lucru, va trebui să utilizați Etcher sau WinDiskImager pentru a pune fișierul imagine pe cardul SD de la raspberry Pi. (Acest lucru ar putea dura ceva timp).
Când programul este terminat, deschideți fișierul de explorare și deschideți unitatea numită „boot”. Aici veți găsi un fișier text „cmdline.txt”. Deschideți acest lucru și adăugați ip = 169.254.10.1 la sfârșitul fișierului. Aveți grijă să nu adăugați nicio intrare în fișier, deoarece acest lucru ar putea duce la probleme.
Acum că PI are o adresă IP implicită, va trebui în continuare să activăm SSH pentru a ne putea conecta la aceasta. Puteți face acest lucru făcând un fișier nou numit „SSH” fără nicio extensie, aceasta va spune raspberry pi să activeze ssh la prima pornire.
Cu aceasta ne putem conecta acum la raspberry pi folosind un cablu Ethernet. Conectați cablul între computerul dvs. și raspberry PI. Acum vom avea nevoie de un client SSH. Pentru aceasta am folosit chit (https://www.putty.org/). Deschideți chitul și puneți 169.254.10.1 ca nume de gazdă. Poate dura ceva timp până când vă veți putea conecta.
După conectare, conectați-vă cu aceste acreditări:
Autentificare: piPassword: zmeură
Acum putem configura o conexiune la internet, pentru a face acest lucru. Executați această comandă și înlocuiți SSID și parola de rețea cu numele și parola wifi-ului dvs.
ecou „parolă” | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 reconfigurare
Acum că avem o conexiune la internet putem instala python și alte programe necesare folosind următoarele comenzi
actualizare 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
sursa env / bin / activate
python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
Pasul 4: Configurarea bazei de date
Acum, că sunteți raspberry pi are toate programele necesare, va trebui în continuare să configurați baza de date. Ceea ce putem face pornind mai întâi de Mysql
sudo mariadb
și apoi
CREATE USER 'project1-admin' @ 'localhost' IDENTIFIED BY 'adminpassword'; CREATE USER 'project1-web' @ 'localhost' IDENTIFIED BY 'webpassword'; CREATE USER 'project1-sensor' @ 'localhost' IDENTIFIED BY 'sensorpassword';
CREAȚI BAZA DE DATE weathercar_db;
ACORDĂ TOATE PRIVILEGIILE PE Weathercar. * La „project1-admin” @ „localhost” CU OPȚIUNEA GRANT; GRANT SELECT, INSERT, UPDATE, DELETE ON project1. * TO „project1-web” @ “localhost”; GRANT SELECT, INSERT, UPDATE, DELETE ON project1. * TO 'project1-sensor' @ 'localhost'; FLUSH PRIVILEGES;
Pasul 5: Cod
În acest pas vom clona codul necesar pe raspberry pi. Acest lucru îl vom face procedând astfel:
Mai întâi de toate, asigurați-vă că sunteți în directorul dvs. de acasă, introducând „cd”
CD
acum vom clona depozitul folosind
git clone
Acum putem importa setările bazei de date folosind:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Acum, după ce am terminat baza de date, putem continua și configura serviciul nostru
sudo cp weathercar / conf / project1 - *. service / etc / systemd / system / sudo systemctl daemon-reloadsudo systemctl start project1- * sudo systemctl enable project1- *
Pasul 6: Conectați-vă
Suntem aproape acolo, doar un singur pas. Și obținem adresa IP pe care ne-a dat-o wifi.
Vom face asta punând
ip addr
va apărea o grămadă de prostii, dar ar trebui să puteți găsi „wlan0” și apoi câteva rânduri mai departe „inet 192.168.x.x”
introduceți adresa IP în browserul dvs. și plecați. Sunteți conectat la site-ul web.