Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Rasbian einrichten
- Schritt 2: Den Code abrufen und einrichten
- Schritt 3: Arduino-Kommunikation
- Schritt 4: Switch-it verkabeln
- Schritt 5: Ausführen des Codes
- Schritt 6: (OPTIONAL) das Gehäuse
Video: Switch-it, automatische Steckdose mit Echtzeit-Strommessung - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
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
Zuerst flashen wir Rasbian auf die SD-Karte. Das machen wir mit balenaEtcher.
- BalenaEtcher öffnen
- Wähle das rasbische Bild
- Wählen Sie Ihre SD-Karte
- 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:
- Greift auf das Boot-Verzeichnis auf der SD-Karte zu
- Öffnen Sie "cmdline.txt"
- Fügen Sie am Ende des Dokuments "169.254.10.1" hinzu und speichern Sie es
- Fügen Sie eine Datei namens "ssh" zum Boot-Verzeichnis hinzu (GEBEN SIE DIESER DATEI KEINE ERWEITERUNG)
- 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.
- PuTTy öffnen
- Geben Sie unsere APIPA-Adresse als Hostnamen ein (169.254.10.1)
- Stellen Sie sicher, dass der Port 22 ist und SSH ausgewählt ist
- Jetzt können Sie die Verbindung öffnen
- Der Standardbenutzername ist: pi
- 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
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
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
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
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:
MicroPython-Programm: Aktualisieren Sie die Daten der Coronavirus-Krankheit (COVID-19) in Echtzeit – wikiHow
MicroPython-Programm: Daten zur Coronavirus-Krankheit (COVID-19) in Echtzeit aktualisieren: In den letzten Wochen hat die Zahl der bestätigten Fälle der Coronavirus-Krankheit (COVID 19) weltweit 100.000 überschritten, und die Weltgesundheitsorganisation (WHO) hat die Der neue Ausbruch einer Coronavirus-Pneumonie soll eine globale Pandemie sein. Ich war sehr
So bauen Sie eine automatische Notleuchte – wikiHow
Wie man eine automatische Notlampe herstellt: In diesem anweisbaren werde ich zeigen, wie man eine einfache eautomatische Notlampe * supereinfach * Taschengröße * wiederaufladbar * automatisch herstellt
Der ultimative automatische Fischfutterautomat zum Selbermachen: Tier 2: 10 Schritte (mit Bildern)
Der ultimative DIY Automatic Fish Feeder: Tier 2: Der Tier 2 Feeder ist ein großer Fortschritt gegenüber Tier 1. Diese Version verwendet ein ESP8266-WLAN-Modul, um die Uhr des Arduino zu synchronisieren, um den Fütterungsplan und die Beleuchtung des Tanks zu steuern
Gesichtserkennung in Echtzeit: ein End-to-End-Projekt – wikiHow
Echtzeit-Gesichtserkennung: ein End-to-End-Projekt: In meinem letzten Tutorial zur Erkundung von OpenCV haben wir AUTOMATIC VISION OBJECT TRACKING gelernt. Jetzt werden wir unsere PiCam verwenden, um Gesichter in Echtzeit zu erkennen, wie Sie unten sehen können: Dieses Projekt wurde mit dieser fantastischen "Open Source Computer Vision Library&qu
Einfache automatische Sicherung von Outlook und anderen Dateien.: 4 Schritte
Einfache automatische Sicherung von Outlook und anderen Dateien.: Wir alle sind uns einig, Daten vom Computer zu verlieren, daher erstellen wir von Zeit zu Zeit Backups der Dateien, die wir für wichtiger halten Problem Sie gehen, um die Backups zu überprüfen, die Sie erstellen, was