Inhaltsverzeichnis:

Intelligenter Parkplatz mit Raspberry Pi - Gunook
Intelligenter Parkplatz mit Raspberry Pi - Gunook

Video: Intelligenter Parkplatz mit Raspberry Pi - Gunook

Video: Intelligenter Parkplatz mit Raspberry Pi - Gunook
Video: Smart Mirror mit dem Raspberry Pi (Magic Mirror) Deutsch | # Teil 01 Hardware 2024, November
Anonim
Intelligenter Parkplatz mit Raspberry Pi
Intelligenter Parkplatz mit Raspberry Pi

In dieser Anleitung erstellen wir ein vollautomatisches Parksystem, das mit einer Weboberfläche verbunden ist. Sie können sehen, welcher Platz belegt ist, entscheiden wer rein und wer raus geht und es ist mit einem automatischen Beleuchtungssystem ausgestattet.

Lieferungen

Hardware

  • 2x Ultraschallsensoren
  • 1x Servomotor
  • 4x weiße LEDs
  • 1x Lichtabhängiger Widerstand
  • 1x 2*16 LCD-Anzeige

Computer

  • 1x Raspberry Pi 3 B+
  • 1x SD-Karte (8-16GB Sie haben die Wahl)
  • 1x Adafruit I2S 3W Klasse D Verstärker Breakout - MAX98357A
  • 1x MCP3008
  • 1x Widerstand 2,2K Ohm
  • 9x Widerstände 1K Ohm

Verschieden

  • Überbrückungsdrähte
  • Steckbrett
  • UTP-Kabel
  • Adapter für Ihren Himbeer-Pi
  • Eine Multiplexplatte (Sie können jedes beliebige Material für das Gehäuse verwenden)
  • Eine Klebepistole

Software

  • Kitt
  • Software zum Bearbeiten von Code (Sie können verwenden, was Sie wollen, solange es unterstützt: Python, HTML, CSS und Java-Skript
  • Win32 Disk Imager
  • Raspbian OS-Image
  • VNC-Viewer (optional)

Schritt 1: RPI einrichten

Bevor wir mit der Verdrahtung der Hardware beginnen, schreiben Sie die

Software und machen die Ummantelung, die wir benötigen, um Ihren PI mit der notwendigen Software einzurichten, die Sie für den Projektablauf benötigen.

Sie benötigen ein Image von Raspbian, um es auf Ihre SD-Karte zu legen und auf die SD-Karte Win32 Disk Imager zu schreiben. Links zu beiden finden Sie unten.

- Win32 Disk Imager:

- Raspbian-Bild:

Die Installation

  1. Öffnen Sie Win32 Disk Imager

    1. Wählen Sie das gerade heruntergeladene Bild über das Ordnersymbol aus
    2. Wählen Sie Ihre SD-Karte über das Dropdown-Menü aus
    3. Klicke auf schreiben
    4. Wenn der Vorgang abgeschlossen ist, wird Ihr Computer Sie wahrscheinlich fragen, ob Sie die SD-Karte formatieren möchten

Wenn Sie mit diesen Schritten fertig sind, müssen Sie einige zusätzliche Dinge tun, damit Sie auf die Software Ihres PI zugreifen können.

  1. Öffne die SD-Karte in deinem Explorer
  2. Öffnen Sie die Datei „cmdline.txt“
  3. Sie sehen eine lange Textzeile am Ende hinzufügen: ip=169.254.10.1
  4. Speicher die Datei
  5. Erstellen Sie eine Datei mit dem Namen ssh ohne Erweiterung (wenn Sie nicht wissen, wie das geht, klicken Sie einfach auf neue Datei, wählen Sie neue Textdatei aus, löschen Sie die Erweiterung und nennen Sie sie ssh)
  6. Der letzte Schritt dieses Teils ist das sichere Auswerfen der SD-Karte und das Einlegen in den Raspberry PI

Anschließen

Wenn Sie mit den vorherigen Schritten fertig sind, ist es an der Zeit, sich zum ersten Mal mit Ihrem Pi zu verbinden. Zuerst müssen Sie Ihr UTP-Kabel einstecken, ein Ende in Ihren Computer, das andere in Ihren Pi (es ist wichtig, dass Sie das LAN-Kabel einstecken, bevor Sie es einstecken).

  1. Putty installieren:
  2. Sobald Sie es installiert haben, öffnen Sie es und geben Sie 169.254.10.1 in das IP-Feld ein
  3. Wählen Sie SSH und geben Sie Port 22 ein
  4. Klicken Sie auf Öffnen
  5. Geben Sie den Benutzernamen ein: pi und das Passwort raspberry Dies ist die Standardanmeldung für ein brandneues Bild

Raspi-config

Bevor wir weitermachen, müssen Sie einige Einstellungen im raspi-config-Menü ändern, öffnen Sie es mit:

sudo raspi-config

1. Aktivieren Sie I2C und SPI unter Optionen in der Kategorie Schnittstellen

2. Wählen Sie Ihr WIFI-Land über die Lokalisierungskategorie

3. Setzen Sie die Einstellung Desktop/CLI in der Kategorie Boot-Optionen auf Desktop Autologin.

4. Wählen Sie unter Erweiterte Optionen A1 Expand Filesystem (dadurch wird sichergestellt, dass Sie den Speicherplatz der gesamten SD-Karte verwenden

5. Jetzt beenden und sudo neu starten

W-lan

Jetzt ist es an der Zeit, Ihre WLAN-Verbindung einzurichten. Natürlich benötigen Sie die Zugangsdaten Ihres WLANs.

Gehen Sie zuerst in den Root-Modus, indem Sie diesen Befehl ausführen

Sudo -i

Jetzt haben Sie die erforderlichen Rechte, um diese Befehle auszuführen:

Stellen Sie sicher, dass Sie die SSID in Ihren WLAN-Namen und PASSWORD in Ihr WLAN-Passwort ändern

Wpa_Passphrase „SSID“„PASSWORT“>> /etc/wpa_supplicant/wpa_supplicant.conf

Rufen Sie den WPA-Client auf, indem Sie diesen Befehl ausführen:

wpa_cli

Wählen Sie die Schnittstelle

Schnittstelle wlan0

Konfiguration neu laden

Neu konfigurieren

Überprüfen Sie abschließend, ob es funktioniert hat. Sie können dies tun, indem Sie Folgendes eingeben:

ip a

Hier können Sie überprüfen, ob Sie eine IP unter WLAN0-Schnittstellen haben, wenn nicht sudo reboot (fehlt nie (:).

Wenn Sie dies nicht über die Befehlszeile tun möchten, können Sie dies jederzeit über die Benutzeroberfläche von Raspbian tun, die etwas benutzerfreundlicher ist.

  1. VNC-Viewer hier installieren:
  2. Klicken Sie auf Datei, neue Verbindung und geben Sie in die IP-Adressleiste ein: 169.254.10.1 und wählen Sie einen beliebigen Namen
  3. Geben Sie den Benutzernamen ein: pi und das Passwort Himbeere
  4. Klicken Sie auf das WLAN-Symbol und verbinden Sie sich auf diese Weise

Pakete

Nachdem wir nun mit dem Internet verbunden sind, können wir die Pakete installieren, die wir zum Ausführen des gesamten Codes benötigen.

Zuerst müssen wir die Paketliste auf die neueste aktualisieren, indem wir Folgendes ausführen:

sudo apt-Update

sudo apt upgrade

Apache-Webserver

Wir benötigen einen Webserver, um unsere Webanwendung auszuführen. Wir können dies erreichen, indem wir den Apache-Webserver installieren, indem wir diesen Befehl ausführen:

sudo apt install apach2 -y

Python-Pakete

Damit alles funktioniert, werden wir einige Pakete brauchen. Das sind die, die wir brauchen werden.

  • Flasche
  • Kolben-Cors
  • Kolben-Erweiterung
  • Flask-MySQL
  • Kolben-SockelIO
  • Python-Socketio

Sie können sie installieren, indem Sie diesen Befehl ausführen:

pip install Flask Flask-Cors Flask-Erweiterung Flask-MySQL Flask-SocketIO python-socketio

Schritt 2: Datenbank

Datenbank
Datenbank

MariaDB

Führen Sie den folgenden Befehl aus, um MariaDB zu installieren. Dies ist das Datenbanksystem, das erforderlich ist, um alle Daten zu verfolgen, die die Sensoren einlesen.

sudo apt installieren mariadb-server

Jetzt müssen wir unsere Installation sichern

Mysql_secure_installation

Sobald Sie den Befehl ausgeführt haben, werden wir nach einem Root-Passwort gefragt, das wir noch nicht haben, also drücken Sie einfach die Eingabetaste.

Jetzt werden Sie gefragt, ob Sie aus Sicherheitsgründen eins möchten. Drücken Sie also Y auf Ihrer Tastatur und wählen Sie das gewünschte Passwort.

Jetzt wird es dir weiterhin ein paar Fragen stellen, beantworte einfach alle mit Y

Nun, da wir es bis zu diesem Punkt geschafft haben, müssen wir in die SQL-Shell gehen.

Dazu müssen wir zuerst wieder root werden, um uns die Berechtigungen dafür zu erteilen, indem wir diesen Befehl erneut eingeben:

sudo -i

Geben Sie nun die MySQL-Shell ein

mysql

Jetzt werden wir einen Benutzer erstellen, der den gewünschten Namen zwischen den Anführungszeichen vor dem @ und das gewünschte Passwort nach der Identifizierung durch

Jetzt müssen wir die Berechtigungstabelle leeren, indem wir diesen Befehl ausführen:

Flush-Privilegien;

Nachdem Sie diese Schritte ausgeführt haben, können Sie das DB-Schema aus dem obigen Bild neu erstellen. Leider kann ich Ihnen keinen Dump der Datenbank geben, da ich einige Softwarefehler habe.

Schritt 3: Verkabelung

Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung

Jetzt ist es an der Zeit, die Verdrahtung des Projekts vorzunehmen. Um den Prozess ein wenig zu vereinfachen, erstellen Sie zunächst ein Schema in einem Programm namens fritzing. Fritzing macht es einfacher, Ihre Verkabelung im wirklichen Leben nachzubilden und Sie erhalten ein klares Bild davon, was Sie machen.

Schritt 4: Gehäuse

Gehäuse
Gehäuse
Gehäuse
Gehäuse
Gehäuse
Gehäuse

Der erste Schritt besteht darin, das Holz in die Formen zu schneiden, wie in der Zeichnung zu sehen. Ich habe es per Laserschneiden gemacht, aber eine normale Säge funktioniert genauso gut. Danach möchten Sie das Holz schwarz streichen, um die Asphaltfarbe zu erhalten. Sobald die Farbe getrocknet ist, können Sie die weißen Streifen streichen, um das Parkplatzgefühl zu erhalten. Für den Zaun habe ich Strohhalme bemalt, die wie Stangen aussehen. Für das Fechten selbst habe ich ein paar Goas an den Masten befestigt. Die Barriere ist aus Paer Maché, das ich später spritzlackiert habe.

Schritt 5: Codierung

Codierung
Codierung
Codierung
Codierung
Codierung
Codierung

Backend: Das Backend des Projekts ist in Python und TSQL geschrieben. Es liest alle Daten der Sensoren aus und schreibt sie in die Datenbank, die wir etwas früher erstellt haben. Es betreibt auch einen Webserver, damit wir unser Frontend damit verbinden können. Ich habe den Code für das Backend in pycharm geschrieben, aber natürlich können Sie einfach alles verwenden, was Sie wollen.

Den Code für das Backend findet ihr hier:

Frontend: Das Frontend ist in HTML, CSS und Javascript geschrieben. Ich habe eine Kombination aus Visual Studio-Code und phpstorm verwendet, um den Code zu schreiben. Der Code schreibt im Grunde die gesamte Website und in den Javascript-Dateien finden Sie den Code, der benötigt wird, um die Daten aus dem Backend zu erhalten.

Den Code für das Frontend findet ihr hier:

Empfohlen: