Kazalo:
- 1. korak: Zahteve
- 2. korak: Spajkanje / ožičenje
- 3. korak: Nastavitev Raspberry Pi
- 4. korak: Nastavitev zbirke podatkov
- 5. korak: Koda
- 6. korak: Povežite se
Video: WeatherCar: 6 korakov
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-10 13:48
WeatherCar, majhen domač projekt, ki lahko vozi, hkrati pa zbira uporabne podatke!
Ta projekt sem naredil kot zaključni za prvo leto v Howest of Kortrijk. Ta projekt še nima dobrega zaključka, vendar ta dokument obravnava vse notranjosti tega avtomobila, ne da bi naredil celoten okvir.
1. korak: Zahteve
Za ta projekt boste potrebovali vse te komponente:
- Malina PI
- 2x motor (12V)
- Servo
- DHT11
- BMP280
- GPS-modul GY-NEO6MV2
- 4 x NPN tranzistorji
- 2 x upori (1k in 2k)
- Voznik motorja
- 2 x 6v baterije
- Plošča za izdelavo prototipov
- Nadomestni regulator napetosti
- Izolirana bakrena žica
- Ploski kabel
- Stari kabel Micro-USB
- Vezan les
2. korak: Spajkanje / ožičenje
Za prvi korak bomo šli naravnost v povezovanje vseh žic. (PS. Pred preslikavo vsega lahko uporabite preskusno ploščo)
Zagotovil sem shemo, ki vam pokaže, kako sem vse ožičil, čeprav nisem našel pravega dela za svoj motorni voznik. Za svoj glavni motor sem uporabil 4 NPN tranzistorje za pretvorbo mojega 3.3v signala v 12v signal za krmiljenje gonilnika motorja. To je zato, ker tisti, ki sem ga uporabil, podpira samo 1 napetost (12v, ker so moji motorji 12v).
3. korak: Nastavitev Raspberry Pi
Če še nimate nastavitve, morate to storiti najprej, sicer lahko preskočite ta korak, če imate v tem koraku potrebne programe iz zadnjega delčka kode.
Najprej morate prenesti namizno različico Raspbian, ki jo najdete tukaj:
Ko prenesete to datoteko, boste morali z Etcherjem ali WinDiskImagerjem slikovno datoteko vstaviti na kartico SD iz vašega malina Pi. (To lahko traja nekaj časa).
Ko je program končan, odprite raziskovalca datotek in odprite pogon, imenovan "zagon". Tukaj boste našli besedilno datoteko "cmdline.txt". Odprite to datoteko in dodajte ip = 169.254.10.1 na konec datoteke. Pazite, da v datoteko ne vnesete nobenih vnosov, saj bi to lahko povzročilo težave.
Zdaj, ko ima PI privzeti naslov ip, moramo še vedno omogočiti SSH, da se lahko poveže z njim. To lahko storite tako, da ustvarite novo datoteko, imenovano "SSH", brez kakršne koli razširitve, ki bo malini pi povedala, naj pri prvem zagonu omogoči ssh.
S tem se lahko zdaj povežemo z malinovim pi z ethernetnim kablom. Priključite kabel med računalnikom in malinovim PI. Zdaj potrebujemo odjemalca SSH. Za to sem uporabil kit (https://www.putty.org/). Odprite kit in vnesite 169.254.10.1 kot ime gostitelja. Morda bo trajalo nekaj časa, preden se boste lahko povezali.
Ko ste povezani, se prijavite s temi poverilnicami:
Prijava: piPassword: malina
Zdaj lahko za to vzpostavimo internetno povezavo. Izvedite ta ukaz in nadomestite SSID in geslo za omrežje z imenom in geslom za wifi.
echo "geslo" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 ponovno konfigurirajte
Zdaj, ko imamo internetno povezavo, lahko z naslednjimi ukazi namestimo python in druge potrebne programe
sudo apt posodobitev
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
vir env/bin/aktiviraj
python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
4. korak: Nastavitev zbirke podatkov
Zdaj, ko imate malino pi vse potrebne programe, bomo še vedno morali konfigurirati bazo podatkov. To lahko storimo tako, da najprej zaženemo Mysql
sudo mariadb
in potem
CREATE USER 'project1-admin'@'localhost' IDENTIFIED BY 'adminpassword'; CREATE USER 'project1-web'@'localhost' IDENTIFIED BY 'webpassword'; CREATE USER 'project1-sensor'@'localhost' IDENTIFIED BY 'sensorpassword';
Ustvari podatkovno bazo weathercar_db;
DODELITE VSE PRIVILEGIJE NA weathercarju.* Za 'project1-admin'@'localhost' Z MOŽNOSTO 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;
5. korak: Koda
V tem koraku bomo klonirali potrebno kodo na vaš malinov pi. To bomo storili tako:
Najprej se prepričajte, da ste v svojem domačem imeniku, tako da vnesete »cd«
cd
zdaj bomo repozitorij klonirali z uporabo
git clone
Zdaj lahko uvozimo nastavitve baze podatkov z uporabo:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Zdaj, ko smo končali z zbirko podatkov, lahko nadaljujemo in nastavimo našo storitev
sudo cp weathercar/conf/project1-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl začni project1-*sudo systemctl omogoči projekt1-*
6. korak: Povežite se
Skoraj smo prišli, samo še korak. In s tem dobimo naslov ip, ki nam ga je dal wifi.
To bomo storili z dajanjem
ip adr
prikazalo se bo veliko sranja, vendar bi morali najti "wlan0" in nato še nekaj vrstic "inet 192.168.x.x"
vnesite ta naslov IP v brskalnik in pojdite. Povezani ste s spletnim mestom.