Inhaltsverzeichnis:

WeatherCar - Gunook
WeatherCar - Gunook

Video: WeatherCar - Gunook

Video: WeatherCar - Gunook
Video: The Neighbourhood - Sweater Weather (Ozgur Arslan Remix) 2024, Juli
Anonim
WetterAuto
WetterAuto

Das WeatherCar, ein kleines selbstgemachtes Projekt, das fahren kann und gleichzeitig nützliche Daten sammelt!

Ich habe dieses Projekt als Abschluss für mein erstes Jahr im Howest of Kortrijk gemacht. Dieses Projekt hat noch kein gutes Ende, aber dieses Dokument behandelt alle Interna dieses Autos, ohne den vollen Rahmen zu machen.

Schritt 1: Anforderungen

Sie benötigen alle diese Komponenten für dieses Projekt:

  • Himbeer-PI
  • 2 x Motor (12V)
  • Servo
  • DHT11
  • BMP280
  • GY-NEO6MV2 GPS-Modul
  • 4 x NPN-Transistoren
  • 2 x Widerstände (1k und 2k)
  • Kraftfahrer
  • 2 x 6V Akkupacks
  • Prototyping-Platine
  • Abwärtsspannungsregler
  • Isolierter Kupferdraht
  • Flaches Kabel
  • Altes Micro-USB-Kabel
  • Sperrholz

Schritt 2: Löten / Verdrahtung

Löten / Verdrahtung
Löten / Verdrahtung
Löten / Verdrahtung
Löten / Verdrahtung
Löten / Verdrahtung
Löten / Verdrahtung

Für den ersten Schritt werden wir direkt alle Drähte anschließen. (PS. Sie können ein Steckbrett zum Testen verwenden, bevor Sie alles löten)

Ich habe ein Schema bereitgestellt, das Ihnen zeigt, wie ich alles verkabelt habe, obwohl ich nicht das richtige Teil für meinen Motorfahrer finden konnte. Für meinen Motortreiber habe ich die 4 NPN-Transistoren verwendet, um mein 3,3-V-Signal in ein 12-V-Signal umzuwandeln, um den Motortreiber zu steuern. Dies, weil der von mir verwendete nur 1 Spannung (12 V, weil meine Motoren 12 V sind) unterstützt.

Schritt 3: Raspberry Pi-Setup

Wenn Sie noch kein Setup haben, müssen Sie dies zuerst tun, andernfalls können Sie diesen Schritt überspringen, wenn Sie die erforderlichen Programme aus dem letzten Code-Snippet in diesem Schritt haben.

Zuerst müssen Sie die Raspbian-Desktop-Version herunterladen, die Sie hier finden können:

Nachdem Sie diese heruntergeladen haben, müssen Sie Etcher oder WinDiskImager verwenden, um die Bilddatei von Ihrem Raspberry Pi auf die SD-Karte zu übertragen. (Dies kann eine Weile dauern).

Wenn das Programm fertig ist, öffnen Sie den Datei-Explorer und öffnen Sie das Laufwerk namens "boot". Hier finden Sie eine Textdatei "cmdline.txt". Öffnen Sie diese und fügen Sie ip=169.254.10.1 am Ende der Datei hinzu. Achten Sie darauf, der Datei keine Eingaben hinzuzufügen, da dies zu Problemen führen könnte.

Da der PI nun eine Standard-IP-Adresse hat, müssen wir noch SSH aktivieren, um eine Verbindung zu ihm herstellen zu können. Sie können dies tun, indem Sie eine neue Datei namens "SSH" ohne Erweiterung erstellen. Dadurch wird der Raspberry Pi angewiesen, ssh beim ersten Booten zu aktivieren.

Damit können wir uns nun über ein Ethernet-Kabel mit dem Himbeer-Pi verbinden. Verbinden Sie das Kabel zwischen Ihrem PC und dem Raspberry PI. Jetzt brauchen wir einen SSH-Client. Dafür habe ich Putty (https://www.putty.org/) verwendet. Öffnen Sie Putty und geben Sie 169.254.10.1 als Hostnamen ein. Es kann eine Weile dauern, bis Sie eine Verbindung herstellen können.

Sobald Sie verbunden sind, melden Sie sich mit diesen Zugangsdaten an:

Login: piPasswort: Himbeere

Jetzt können wir eine Internetverbindung einrichten, um dies zu tun. Führen Sie diesen Befehl aus und ersetzen Sie SSID und Netzwerkkennwort durch den Namen und das Kennwort Ihres WLANs.

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

wpa_cli -i wlan0 neu konfigurieren

Nachdem wir nun eine Internetverbindung haben, können wir Python und andere benötigte Programme mit den folgenden Befehlen installieren

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 rad virtualenv

mkdir wetterauto && cd wetterauto

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

Schritt 4: Datenbankeinrichtung

Da Ihr Raspberry Pi nun über alle benötigten Programme verfügt, müssen wir noch die Datenbank konfigurieren. Was wir tun können, indem wir zuerst Mysql starten

sudo mariadb

und dann

BENUTZER ERSTELLEN 'project1-admin'@'localhost' IDENTIFIZIERT DURCH 'adminpassword';CREATE BENUTZER 'project1-web'@'localhost' IDENTIFIZIERT DURCH 'webpassword';CREATE USER 'project1-sensor'@'localhost' IDENTIFIED BY 'sensorpassword';

DATENBANK ERSTELLEN weathercar_db;

GEWÄHRLEISTEN SIE ALLE PRIVILEGIEN AUF weathercar.* an 'project1-admin'@'localhost' MIT GRANT OPTION;GEWÄHREN SIE AUSWÄHLEN, EINFÜGEN, AKTUALISIEREN, LÖSCHEN AUF project1.* AN 'project1-web'@'localhost';GEWÄHREN AUSWAHL, EINFÜGEN, AKTUALISIEREN, DELETE ON project1.* TO 'project1-sensor'@'localhost';PRIVILEGES FLUSH;

Schritt 5: Code

In diesem Schritt klonen wir den benötigten Code auf Ihren Himbeer-Pi. Dies werden wir tun, indem wir Folgendes tun:

Stellen Sie zunächst sicher, dass Sie sich in Ihrem Home-Verzeichnis befinden, indem Sie "cd" eingeben

CD

Jetzt klonen wir das Repository mit

git-Klon

Jetzt können wir die Datenbankeinstellungen importieren mit:

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

Nachdem wir die Datenbank fertiggestellt haben, können wir unseren Service einrichten

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

Schritt 6: Verbinden

Verbinden!
Verbinden!

Wir sind fast am Ziel, nur noch ein Schritt. Und das ist die IP-Adresse, die uns das WLAN gegeben hat.

Wir werden dies tun, indem wir setzen

IP-Adresse

Es wird eine Menge Mist angezeigt, aber Sie sollten "wlan0" und dann ein paar Zeilen weiter "inet 192.168.x.x" finden können.

Geben Sie diese IP-Adresse in Ihren Browser ein und los geht's. Sie sind mit der Website verbunden.