Inhaltsverzeichnis:

Automatisierte Windows-Schatten - Gunook
Automatisierte Windows-Schatten - Gunook

Video: Automatisierte Windows-Schatten - Gunook

Video: Automatisierte Windows-Schatten - Gunook
Video: Diese Einstellungen solltet ihr sofort ändern in Windows 11 2024, Juli
Anonim
Image
Image
Automatisierte Windows-Schatten
Automatisierte Windows-Schatten
Automatisierte Windows Shades
Automatisierte Windows Shades

Ein Wort voraus

Ich habe viele Tutorials zur Automatisierung von manuellen Jalousien und Jalousien gesehen, in diesem werden wir elektrische Jalousien automatisieren. Wir werden elektrische Rollläden behandeln, die mit Gleichstrommotoren betrieben werden, die sich durch Umkehren der Polarität des Stroms öffnen oder schließen.

Obwohl Sie beim Kauf von elektrischen Jalousien eine gewisse Automatisierung erhalten, gibt es Gründe, die Automatisierung selbst durchzuführen:

* Sie haben möglicherweise nur einen Schalter in der Nähe für die Auf-/Ab-Steuerung

* es ist billiger (einige Unternehmen bieten erweiterte Automatisierung für viele zusätzliche $$ an)

* flexibler, Sie können sie unter verschiedenen Umständen zum Öffnen oder Schließen programmieren es mit Thingspeak und dort könnte man zum Beispiel die Jalousien nach einem Zeitplan steuern oder über einen Sensoreingang steuern

Dies ist ein Zwischen-Tutorial, Sie benötigen Fähigkeiten wie Löten, Arduino-Programmierung, grundlegendes elektronisches Verständnis und etwas, wie man Dienste auf einem Server installiert, ausführt und konfiguriert.

Wenn Ihnen die Youtube-Videos gefallen haben, können Sie sie hier abonnieren.

Schritt 1: Erforderliche Dinge

Erforderliche Dinge
Erforderliche Dinge
Erforderliche Dinge
Erforderliche Dinge

Tipp: Vergrößern Sie die Bilder, um die beschreibenden Beschriftungen anzuzeigen

Teile:

1. Arduino Pro Mini 16Mhz 5V Typ (eBay) 2$

2. HC-05 Bluetooth-Modul (eBay) 3.3$

3. 5 V Zweikanalrelais (eBay) 1.6$

4. NPN-Transistor, der für mindestens ein paar Ampere ausgelegt ist, ich habe Tip142T < 1$. verwendet

5. 220 Ohm, 0,25 W Widerstand <1$

6. Diode, 1N4004 <1$

7. Drähte zum Verbinden der Teile < 1$

8. PCB (eBay) <1$ pro Stück

9. 2 x KF301-2P Steckverschraubung (eBay) <1$ pro Stück

10. männlich-weibliche Überbrückungsdrähte (eBay) 1,2 $ x 2 für einen Haufen

11. L7805CV 5V Regler (eBay) < 1$ pro Stück

12. 5,5 mm DC-Netzsteckerbuchse männlich und weiblich (eBay) < 1 $ pro Stück

13. Schrumpfschlauch oder Isolierband

14. Netzteil, das Netzteil muss für 12V und 2-3A ausgelegt sein.

Ich habe meine aus einem 12 V 2 A Ladegerät (eBay) 3,2 $ gerettet

14. Klemmleistenblock (eBay) 15c

15. Sicherungshalter (Aliexpress) 1$ pro Stück

16. Sicherung (eBay) < 1$ pro Stück

17. männliche und weibliche Leiterplattensteckverbinder (eBay) < 1 $ für das, was wir brauchen

18. Wechselstromkabel

19. Plastikbox-Gehäuse, meins war 6 x 19 cm² groß

Werkzeuge:

1. Lötkolben mit Lot

2. Drahtschneider

3. Verschiedene Schraubendreher

4. Schneider

5. Bohrmaschine und 8,5 mm Bohrer

6. USB-zu-Seriell-FTDI-Adapter FT232RL zum Programmieren des Arduino Pro Mini

7. Laptop mit installiertem ArduinoIDE zum Programmieren des Arduino

8. Feuerzeug, wenn Sie Schrumpfschläuche verwenden

9. Ein Bluetooth-fähiges Smartphone (im Beispiel verwende ich ein Android) mit installierter Bluetooth-Software

10. Optional: Lupe, Multimeter, Zange

Schritt 2: Vorbereitungen

Vorbereitungen
Vorbereitungen
Vorbereitungen
Vorbereitungen
Vorbereitungen
Vorbereitungen

Auswahl des Netzteils und der Kunststoffbox

Zuerst müssen Sie feststellen, wie viel Strom und welche Spannung die Rollos-Motoren betreiben.

Dies kann durch Ablesen der Spezifikationen oder durch Messungen mit dem Multimeter erfolgen. Normalerweise arbeiten sie mit 12 V und 1-3 Ampere (meine sind 2,5 A und 12 V). Multiplizieren Sie den Strom mit wie viele davon Sie gleichzeitig fahren müssen (ich fahre zwei), um den maximal benötigten Strom zu ermitteln. Sie sollten ein Netzteil mit genau der gleichen Spannung und idealerweise der gleichen Stromstärke oder etwas höher finden.

Bei diesem Schritt habe ich ein wenig geschummelt, indem ich ein 12-V- und 2,5-A-Netzteil verwendet habe, um zwei 12-V- und 2,5-A-Motoren anzutreiben, was bedeutet, dass die Motoren doppelt so viel Strom verbrauchen, wie das Netzteil liefern kann. Aber mit einer Technik namens PWM (siehe Link, um weitere Details zu sehen) habe ich es geschafft, den Motor gleichzeitig mit einer niedrigeren Geschwindigkeit anzutreiben.

Der Grund, warum ich dies getan habe, ist, Platz in der Box zu sparen (ich habe eine kleinere Box gewählt).

Das Kunststoffgehäuse muss die Stromversorgung, zwei Relais, eine kleine Platine mit der Elektronik und den Drähten aufnehmen, also wählen Sie die Größe, damit alles hineinpasst.

Mein Netzteil hatte ein Plastikgehäuse, das ich mit einem Dremel-Werkzeug auseinandergerissen habe, ich habe die vorhandenen Drähte abgeschnitten und auf diese Weise habe ich ein günstiges und kleines Netzteil, das für mein Projekt geeignet ist (siehe Bilder).

Bereiten Sie die Motorkabel vor

Sie müssen berechnen, wie lang die Motorkabel sein werden, dh bis sie den Schaltkasten erreichen, den wir bauen. Es besteht die Möglichkeit, dass die vorhandenen Kabel nicht lang genug sind, und Sie müssen sie verlängern, beide Drähte (das vorhandene Klingenkabel und die Verlängerungskabel) an einem Ende abisolieren, Schrumpfschläuche anbringen, die Drähte löten und dann mit einem erhitzen leichter zu isolieren.

Am Ende des Verlängerungskabels befindet sich eine männliche 5,5-mm-DC-Netzsteckerbuchse. Sie müssen die beiden Drähte an die Buchse löten, das Endergebnis wird wie auf den Bildern aussehen.

Einsetzen der 5,5-mm-DC-Netzsteckerbuchse in die Box

Bohren Sie mit der Bohrmaschine zwei Löcher, die groß genug sind, damit der Wagenheber hindurchgleiten kann. Stecken Sie die Netzsteckerbuchsen ein, schrauben Sie sie mit den Muttern fest. Dann löten Sie dicke schwarze und rote Drähte an jeden der Buchseneingänge und isolieren Sie sie anschließend mit Schrumpfschlauch. Die Drähte sollten lang genug sein, um leicht in die Klemmleiste zu passen, aber nicht zu lang, um zu viel Platz einzunehmen.

Anbringen des Sicherungshalters mit der Sicherung

An einer Seite der Box bohren Sie ein kleines Loch, um eine kleine Mutter zu setzen, die den Sicherungshalter an Ort und Stelle hält. Dann mit der Zange, einem Schraubendreher und der Mutter festschrauben. Der Sicherungshalter sollte sich in der Nähe des Netzteils befinden und sich im Gehäuse befinden. Überprüfen Sie noch einmal die Bilder.

Schritt 3: Aufbau der Leiterplatte mit Elektronik

Aufbau der Leiterplatte mit Elektronik
Aufbau der Leiterplatte mit Elektronik
Aufbau der Leiterplatte mit Elektronik
Aufbau der Leiterplatte mit Elektronik
Aufbau der Leiterplatte mit Elektronik
Aufbau der Leiterplatte mit Elektronik

Die Platine enthält den Mikrocontroller, die Bluetooth-Kommunikation, das RTC-Modul, einen Leistungstransistor mit einer Diode zum Schutz und einem kleinen Rezistor, Anschlussdrähte und einen 5V-Regler.

Ich habe den Fritzig-Schema beigefügt, damit die Dinge einfach sind. Das erste Bild stellt das exportierte Bild des Schaltplans dar und ich habe auch sketch.fzz angehängt (die Originaldatei, Sie können sie mit diesem Tool öffnen)

Lötschritte:

1. Schneiden Sie die PCB-Buchsen ab, es gibt zwei 12-polige Anschlüsse für den Mikrocontroller, es gibt auch einen 6-poligen Anschluss für das Bluetooth und einen weiteren 12-poligen Anschluss auf der rechten Seite des Mikrocontrollers und einen zweipoligen Anschluss für den Relais-Minus und positive Kraft

2. Nachdem alle Anschlüsse geschnitten sind, müssen sie auf der Rückseite der Platine gelötet werden

3. Löten Sie die beiden KF301-2P-Steckverbinder

4. Setzen Sie den L7805CV 5V-Regler auf die Platine. Biegen Sie die Beine und löten Sie sie auf der anderen Seite, dann schneiden Sie die überschüssigen Beine mit dem Kabelschneider ab

5. Löten Sie den NPN Tip142T Transistor und die 1N4004 Schutzdiode, schneiden Sie die überschüssigen Beine danach ab

6. Löten Sie den 220-Ohm-Rezistor zwischen dem entsprechenden digitalen Pin 5 und dem Transistor-Basispin

7. Löten Sie dickere Drähte zwischen dem Transistor und den KF301-2P-Steckern (rot und schwarz wie auf den Bildern markiert)

8. Löten Sie alle roten (+), schwarzen (-) und weißen (Signal) dünnen Drähte gemäß dem Fritzig-Schema

9. Lötstifte am Mikrocontroller anlöten, Sie benötigen zwei 12-polige Stifte an den Seiten

10. Stellen Sie Verbindungen zwischen den entsprechenden Pins der rechten Seite des Mikrocontrollers her (es wird in den Bildern besser erklärt). Die Verbindungen werden nur mit Lötzinn hergestellt (die Pins sind nah)

11. Optional: mit der Lupe die Lötstellen auf Kurzschlüsse überprüfen und prüfen ob die Drähte auf der Rückseite der Platine richtig verlötet sind, außerdem können Sie mit dem Multimeter (Widerstandseinstellung) prüfen ob ein Kurzschluss zwischen Plus und vorliegt negative Verbindungen. Ein weiterer Test besteht darin, die Schaltung ohne den Mikrocontroller mit Strom zu versorgen, Bluetooth

12. Platzieren Sie den Mikrocontroller und das HC-05 Bluetooth auf der Platine

Schritt 4: Verdrahtung und Montage

Verkabelung und Montage
Verkabelung und Montage
Verkabelung und Montage
Verkabelung und Montage

Inzwischen haben wir unsere Platine fertig, unsere Plastikbox fertig, die Schirmkabel verkabelt und unsere anderen Komponenten vorbereitet. Jetzt müssen wir nur noch das System verkabeln.

1. durch das obere seitliche Loch in der Box das AC-Netzkabel einführen, das Kabel abisolieren und auf das Netzteil löten (wenn Ihr Netzteil Schrauben hat, schrauben Sie es fest)

2. Verwenden Sie einen roten Draht, um den Ausgang (+) des Netzteils an eine der Sicherungen zu löten, verwenden Sie ein wenig Schrumpfschlauch, um den freigelegten abisolierten Draht zu verbergen.

3. ein weiteres rotes Kabel an die andere Seite der Sicherung anlöten Schrumpfschlauch anbringen, die andere Seite des Kabels wird eingesteckt und in den Eingang (+) der KF301-2P Verschraubung eingeschraubt

4. Löten Sie ein schwarzes Kabel an die Ausgangsseite (-) des Netzteils und schrauben Sie es dann auf den Leiterplatteneingang KF301-2P Schraubverbinder

4. Verbinden Sie das Relais positiv und negativ mit den männlichen und weiblichen Steckbrettanschlüssen mit den positiven und negativen weiblichen Anschlüssen der Platine. Verbinden Sie auch die Pins 8 und 9 des Mikrocontrollers (mit den PCB-Mutteranschlüssen links von der Platine) mit den Relais-Triggerpins

5. Verbinden Sie eine Seite des Klemmleistenblocks mit den roten bzw. schwarzen Drähten, die von den weiblichen 5,5-mm-DC-Netzsteckern kommen. Wenn Sie mehr als eine 5,5-mm-Buchse haben, wie ich es tue, landen alle roten Drähte in der oberen linken Seite des Klemmenblocks und alle schwarzen Drähte auf der oberen rechten Seite des Klemmenblocks (siehe Bilder).). Wenn Sie die Jalousien bedienen, wenn sie sich nicht in die gleiche Richtung bewegen, werden wir die Drähte hier vertauschen (dazu später mehr)

6. Verbinden Sie die positiven und negativen Drähte, die vom Schraubanschluss KF301-2P (out) kommen, mit der Mitte der Relaisklemmen. Die Mitte der Klemmen werden als gemeinsam bezeichnet.

7. Verbinden Sie die linke Seite des linken Relais (egal wie Sie zum Realy schauen) mit der linken Seite des rechten Relais mit der unteren linken Seite des Klemmenblocks. Verbinden Sie dann die rechte Seite des linken Relais mit der rechten Seite des rechten Relais mit der unteren rechten Seite der Klemmleiste. Die obere Seite des Klemmenblocks wird mit den 5,5-mm-Buchsen verbunden (siehe Schritt 5).

Hinweis: Ich habe den Klemmenblock so beschrieben, dass er eine obere und eine untere Seite hat, die jeweils eine linke und rechte Seite haben. Es spielt keine Rolle, wie Sie die Klemmleiste halten, solange Sie sich daran erinnern, welche Seite was ist. Sie können die Bilder und insbesondere den Fritzig-Schema überprüfen.

Schritt 5: Der Arduino-Code

Der Arduino-Code
Der Arduino-Code

Der Code muss mit dem USB-zu-Seriell-FTDI-Adapter FT232RL auf das Arduino Pro Mini hochgeladen werden.

Sie müssen den GND-, VCC-, Rx-, Tx- und DTR-Pin mit dem Arduino Pro Mini verbinden. Öffnen Sie dann die Arduino-Software, wählen Sie Tools / Port und den von Ihnen verwendeten Port aus. Dann Tools/Board/Arduino Pro oder Pro Mini. Dann Tools/Board/Prozessor/ATmega328(5V 16Mhz).

Öffnen Sie schließlich die Skizze unten und klicken Sie auf Hochladen.

Anpassungen: Das einzige, was in der Skizze angepasst werden kann, ist die pwmPower. Der Wert kann zwischen 0 und 255 liegen und gibt ungefähr an, wie viel der Stromversorgungsleistung an die Jalousiemotoren geht. Es ist im Grunde das schnelle Ein- und Ausschalten des Stroms. Ich habe es hauptsächlich implementiert, damit ich ein kleineres Netzteil verwenden kann, ohne zu überhitzen oder herunterzufahren. Wenn Ihr Netzteil eine größere Leistung hat, als die Motoren aufnehmen, können Sie pwmPower auf 255 einstellen.

Wie funktioniert dieses Programm: Zuerst hört es auf die serielle Leitung (eine sekundäre Software-Seriennummer) auf eingehende Übertragungen. Wenn eine Übertragung eintrifft, wird die Nachricht in einem Puffer gelesen, bis das ";" vorhanden ist oder das Pufferende erreicht ist. Dann wird es geparst und wenn es das richtige Format hat (zB: O45;) wird die Funktion toggleState mit dem ersten Parameterzustand und dann der Dauer aufgerufen.

Um die Polaritätsumschaltung zu erreichen, werden beide Relais entweder geöffnet oder geschlossen. Der Transistor wird über die PWM für die vorgegebene Dauer ein- und ausgeschaltet. O45 bedeutet für 45 Sekunden geöffnet.

Nachdem der Befehl ausgeführt wurde, wird der Puffer gelöscht.

Schritt 6: Verwendung

Verwendungszweck
Verwendungszweck
Verwendungszweck
Verwendungszweck
Verwendungszweck
Verwendungszweck

Wir können die Steuerelemente auf mehr als eine Weise verwenden

1. Über eine Android- oder iPhone-Bluetooth-Anwendung (am einfachsten)

In meiner Demo habe ich eine Android-App namens Bluetooth Controller ausgewählt. Mit dieser App können Sie Schaltflächen anpassen, die serielle Daten senden. Ich habe zwei Schaltflächen namens Up und Down erstellt und Up mit dem Code "C40;" verknüpft. und das Down mit "O35;".

"C40;" bedeutet, dass ich die Jalousien für 40 Sekunden schließe (einfahre), "035" bedeutet, dass sie sich für 35 Sekunden öffnen (sie gehen nach oben). ";" ist der Befehlsterminator, den ich in meiner Skizze gewählt habe, das bedeutet, dass er das Ende eines Befehls signalisiert.

2. Über ein Python-Skript, das ständig im Hintergrund läuft

Dies ist der fortgeschrittene Teil des Tutorials. Ich habe ein Python-Skript, das auf einem Server wie einem Raspberry Pi oder einem Laptop mit Internetzugang ausgeführt wird. Es stellt eine Verbindung mit dem Bluetooth auf der Kontrollbox her und stellt eine http-API bereit. Auf die API kann direkt oder über Thingspeak zugegriffen werden.

Ich erkläre dir Schritt für Schritt, was du tun musst

A. Das erste ist, das Bluetooth zu koppeln

Sie werden den bluetoothctl-Befehl von der Konsole aus verwenden, innerhalb des Typs

ein

Erkennbar auf Agent auf Standard-Agent Paarbar auf Scan auf Paar xx:xx:xx:xx:xx:xx (und Passwort eingeben) Vertrauen xx:xx:xx:xx:xx:xx (wenn kein Passwort):

Öffnen Sie als nächstes die Bluetooth-Konfigurationsdatei

vim /etc/bluetooth/rfcomm.conf

Im Inneren müssen Sie Ihr Bluetooth-Gerät wie folgt konfigurieren:

rfcomm1 {

binden ja; Gerät your_bluetooth_mac_address etwa 97:D3:31:21:A0:51; Kanal 1; Kommentar "Verbindung zu meiner Sonnenbrille bt"; }

binden, Bluetooth-Dienste neu starten

sudo rfcomm bind allsudo /etc/init.d/bluetooth Neustart sudo hciconfig hci0 up

B. Kolben installieren, Kolben-Basis-Authentifizierung:

sudo -H pip install Flask Flask-BasicAuth

C. Erstellen Sie eine Datei server.py mit dem folgenden Code und führen Sie den Server aus:

# Verwendung: Python httpToBluetooth Benutzername Passwort bluetooth_address

# Hinweis: Benutzername, Passwort werden verwendet

import os, bluetooth, sys, threading

fromflakon import Flask fromflakon_basicauth import BasicAuth from Queue import Queue app = Flask(_name_) configuration = sys.argv app.config['BASIC_AUTH_USERNAME'] = configuration[1] app.config['BASIC_AUTH_PASSWORD'] = configuration[2] queue = Queue() basic_auth = BasicAuth(app)-Klasse BluetoothBackground(threading. Thread): def _init_(self, bluetooth_address, queue): threading. Thread._init_(self) self._bluetooth_address = bluetooth_address self._queue = queue self.shutdown = False def run (self): self._bluetooth = self.get_bluetooth() while not self.shutdown: message = self._queue.get() self._bluetooth.send(message) self._bluetooth.close() def get_bluetooth(self): connection = bluetooth. BluetoothSocket(bluetooth. RFCOMM) connection.settimeout(None) try: connection.connect((self._bluetooth_address, 1)) außer Ausnahme, e: print 'Error connection to bluetooth' + str(e) connection.setblocking(False) Rückgabe der Verbindungsklasse Webserver(threading. Thread): def run(self): port = in t(os.environ.get('PORT', 5000)) app.run(host='0.0.0.0', port=port, debug=True, use_reloader=False) @app.route("/send_to_serial/") @basic_auth.required def send_to_serial(command): queue.put(command) return 'ok' threads = threads.append(BluetoothBackground(configuration[3], queue)) threads.append(Webserver()) [thread.start () für Gewinde in Gewinden]

Um den Server auszuführen, führen Sie Folgendes aus:

python server.py Benutzerkennwort 97:D2:31:20:A0:51

Ok, server.py ist unser Skript, Benutzer und Passwort sind die Anmeldeinformationen für Ihre Authentifizierung und "97:D2:31:20:A0:51" ist Ihre Bluetooth-MAC-Adresse.

D. Verwenden Sie Ihren Server, um Befehle von überall auf der Welt zu senden

vom Browsertyp:

- Geben Sie den Benutzer und das Passwort ein, die Sie zuvor beim Starten des Python-Servers eingerichtet haben

- "C30;" ist der Befehl, der an das Bluetooth-Gerät weitergeleitet wird (unsere Box, die die Jalousien steuert)

- Überprüfen Sie, dass Port 5000 nicht von Ihrer Firewall blockiert wird (wir verwenden diesen Port)

- wenn Sie sich hinter einem Router befinden (z. B. einem Himbeer-Pi), müssen Sie eine Portweiterleitung vom Router von Port 5000 auf Port 5000 vornehmen

e. Sie können Thingspeak verwenden, um beispielsweise die Jalousien nach einem Zeitplan zu steuern oder wenn sich einige Kanalsensordaten ändern. Zum Beispiel können Sie einen Lichtsensor (draußen) an thinkspeak anschließen und wenn die Lichtstärke auf einen gewissen Wert sinkt (es ist Abend), können Sie die Jalousien schließen, damit Sie von außen nicht gesehen werden.

Sie können die Schatten (Python-Server, den wir zuvor eingerichtet haben) mit Thingspeak über ThingHTTP verbinden.

Ich habe ein Bild des ThingHTTP-Formulars mit den ausgefüllten Daten als Beispiel und ein Bild mit TimeControl beigefügt. Für maximale Flexibilität sollte Thingspeak also alles tun, was Sie brauchen.

3. Über meine Hausautomationsanwendung

Das ist etwas komplizierter, meine Hausautomationsanwendung macht viel mehr als nur die Jalousien zu steuern.

Es steuert auch Lichter, die Tür, verfügt über mehrere Sensoren, lässt sich in Schalter integrieren und verfügt über komplexe benutzerdefinierte Regeln, die beispielsweise die Jalousien öffnen können, wenn das Licht im Inneren niedrig ist oder es Morgen ist.

Sie können mein Github-Repository überprüfen, und wenn Sie Fragen haben, beantworte ich sie gerne.

Wenn Sie mein Tutorial etwas nützlich fanden, teilen Sie es bitte oder fügen Sie es zu Ihren Favoriten hinzu. Und ich möchte auch ein paar interessante Kommentare sehen:)

Empfohlen: