
Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:09

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.
Priporočena:
Števec korakov - mikro: Bit: 12 korakov (s slikami)

Števec korakov - Micro: Bit: Ta projekt bo števec korakov. Za merjenje korakov bomo uporabili senzor pospeška, ki je vgrajen v Micro: Bit. Vsakič, ko se Micro: Bit trese, bomo štetju dodali 2 in ga prikazali na zaslonu
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): 8 korakov

Akustična levitacija z Arduino Uno Korak po korak (8 korakov): ultrazvočni pretvorniki zvoka L298N Dc ženski adapter z napajalnim vtičem za enosmerni tok Arduino UNOBreadboard Kako to deluje: Najprej naložite kodo v Arduino Uno (to je mikrokrmilnik, opremljen z digitalnim in analogna vrata za pretvorbo kode (C ++)
Vijak - Nočna ura za brezžično polnjenje DIY (6 korakov): 6 korakov (s slikami)

Bolt - Nočna ura za brezžično polnjenje DIY (6 korakov): Induktivno polnjenje (znano tudi kot brezžično polnjenje ali brezžično polnjenje) je vrsta brezžičnega prenosa energije. Za zagotavljanje električne energije prenosnim napravam uporablja elektromagnetno indukcijo. Najpogostejša aplikacija je brezžično polnjenje Qi
Merilnik korakov 1. del: Enobarvni zaslon 128x32 in Arduino: 5 korakov

Pedometer 1. del: Enobarvni zaslon 128x32 in Arduino: To je osnovna vadnica, ki uči, kako uporabljati zaslon OLED s svojim Arduinom. Uporabljam zaslon velikosti 128x32, lahko pa uporabite tudi drugačen zaslon z ločljivostjo in po potrebi spremenite ločljivost/koordinate. V tem delu vam bom pokazal, kako
Preklopna obremenitvena banka z manjšo velikostjo korakov: 5 korakov

Preklopna banka odpornikov obremenitve z manjšo velikostjo korakov: Banke uporovnih obremenitev so potrebne za preskušanje energetskih proizvodov, za karakterizacijo sončnih kolektorjev, v preskusnih laboratorijih in v industriji. Reostati zagotavljajo stalno spreminjanje odpornosti na obremenitev. Ker pa se vrednost upora zmanjša, moč