Inhaltsverzeichnis:

Switch-it, automatische Steckdose mit Echtzeit-Strommessung - Gunook
Switch-it, automatische Steckdose mit Echtzeit-Strommessung - Gunook

Video: Switch-it, automatische Steckdose mit Echtzeit-Strommessung - Gunook

Video: Switch-it, automatische Steckdose mit Echtzeit-Strommessung - Gunook
Video: ALLE Smarten Steckdosen im Vergleich | WLAN, Zigbee, DECT .... 2024, Kann
Anonim
Switch-it, automatische Steckdose mit Echtzeit-Strommessung
Switch-it, automatische Steckdose mit Echtzeit-Strommessung
Switch-it, automatische Steckdose mit Echtzeit-Strommessung
Switch-it, automatische Steckdose mit Echtzeit-Strommessung
Switch-it, automatische Steckdose mit Echtzeit-Strommessung
Switch-it, automatische Steckdose mit Echtzeit-Strommessung
Switch-it, automatische Steckdose mit Echtzeit-Strommessung
Switch-it, automatische Steckdose mit Echtzeit-Strommessung

Ich mag Automatisierung sehr, die Möglichkeit zu kontrollieren, wann etwas passieren muss. Aus diesem Grund kam mir diese Idee: eine selbstgebaute, automatische Steckdose. Es kann verwendet werden, um zu planen, wann Lichter eingeschaltet, Telefone aufgeladen oder ein Bildschirm mit Strom versorgt werden muss. Darüber hinaus haben Sie die Möglichkeit zu sehen, wie viel Strom durch die Steckdose fließt.

Die für dieses Projekt benötigten Komponenten sind:

Lieferungen

Bevor wir beginnen, sind dies die Dinge, die Sie auf jeden Fall benötigen, um eine Switch-IT-Box wie meine zu bauen. Diese Lieferungen kosten je nach Region und aktuellen Preisen etwa 50 bis 100 Euro.

Hardware

Elektronik

  • Himbeer-Pi 4
  • 16 GB (oder mehr) Micro SD-Karte
  • Arduino Uno
  • 5V-3.3V Pegelumsetzer
  • 5V Relaismodul
  • ACS712 20A - Strommodul
  • 1838 IR-Empfänger 37,9 kHz Modul
  • IR-Fernbedienung (ich benutze eine Elegoo)
  • gemeinsame Kathode RGB
  • 3 * 330Ω Widerstände
  • Druckknopf
  • RFID-RC522
  • LCD 1602A-1
  • Niko-Wandsteckdose
  • 10K Ω Potentiometer
  • 230 bis 5V - 7A Netzteil

Kabel

  • USB-B-zu-USB-A-Kabel
  • USB-C-Stromkabel
  • Ethernet Kabel

Verschieden

  • Männlich-weiblich Überbrückungsdrähte
  • Männlich-männlich Überbrückungsdrähte
  • Lötzinn
  • Schrumpfschlauch

Gehäusespezifische Teile (OPTIONAL)

  • 50 * Nüsse und Fette
  • Metallkoffer 40x40x5 cm mit Deckel
  • doppelseitiges Klebeband
  • 6 * 1cm hohe Distanzstücke
  • LED-Halter
  • Klettband
  • Kabelführungen

Software

  • balenaEtcher:
  • Kitt
  • arabisch
  • Visual Studio-Code
  • Arduino-IDE

Schritt 1: Rasbian einrichten

Rasbian einrichten
Rasbian einrichten
Rasbian einrichten
Rasbian einrichten

Zuerst flashen wir Rasbian auf die SD-Karte. Das machen wir mit balenaEtcher.

  1. BalenaEtcher öffnen
  2. Wähle das rasbische Bild
  3. Wählen Sie Ihre SD-Karte
  4. Drücken Sie Flash und warten Sie ein paar Minuten, bis es blinkt

Hinzufügen von APIPA im Boot-Verzeichnis: Wir verwenden eine APIPA-Adresse, um die RPI-Einstellungen zu programmieren und zu konfigurieren. Um dies zu tun:

  1. Greift auf das Boot-Verzeichnis auf der SD-Karte zu
  2. Öffnen Sie "cmdline.txt"
  3. Fügen Sie am Ende des Dokuments "169.254.10.1" hinzu und speichern Sie es
  4. Fügen Sie eine Datei namens "ssh" zum Boot-Verzeichnis hinzu (GEBEN SIE DIESER DATEI KEINE ERWEITERUNG)
  5. Nachdem Sie dies getan haben, können Sie die SD-Karte aus Ihrem PC auswerfen.

Zugriff auf das RPI mit PuTTy

Jetzt können wir die SD-Karte in unser RPI einstecken und das RPI über ein Ethernet-Kabel mit Ihrem PC verbinden.

Um eine Verbindung zum RPI herzustellen, verwenden wir PuTTy mit unserer APIPA-Adresse.

  1. PuTTy öffnen
  2. Geben Sie unsere APIPA-Adresse als Hostnamen ein (169.254.10.1)
  3. Stellen Sie sicher, dass der Port 22 ist und SSH ausgewählt ist
  4. Jetzt können Sie die Verbindung öffnen
  5. Der Standardbenutzername ist: pi
  6. Mit Standardpasswort: Himbeere

raspi-config-Einstellungen

Öffnen Sie raspi-config mit:

sudo raspi-config

  • Ändern Sie das Benutzerpasswort
  • Wählen Sie in den Lokalisierungsoptionen Ihre Zeitzone aus
  • Richten Sie WLAN mit den Netzwerkoptionen ein und dann mit der WLAN-Option, bei der Sie Ihre SSID und Ihr Passwort eingeben müssen.

Python 3 installieren

In diesem Projekt verwenden wir Python, daher setzen wir den Standard auf Python3 anstelle von Python2 mit den folgenden Befehlen

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

update-alternatives --install /usr/bin/python python /usr/bin/python3 2

Python-Pakete

Wir brauchen ein paar Pakete, damit alles richtig funktioniert, hauptsächlich die Flask-Pakete und eines, um eine Verbindung mit unserer Datenbank herzustellen. Wir können diese Pakete mit den folgenden Befehlen installieren:

pip install Flask

pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton

Datenbank

Als nächstes werden wir unser Datenbankverwaltungssystem (MariaDB) installieren, indem wir Folgendes verwenden:

sudo apt installieren mariadb-server

Geben Sie „Y“und Enter ein, um fortzufahren. Nach wenigen Sekunden ist der Installationsvorgang abgeschlossen und MariaDB ist fast einsatzbereit.

Um der Datenbank ein Passwort zu geben, verwenden Sie den Befehl:

sudo mysql_secure_installation

Drücken Sie dann die Eingabetaste, da das aktuelle Passwort leer ist. Drücken Sie dann "Y", um ein Passwort festzulegen. Jetzt können Sie ein beliebiges Passwort eingeben, das Sie sich merken sollten, da wir es benötigen, um eine korrekte Verbindung zwischen Back- und Front-End herzustellen.

Drücken Sie nun dreimal "Y", um: anonyme Benutzer zu entfernen, die Root-Anmeldung aus der Ferne zu verbieten und die Testdatenbank zu entfernen. Drücken Sie abschließend noch einmal „Y“, um die Berechtigungen neu zu laden.

Nun sind MariaDB und alle benötigten Pakete erfolgreich installiert.

Schritt 2: Den Code abrufen und einrichten

Den Code abrufen und einrichten
Den Code abrufen und einrichten
Den Code abrufen und einrichten
Den Code abrufen und einrichten

Nachdem wir alle Pakete installiert haben, können wir den Code abrufen.

Der Code ist auf Github verfügbar, sodass Sie ihn klonen können mit:

git-Klon

Das ist das Frontend

Git-Klon

Das ist das Backend

Die Datenbank selbst installieren

Um die Datenbank zu installieren, navigieren Sie mit den folgenden Befehlen zu der.sql-Datei, die sich im Backend-Ordner befindet (stellen Sie sicher, dass Sie Ihren eigenen Pfad angeben.

mysql

Datenbank erstellen switchit mysql beenden -u root -p switchit < Your_Path_to_Backend_Repo/switchit.sql

Apache installieren

Nachdem wir nun den gesamten Code und die Datenbankeinrichtung haben, können wir Apache installieren und unser Backend darauf ausführen. Wir tun dies mit:

apt-get install apache2 -y

Ersetzen Sie dann die Dateien in /var/ww/html durch die im Ordner des Frontend-Ordners.

Wenn alles gut gelaufen ist, sollten Sie sich mit der APIPA-Adresse 169.254.10.1 in Ihrem Browser mit Ihrer Website verbinden können.

Schritt 3: Arduino-Kommunikation

Arduino-Kommunikation
Arduino-Kommunikation

Um unseren aktuellen Sensor und unseren RFID-Sensor zu lesen, verwenden wir ein Arduino, verwenden Sie dazu den unten angegebenen Arduino-Code. Laden Sie es mit einem USB-A-zu-USB-B-Kabel und der arduino IDE-Software hoch. Beim Hochladen ist der Arduino-Teil fertig.

Jetzt müssen wir den seriellen Gerätenamen auf dem PI finden. Stellen Sie dazu sicher, dass in /boot/config.txt "enable_uart=1" richtig gesetzt ist. Stellen Sie außerdem sicher, dass "console=serial0, 115200" aus der cmdline.txt entfernt wird.

Dann überprüfen Sie die Ports mit

ls -l /dev

Dann sollte einer der Seriennamen das Arduino sein. Geben Sie diesen Namen in der arduinocom-Funktion in app.py. ein

ser = serial. Serial('/dev/ttyS0', 9600)

Tun Sie dies nur, wenn die serielle Kommunikation nicht funktioniert.

Schritt 4: Switch-it verkabeln

Verkabeln von Switch-it
Verkabeln von Switch-it
Verkabeln von Switch-it
Verkabeln von Switch-it

Alles zu verkabeln ist ziemlich einfach, obwohl Sie folgende Dinge beachten sollten:

  • Seien Sie vorsichtig mit der Steckdose, 230 Volt können tödlich sein.
  • Stellen Sie sicher, dass Sie einen Pegelwandler für die Kommunikation zwischen RPI und Arduino verwenden.
  • Stellen Sie vor dem Löten des RGB sicher, dass Sie den roten und grünen Stift verwenden. Testen Sie dies vorher!
  • Prüfen Sie, ob nichts kurzgeschlossen ist, BEVOR Sie den Stromkreis mit Strom versorgen.

Schritt 5: Ausführen des Codes

Jetzt ist alles richtig angeschlossen und wir können unser Programm ausführen.

Damit es beim Start automatisch ausgeführt wird, erstellen Sie eine Datei mit:

sudo nano myscript.service

Dann fügen Sie ein (stellen Sie sicher, dass Sie Ihr eigenes app.py-Verzeichnis verwenden:

[Unit]Description=Switchit After=network.target [Service] ExecStart=/usr/bin/python3 -u app.py WorkingDirectory=//change to app.py directory// StandardOutput=inherit StandardError=inherit Restart=always User= pi [Installieren] WantedBy=multi-user.target

Drücken Sie dann "Strg + X" und kopieren Sie es nach /etc/systemd/system.

Dann den folgenden Befehl, damit es automatisch ausgeführt wird:

sudo systemctl aktivieren myscript.service

Weitere Informationen dazu finden Sie auf der RaspBerry Pi-Site.

Neustart und fertig

Starten Sie nun Ihren PI neu mit:

sudo reboot -h jetzt

So machen Sie Switch-it!

Danke fürs Folgen, hoffe das war hilfreich. Wenn Sie Tipps oder Feedback haben, zögern Sie nicht, einen Kommentar zu hinterlassen.

Schritt 6: (OPTIONAL) das Gehäuse

(OPTIONAL) das Gehäuse
(OPTIONAL) das Gehäuse
(OPTIONAL) das Gehäuse
(OPTIONAL) das Gehäuse
(OPTIONAL) das Gehäuse
(OPTIONAL) das Gehäuse
(OPTIONAL) das Gehäuse
(OPTIONAL) das Gehäuse

Sie können das Gehäuse ganz nach Ihren Wünschen bauen. Ich habe einen Metallkoffer mit den Maßen 40x40x5 cm mit Deckel verwendet. Da ich ein Metall verwendet habe, musste ich Löcher bohren und Abstandshalter verwenden, um alles von der Bodenplatte zu bekommen. Ich habe mich für einen zentralen Punkt entschieden, an dem 5 V, 3,3 V und Masse verfügbar sind. Jede elektrische Verbindung wird mit einem Stück Schrumpfschlauch darüber gelötet. Für das Kabelmanagement habe ich Pads mit Trageriemen verwendet.

Empfohlen: