Innholdsfortegnelse:
- Trinn 1: Krav
- Trinn 2: Lodding / ledninger
- Trinn 3: Oppsett av Raspberry Pi
- Trinn 4: Databaseoppsett
- Trinn 5: Kode
- Trinn 6: Koble til
Video: WeatherCar: 6 trinn
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-10 13:48
WeatherCar, et lite hjemmelaget prosjekt som kan kjøre samtidig som det samler nyttige data!
Jeg gjorde dette prosjektet som en finale for mitt første år i Howest of Kortrijk. Dette prosjektet har ikke en god finish ennå, men dette dokumentet handler om alle interiørene i denne bilen, uten å lage hele rammen.
Trinn 1: Krav
Du trenger alle disse komponentene for dette prosjektet:
- Bringebær PI
- 2 x motor (12v)
- Servo
- DHT11
- BMP280
- GY-NEO6MV2 GPS-modul
- 4 x NPN -transistorer
- 2 x motstander (1k og 2k)
- Motorsjåfør
- 2 x 6v batteripakker
- Prototypebrett
- Nedtrappen spenningsregulator
- Isolert kobbertråd
- Flat kabel
- Gammel mikro-USB-kabel
- Kryssfiner
Trinn 2: Lodding / ledninger
For det første trinnet går vi rett inn i å koble alle ledningene. (PS. Du kan bruke et brødbrett for testing før du lodder alt)
Jeg ga et opplegg som viser deg hvordan jeg koblet alt, selv om jeg ikke kunne finne den riktige delen for min motor. For min motordriver brukte jeg de 4 NPN -transistorene til å konvertere mitt 3.3v -signal til et 12v -signal for å kontrollere motorføreren. Dette fordi den jeg brukte bare støtter 1 spenning (12v fordi motorene mine er 12v).
Trinn 3: Oppsett av Raspberry Pi
Hvis du ikke allerede har et oppsett, må du gjøre dette først, ellers kan du hoppe over dette trinnet hvis du har de nødvendige programmene fra den siste kodebiten i dette trinnet.
Først må du laste ned Raspbian desktopversjon, som du finner her:
Etter at du har lastet ned dette må du bruke Etcher eller WinDiskImager for å sette bildefilen på SD -kortet fra bringebær Pi. (Dette kan ta en stund).
Når programmet er ferdig, åpner du filutforsker og åpner stasjonen kalt "boot". Her finner du en tekstfil "cmdline.txt". Åpne dette og legg til ip = 169.254.10.1 på slutten av filen. Vær forsiktig så du ikke legger til noen poster i filen, da dette kan føre til problemer.
Nå som PI har en standard ip -adresse, må vi fortsatt aktivere SSH for å kunne koble til den. Du kan gjøre dette ved å lage en ny fil som heter "SSH" uten utvidelse, dette vil fortelle bringebær pi å aktivere ssh ved første oppstart.
Med dette kan vi nå koble til bringebær pi ved hjelp av en ethernet -kabel. Koble kabelen mellom PC -en og bringebær -PI -en. Nå trenger vi en SSH -klient. Til dette brukte jeg kitt (https://www.putty.org/). Åpne kitt og sett 169.254.10.1 som vertsnavn. Det kan ta en stund før du kan koble til.
Når du er tilkoblet, logger du på med disse legitimasjonene:
Logg inn: piPassword: bringebær
Nå kan vi sette opp en internettforbindelse for å gjøre dette. Utfør denne kommandoen og erstatt SSID og nettverkspassord med wifi -navnet og passordet ditt.
ekko "passord" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 omkonfigurere
Nå som vi har en internettforbindelse kan vi installere python og andre nødvendige programmer ved å bruke følgende kommandoer
sudo apt oppdatering
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
python3 -m pip install -oppgrader pip setuptools hjul virtualenv
mkdir weathercar && cd weathercar
python3 -m venv-system-site-packages env
kilde env/bin/aktivere
python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
Trinn 4: Databaseoppsett
Nå som du er bringebær pi har alle nødvendige programmer, trenger vi fremdeles å konfigurere databasen. Dette kan vi gjøre ved først å starte Mysql
sudo mariadb
og så
CREATE USER 'project1-admin'@'localhost' IDENTIFIED BY 'adminpassword'; CREATE USER 'project1-web'@'localhost' IDENTIFIED BY 'webpassword'; CREATE USER 'project1-sensor'@'localhost' IDENTIFIED BY 'sensorpassword';
LAG DATABASE weathercar_db;
TILDELE ALLE PRIVILEGER PÅ weathercar.* Til 'project1-admin'@'localhost' MED GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE ON project1.* TO 'project1-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, SLETT PÅ prosjekt1.* TIL 'project1-sensor'@'localhost'; FLUSH PRIVILEGES;
Trinn 5: Kode
I dette trinnet kloner vi den nødvendige koden på bringebær -pi -en din. Dette gjør vi ved å gjøre dette:
Først og fremst må du kontrollere at du er i hjemmekatalogen din ved å skrive inn "cd"
cd
nå skal vi klone depotet ved å bruke
git -klon
Nå kan vi importere databaseinnstillingene ved hjelp av:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Nå som vi er ferdige med databasen, kan vi fortsette og sette opp tjenesten vår
sudo cp weathercar/conf/project1-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start project1-*sudo systemctl aktiver prosjekt1-*
Trinn 6: Koble til
Vi er nesten der, bare et skritt til. Og det får ip -adressen wifi ga oss.
Vi gjør dette ved å sette
ip addr
det vil dukke opp en dritt, men du bør kunne finne "wlan0" og deretter noen få linjer videre "inet 192.168.x.x"
legg den ip -adressen i nettleseren din og kjør. Du er koblet til nettstedet.