Sadržaj:
- Korak 1: Zahtjevi
- Korak 2: Lemljenje / ožičenje
- Korak 3: Postavljanje Raspberry Pi
- Korak 4: Postavljanje baze podataka
- Korak 5: Kodirajte
- Korak 6: Povežite se
Video: WeatherCar: 6 koraka
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-10 13:47
WeatherCar, mali domaći projekt koji može voziti, a istovremeno prikuplja korisne podatke!
Napravio sam ovaj projekt kao završni za svoju prvu godinu u Howest -u u Kortrijku. Ovaj projekt još nema dobar završetak, ali ovaj dokument govori o svim unutrašnjostima ovog automobila, bez stvaranja punog kadra.
Korak 1: Zahtjevi
Za ovaj projekt trebat će vam sve ove komponente:
- Malina PI
- 2 x motor (12v)
- Servo
- DHT11
- BMP280
- GY-NEO6MV2 GPS modul
- 4 x NPN tranzistora
- 2 x otpornika (1k i 2k)
- Vozač motora
- 2 x 6v baterije
- Ploča za izradu prototipa
- Stepenasti regulator napona
- Izolirana bakrena žica
- Ravni kabel
- Stari Micro-USB kabel
- Šperploča
Korak 2: Lemljenje / ožičenje
Za prvi korak idemo izravno na povezivanje svih žica. (PS. Možete koristiti ploču za testiranje prije nego što sve zalemite)
Ponudio sam shemu koja vam pokazuje kako sam sve povezao, iako nisam mogao pronaći pravi dio za svoj motorni upravljač. Za svoj motordriver koristio sam 4 NPN tranzistora za pretvaranje signala od 3,3 V u signal od 12 V za upravljanje upravljačkim programom motora. To je zato što onaj koji sam koristio podržava samo 1 napon (12v jer su moji motori 12v).
Korak 3: Postavljanje Raspberry Pi
Ako već nemate postavke, morate to učiniti prvo, inače možete preskočiti ovaj korak ako imate potrebne programe iz zadnjeg isječka koda u ovom koraku.
Prvo ćete morati preuzeti Raspbian desktop verziju, koju možete pronaći ovdje:
Nakon što preuzmete ovo, morat ćete upotrijebiti Etcher ili WinDiskImager za postavljanje slikovne datoteke na SD karticu s vašeg malina Pi. (Ovo bi moglo potrajati).
Kad je program gotov, otvorite File Explorer i otvorite pogon pod nazivom "boot". Ovdje ćete pronaći tekstualnu datoteku "cmdline.txt". Otvorite ovo i dodajte ip = 169.254.10.1 na kraj datoteke. Budite oprezni da u datoteku ne unosite nikakve unose jer bi to moglo dovesti do problema.
Sada kada PI ima zadanu IP adresu, i dalje ćemo morati omogućiti SSH da se može povezati s njim. To možete učiniti tako što ćete napraviti novu datoteku pod nazivom "SSH" bez ikakvog proširenja, to će reći malini pi da omogući ssh pri prvom pokretanju.
S ovim se sada možemo povezati s malinom pi pomoću Ethernet kabela. Spojite kabel između vašeg računala i malina PI. Sada će nam trebati SSH klijent. Za to sam koristio kit (https://www.putty.org/). Otvorite kit i stavite 169.254.10.1 kao ime hosta. Može proći neko vrijeme prije nego što se budete mogli povezati.
Nakon što se povežete, prijavite se s ovim vjerodajnicama:
Prijava: piPassword: malina
Sada smo u mogućnosti postaviti internetsku vezu. Izvršite ovu naredbu i zamijenite SSID i mrežnu lozinku s imenom i lozinkom vašeg WiFi -ja.
echo "lozinka" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 ponovno konfigurirati
Sada kada imamo internetsku vezu, možemo instalirati python i druge potrebne programe pomoću sljedećih naredbi
sudo apt ažuriranje
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
izvor env/bin/aktiviraj
python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
Korak 4: Postavljanje baze podataka
Sada kada ste malina pi ima sve potrebne programe, i dalje ćemo morati konfigurirati bazu podataka. Što možemo učiniti tako da prvo pokrenemo Mysql
sudo mariadb
i onda
CREATE USER 'project1-admin'@'localhost' IDENTIFIED BY 'adminpassword'; CREATE USER 'project1-web'@'localhost' IDENTIFIED BY 'webpassword'; CREATE USER 'project1-sensor'@'localhost' IDENTIFIED BY 'sensorpassword';
IZRADI BAZU PODATAKA weathercar_db;
DODIJELITE SVE PRIVILEGIJE NA Weathercar-u.* Za 'project1-admin'@'localhost' S GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE ON project1.* TO 'project1-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project1.* TO 'project1-sensor'@'localhost'; FLUSH PRIVILEGES;
Korak 5: Kodirajte
U ovom koraku klonirat ćemo potreban kôd na vašu malinu pi. To ćemo učiniti na sljedeći način:
Prije svega provjerite jeste li u svom kućnom imeniku unosom "cd"
CD
sada ćemo klonirati spremište pomoću
git klon
Sada možemo uvesti postavke baze podataka koristeći:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Sada kada smo završili bazu podataka, možemo nastaviti s postavljanjem naše usluge
sudo cp weathercar/conf/project1-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl početak projekta1-*sudo systemctl omogući projekt1-*
Korak 6: Povežite se
Skoro smo stigli, samo još jedan korak. I to je dobivanje IP adrese koju nam je dao WiFi.
To ćemo učiniti stavljanjem
ip adr
hrpa sranja će se pojaviti, ali trebali biste moći pronaći "wlan0", a zatim nekoliko redaka dalje "inet 192.168.x.x"
ubacite tu IP adresu u svoj preglednik i krenite. Povezani ste s web lokacijom.