Kazalo:

WeatherCar: 6 korakov
WeatherCar: 6 korakov

Video: WeatherCar: 6 korakov

Video: WeatherCar: 6 korakov
Video: Tschaikowsky: 6. Sinfonie (»Pathétique«) ∙ hr-Sinfonieorchester ∙ Lionel Bringuier 2024, Julij
Anonim
WeatherCar
WeatherCar

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

Spajkanje / ožičenje
Spajkanje / ožičenje
Spajkanje / ožičenje
Spajkanje / ožičenje
Spajkanje / ožičenje
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

Povežite se!
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: