Inhaltsverzeichnis:

SmartHome mit Raspberry Pi - Gunook
SmartHome mit Raspberry Pi - Gunook

Video: SmartHome mit Raspberry Pi - Gunook

Video: SmartHome mit Raspberry Pi - Gunook
Video: HOW TO - Create a Raspberry Pi Smart Home Kiosk (Home Assistant) 2024, November
Anonim
SmartHome mit Raspberry Pi
SmartHome mit Raspberry Pi

Für dieses Projekt habe ich ein SmartHome erstellt, das über eine Website und ein Handy bedient werden kann. Dafür verwende ich den Raspberry PI als Datenbank und Webserver.

Lieferungen

Wenn Sie damit beginnen möchten, benötigen Sie mehrere Dinge:

  • 5 weiße LEDs (5mm)
  • 1 Eindraht-Temperatursensor
  • 1 LDR (lichtabhängiger Widerstand)
  • 2 Servomotoren
  • 1 microSD (für Raspberry Pi)
  • 1 Steckbrett-Netzteil
  • 1 Raspberry Pi 3 Modell B+
  • 3 Schaumstoffplatten
  • 1 Schrittmotor (5V)
  • 1 RFID-RC522-Lesegerät
  • 8 Widerstände (220 Ohm)
  • 1 Widerstand (10K Ohm)
  • 2 Steckbretter
  • 2 Packungen Überbrückungsdrähte
  • 1 16x2 LCD-Display
  • 1 PCF8574AN
  • 4 kleine Fenster (3D gedruckt)
  • 1 Tür (3D gedruckt)
  • 2 große Fenster (3D gedruckt)
  • 1 Garagentor (3D gedruckt)

Wenn Sie all dies zum Kauf benötigen, betragen die maximalen Kosten etwa 150 €

Schritt 1: Verkabelung

Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung

Am einfachsten fängt man mit der Verkabelung an, damit man schon über die Basics verfügt, mit dieser Methode kann man beim Schreiben des Codes ganz einfach überprüfen, ob alles funktioniert.

Auf diese Weise können Sie sehen, ob Sie genügend Pins auf dem Raspberry Pi haben, um alles anzuschließen. In diesem Fall habe ich den PCF8574AN verwendet, um mein LCD mit weniger GPIO-Pins zu steuern.

Um das Schema zu zeichnen, habe ich Fritzing verwendet. Es ist ein praktisches Programm, mit dem Sie Ihre Verkabelung gut organisiert anzeigen können.

Wie Sie auf dem zweiten Foto sehen können, gibt es viele Kabel, so dass Sie noch organisiert arbeiten müssen.

Schritt 2: Gehäuse

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

Für das Gehäuse habe ich Schaumstoffplatten als Wände verwendet. Ich benutzte ein Messer, um die Bretter in die gewünschten Formen zu schneiden. Die Fenster, Türen und das Garagentor sind 3D-gedruckt. Natürlich habe ich das Haus im Voraus gezeichnet, damit ich wusste, welche Maße ich verwenden musste.

Ich habe SketchUp verwendet, um das Haus zu zeichnen. Ich habe eine Klebepistole verwendet, um die Wände gerade zu halten und sie zusammenzuhalten. Wenn Sie auf den Fotos sehen können, sind das Fenster und das Garagentor mit Klebstoff befestigt, damit es stark genug ist Auf dem 3. Foto ist eine Kiste, die ich zum Transportieren verwendet habe, damit alles intakt bleibt

Schritt 3: Datenbank

Datenbank
Datenbank

Zunächst müssen Sie die Datenbank mit Mysql Workbench entwerfen. Wenn dies gelingt, müssen Sie die Mysql-Datenbank auf dem Raspberry Pi installieren.

Der erste Schritt, den Sie unternehmen, besteht darin, zu überprüfen, ob Ihr Pi aktualisiert ist. Sie können den folgenden Befehl verwenden:

sudo apt-get update

und

sudo apt-get upgrade

Jetzt können Sie den Mysql-Server installieren:

sudo apt-get install mysql-server

Wenn der Mysql-Server installiert ist, installieren Sie den Mysql-Client

sudo apt-get install mysql-client

Wenn Sie sich jetzt den SQL-Server mit dem Befehl ansehen:

sudo mysql

Sie können nun Ihren Datenbankcode importieren, indem Sie die.mwb-Datei mit der SQL-Workbench und dem Forward Engineer öffnen. Sie kopieren den Code und fügen ihn in das MySQL vom Raspberry ein. Die Datenbank wird erstellt.

Damit der Benutzer alle Berechtigungen erhält, fügen Sie einfach Ihren Benutzernamen in die Tabelle ein

erteilen Sie alle Privilegien auf smarthome.* an 'Ihrname'@'%' identifiziert durch 'IhrName';

Natürlich musst du die Tabelle jetzt aktualisieren

Flush-Privilegien;

Um dies zu überprüfen, können Sie einfach versuchen:

Smarthome verwenden;

wähle * aus historiek;

In der Benutzertabelle kommen die Namen der Benutzer zusammen mit ihrem Badge, hier können Sie neue Benutzer hinzufügen. In der Gerätetabelle finden Sie alle aktiven Sensoren mit ihrer ID. Die Historiek-Tabelle zeigt alles, was passiert, wie Temperatursensor, Badge mit dem Status des Garagentors und mehr.

Schritt 4: Einrichtung

Um das Image auf dem Raspberry Pi einzustellen, können Sie Putty verwenden, dies ist ein kostenloses Programm. Die Basis-Image-Datei finden Sie hier:

Schnittstellen

Natürlich müssen Sie einige Schnittstellen auf dem Pi aktivieren. Gehen Sie zuerst auf die Konfigurationsseite.

sudo raspi-config

Jetzt können Sie in die Kategorien 1-Wire und Spi gehen und beide aktivieren. Diese benötigst du für den Temperatursensor.

W-lan

Befolgen Sie die nächsten Schritte, um WLAN auf dem Pi zu erhalten.

Melden Sie sich zuerst als root an

sudo-i

Geben Sie dann den Namen und das Passwort Ihres WLAN-Netzwerks ein

wpa_passphrase="wifiname" "Passwort" >> /etc/wpa_supplicant/wpa_supplicant.conf

Geben Sie dann den WPA-Client ein

wpa_cli

Wählen Sie die Schnittstelle aus

Schnittstelle wlan0

Jetzt die Konfiguration neu laden

neu konfigurieren

Und jetzt können Sie überprüfen, ob Sie verbunden sind

ip a

Pakete

Das erste, was Sie tun müssen, ist, die neuesten Versionen zu aktualisieren

sudo apt-Update

Für Python installieren wir und stellen sicher, dass der Pi die richtige Version auswählt

update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1update-alternatives --install /usr/bin/python python /usr/bin/python3 2

Damit der Webserver die Site ausführen kann, müssen wir Apache2 installieren

sudo apt install apache2 -y

Einige Python-Pakete müssen ebenfalls installiert werden

  • Flasche
  • Kolben-Cors
  • Flask-MySQL
  • Kolben-SockelIO
  • PyMySQL
  • Python-SocketIO
  • Anfragen
  • Pip
  • gpio
  • Gevent
  • Gevent-Websocket

Wenn es Probleme mit einem Paket gibt, das nicht gefunden wird, klicken Sie einfach mit der rechten Maustaste darauf und lassen Sie es installieren.

Schritt 5: Code

Code
Code
Code
Code

Backend

Für das Backend schreiben wir den Code in Python und verwenden pycharm zum Einschreiben. Die Routen vom Backend können mit Postman überprüft werden. Mit dieser App können Sie die Methoden POST und GET verwenden. Im Backend habe ich Multithreading verwendet, damit alles im Hintergrund läuft und zusammenarbeiten kann. Um das Image auf dem Raspberry Pi einzustellen, können Sie Putty verwenden, dies ist ein kostenloses Programm.

Vorderes Ende

Am Frontend gibt es ein paar Knöpfe, die das Licht einschalten, den Garagenport und das Tor öffnen. Durch die Verwendung von Javascript und CSS ändert sich der Stil der Schaltflächen, wenn sie aktiv sind. Es gibt auch eine Live-Temperatur und ein Diagramm mit den vergangenen Temperaturen. Auf der Benutzerseite sehen Sie die verschiedenen Benutzer, Sie können auch einen Benutzer zur Datenbank hinzufügen und es gibt eine Benutzerhistorie, in der Sie sehen können, wer das Garagentor zuletzt geöffnet oder geschlossen hat.

Den Code für das Frontend und Backend finden Sie unter

github.com/NMCT-S2-Projekt-1/nmct-s2-Projekt…

Empfohlen: