Sommario:

WeatherCar: 6 passaggi
WeatherCar: 6 passaggi

Video: WeatherCar: 6 passaggi

Video: WeatherCar: 6 passaggi
Video: Ducati World Première 2022 Episode 6 | DesertX | Dream Wilder 2024, Novembre
Anonim
MeteoAuto
MeteoAuto

The WeatherCar, un piccolo progetto fatto in casa che può guidare raccogliendo anche dati utili!

Ho realizzato questo progetto come finale per il mio primo anno all'Howest di Kortrijk. Questo progetto non ha ancora una buona finitura, ma questo documento riguarda tutti gli interni di questa vettura, senza realizzare il telaio completo.

Passaggio 1: requisiti

Avrai bisogno di tutti questi componenti per questo progetto:

  • Lampone PI
  • 2 x motore (12v)
  • Servo
  • DHT11
  • BMP280
  • Modulo GPS GY-NEO6MV2
  • 4 x transistor NPN
  • 2 x resistori (1k e 2k)
  • Autista del motore
  • 2 batterie da 6v
  • Scheda di prototipazione
  • Regolatore di tensione step-down
  • Filo di rame isolato
  • Cavo piatto
  • Vecchio cavo Micro-USB
  • compensato

Passaggio 2: saldatura/cablaggio

Saldatura/Cablaggio
Saldatura/Cablaggio
Saldatura/Cablaggio
Saldatura/Cablaggio
Saldatura/Cablaggio
Saldatura/Cablaggio

Per il primo passo andremo direttamente a collegare tutti i fili. (PS. Puoi usare una breadboard per i test prima di saldare tutto)

Ho fornito uno schema che mostra come ho cablato il tutto, anche se non sono riuscito a trovare la parte giusta per il mio motordriver. Per il mio driver ho usato i 4 transistor NPN per convertire il mio segnale da 3,3 V in un segnale da 12 V per controllare il driver del motore. Questo perché quello che ho usato supporta solo 1 voltaggio (12v perché i miei motori sono 12v).

Passaggio 3: installazione di Raspberry Pi

Se non disponi già di una configurazione, dovrai prima eseguire questa operazione, altrimenti puoi saltare questo passaggio se disponi dei programmi richiesti dall'ultimo frammento di codice in questo passaggio.

Prima di tutto dovrai scaricare la versione desktop di Raspbian, che puoi trovare qui:

Dopo averlo scaricato, dovrai utilizzare Etcher o WinDiskImager per inserire il file immagine sulla scheda SD dal tuo Raspberry Pi. (Questo potrebbe richiedere un po' di tempo).

Al termine del programma, apri Esplora file e apri l'unità chiamata "avvio". Qui troverai un file di testo "cmdline.txt". Apri questo e aggiungi ip=169.254.10.1 alla fine del file. Fare attenzione a non aggiungere alcun inserimento al file in quanto ciò potrebbe causare problemi.

Ora che il PI ha un indirizzo IP predefinito, dovremo comunque abilitare SSH per poterci connettere. Puoi farlo creando un nuovo file chiamato "SSH" senza alcuna estensione, questo dirà al raspberry pi di abilitare ssh al primo avvio.

Con questo possiamo ora connetterci al raspberry pi usando un cavo ethernet. Collega il cavo tra il tuo pc e il Raspberry PI. Ora avremo bisogno di un client SSH. Per questo ho usato stucco (https://www.putty.org/). Apri mastice e inserisci 169.254.10.1 come nome host. Potrebbe volerci un po' di tempo prima che tu possa connetterti.

Una volta connesso, accedi con queste credenziali:

Login: piPassword: lampone

Ora siamo in grado di configurare una connessione Internet per farlo. Esegui questo comando e sostituisci SSID e password di rete con il nome e la password del tuo wifi.

echo "password" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf

wpa_cli -i wlan0 reconfigure

Ora che abbiamo una connessione Internet possiamo installare Python e altri programmi necessari usando i seguenti comandi

sudo apt update

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

source env/bin/activate

python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio

Passaggio 4: configurazione del database

Ora che Raspberry Pi ha tutti i programmi necessari, avremo ancora bisogno di configurare il database. Cosa che possiamo fare avviando prima Mysql

sudo mariadb

poi

CREA UTENTE 'project1-admin'@'localhost' IDENTIFICATO DA 'adminpassword';CREA UTENTE 'project1-web'@'localhost' IDENTIFICATO DA 'webpassword';CREA UTENTE 'project1-sensor'@'localhost' IDENTIFICATO DA 'sensorpassword';

CREA DATABASE weathercar_db;

CONCEDERE TUTTI I PRIVILEGI SU weathercar.* a 'project1-admin'@'localhost' CON 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 PRIVILEGI;

Passaggio 5: codice

In questo passaggio cloneremo il codice necessario sul tuo raspberry pi. Questo lo faremo facendo questo:

Prima di tutto assicurati di essere nella tua home directory inserendo "cd"

cd

ora cloneremo il repository usando

git clone

Ora possiamo importare le impostazioni del database usando:

sudo mariadb weathercar_db < /weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db < /weathercar/sql/weathercar_db_sensoren.sql

Ora che abbiamo terminato il database possiamo andare avanti e configurare il nostro servizio

sudo cp weathercar/conf/project1-*.service /etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start project1-*sudo systemctl enable project1-*

Passaggio 6: connettiti

Collegare!
Collegare!

Ci siamo quasi, solo un altro passo. E questo è ottenere l'indirizzo IP che il wifi ci ha dato.

Lo faremo mettendo

indirizzo IP

apparirà un mucchio di schifezze, ma dovresti essere in grado di trovare "wlan0" e poi poche righe più avanti "inet 192.168.x.x"

metti quell'indirizzo IP nel tuo browser e il gioco è fatto. Sei connesso al sito web.

Consigliato: