Inhaltsverzeichnis:
- Schritt 1: Einrichten der Empfängereinheit
- Schritt 2: Schnüffeln der Handset-Codes
- Schritt 3: Transkribieren des resultierenden Signals
- Schritt 4: Einrichten der Sendeeinheit
- Schritt 5: Übertragen von Signalen mit dem Pi
- Schritt 6: Ein Hinweis zur Timing-Genauigkeit
- Schritt 7: Fazit
Video: Super Simple Raspberry Pi 433MHz Hausautomation - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Dieses Tutorial ist eines von vielen, wenn es darum geht, mit einem Raspberry Pi drahtlose Geräte im ganzen Haus zu steuern. Wie viele andere zeigt es Ihnen, wie Sie ein billiges Sender- / Empfängerpaar verwenden, das an Ihren Pi angeschlossen ist, um mit Geräten zu interagieren, die auf dem häufig verwendeten 433 MHz-Funkfrequenzband arbeiten. Es zeigt Ihnen speziell, wie Sie jedes elektrische Gerät mit Ihrem Pi ein- oder ausschalten können, indem Sie Befehle an einen Satz ferngesteuerter 433 MHz-Steckdosen senden.
Warum habe ich dieses Tutorial erstellt, wenn es schon so viele gibt? Hauptsächlich, weil so ziemlich alle anderen Tutorials, auf die ich gestoßen bin, die Dinge zu kompliziert schienen, insbesondere auf der Softwareseite. Mir ist aufgefallen, dass sie sich stark auf Bibliotheken, Skripte oder Codeschnipsel von Drittanbietern verlassen, um die ganze Arbeit zu erledigen. Viele würden nicht einmal erklären, was der zugrunde liegende Code macht - sie würden Sie nur bitten, zwei oder drei Softwareteile auf Ihren Pi zu schieben und eine Reihe von Befehlen auszuführen, ohne dass Fragen gestellt werden. Ich wollte wirklich versuchen, meinen Pi zu verwenden, um elektrische Geräte in meinem Haus mit einem Satz ferngesteuerter 433-MHz-Steckdosen ein- und auszuschalten, aber ich wollte meine eigene Version des Systems erstellen, die ich verstehen konnte, um hoffentlich die Notwendigkeit zu beseitigen Verwenden Sie die Bibliotheken oder Skripte einer anderen Person.
Darum geht es in diesem Tutorial. Die Softwareseite dieses Systems besteht aus zwei sehr einfachen Python-Skripten – einem zum Empfangen und Aufzeichnen von Signalen und einem zum Zurücksenden dieser Signale an die drahtlosen Steckdosen. Der eigentliche Empfang/Senden des Signals beruht nur auf der einfach zu bedienenden RPi. GPIO-Bibliothek, die, zumindest für mich, mit Raspbian vorinstalliert war. Diese Bibliothek kann auch direkt in Python importiert werden.
Für dieses Projekt benötigen Sie:
Ein Raspberry-Pi. Jedes Modell sollte funktionieren, ich habe ein All-in-One-Starterkit verwendet, aber vielleicht brauchst du nur die Zentraleinheit
Ein 433MHz Sender/Empfänger-Paar. Die bei dieser Art von Projekt am häufigsten verwendeten scheinen diese zu sein. Wenn Sie ein Fünferpack wie das verlinkte kaufen, stellen Sie sicher, dass Sie ein paar Ersatzteile haben
Ein Satz ferngesteuerter 433MHz-Steckdosen. Ich habe diese verwendet, die ich sehr empfehlen kann, aber es gibt unzählige Modelle. Stellen Sie nur sicher, dass sie auf dieser Frequenz arbeiten
Einiges Zubehör für den Schaltungsbau. Ich würde empfehlen, ein Steckbrett und einige Überbrückungskabel zu verwenden, um den Schaltungsaufbau so einfach wie möglich zu gestalten.
[Wenn Sie sich entscheiden, eines dieser Produkte zu kaufen, würde ich es sehr schätzen, wenn Sie über die obigen Links auf die Angebote zugreifen - auf diese Weise erhalte ich einen winzigen Anteil des Gewinns ohne zusätzliche Kosten für Sie!]
Schritt 1: Einrichten der Empfängereinheit
Bevor Sie Ihren Pi verwenden können, um Befehle an die ferngesteuerten Steckdosen zu senden, müssen Sie wissen, auf welche spezifischen Signale sie reagieren. Die meisten ferngesteuerten Steckdosen werden mit einem Handgerät geliefert, mit dem bestimmte Einheiten ein- oder ausgeschaltet werden können. Bei den von mir gekauften hat das Mobilteil vier Reihen gepaarter EIN/AUS-Tasten, von denen jede ein EIN- oder AUS-Signal an eine bestimmte Steckdose sendet.
Dies wirft eine Frage auf - woher wissen wir, welche Tasten welcher Buchse entsprechen? Dies hängt tatsächlich von Ihrem Modell ab. Einer der Hauptgründe, warum ich meinen speziellen Steckdosentyp gewählt habe (in der Einleitung verlinkt), ist, dass die Geräte mit einem physischen Schalter konfiguriert werden können, damit eine bestimmte Steckdose auf einen bestimmten Satz von EIN/AUS-Tasten am Mobilteil reagiert. Dies bedeutet auch, dass Sie die Steckdosen im Haus ziehen und verschieben können, da Sie wissen, dass jedes Gerät immer auf die gleichen EIN/AUS-Signale reagiert.
Sobald Sie herausgefunden haben, wie Ihre Steckdosen mit dem Mobilteil interagieren, müssen Sie Ihre 433-MHz-Empfängereinheit (siehe Abbildung oben) verwenden, um die vom Mobilteil gesendeten Codes zu „schnüffeln“. Sobald Sie die Wellenformen dieser Codes aufgezeichnet haben, können Sie sie mit Python replizieren und mit der Sendeeinheit versenden.
Das erste, was Sie hier tun müssen, ist, die Pins Ihres Empfängers mit den richtigen GPIO-Pins auf dem Pi zu verbinden. Die Empfängereinheit hat vier Pins, von denen jedoch nur drei benötigt werden. Ich denke, beide zentralen Pins liefern den gleichen Ausgang, daher müssen Sie nur eine Verbindung zu einem von ihnen herstellen (es sei denn, Sie möchten die empfangenen Signale an zwei separate GPIO-Pins streamen).
Das obige Bild fasst die Verkabelung ziemlich gut zusammen. Jeder Pin am Empfänger kann direkt mit dem entsprechenden Pin am Pi verdrahtet werden. Ich verwende ein Steckbrett und Überbrückungskabel, um den Vorgang etwas eleganter zu gestalten. Beachten Sie, dass Sie einen beliebigen GPIO-Datenpin auswählen können, um ihn mit einem der zentralen Empfängerpins zu verbinden. Ich habe den mit '23' gekennzeichneten Pin auf meinem Pi-Header verwendet.
WICHTIG: Wenn Sie den Pin, der im obigen Bild mit "3v3" gekennzeichnet ist, mit einem Pin mit höherer Spannung am Pi (z. Alternativ können Sie es mit 5 V versorgen und einen Spannungsteiler einrichten, um eine sichere Spannung an den DATA-Pin zu senden.
Die Reichweite des Empfängers ist bei dieser Spannung nicht sehr groß, insbesondere wenn keine Antenne angeschlossen ist. Allerdings braucht man hier keine große Reichweite - solange der Hörer die Signale des Handapparats direkt nebeneinander aufnehmen kann, ist das alles, was wir brauchen.
Schritt 2: Schnüffeln der Handset-Codes
Nachdem Ihr Receiver nun mit dem Pi verkabelt ist, können Sie mit der ersten aufregenden Phase dieses Projekts beginnen - dem Schnüffeln. Dies beinhaltet die Verwendung des beigefügten Python-Skripts, um das Signal aufzuzeichnen, das vom Mobilteil bei jedem Tastendruck gesendet wird. Das Skript ist sehr einfach, und ich empfehle Ihnen dringend, es sich vor der Ausführung anzusehen - schließlich geht es bei diesem Projekt darum, dass Sie nicht einfach blind den Code eines anderen ausführen!
Bevor Sie diesen Vorgang starten, müssen Sie sicherstellen, dass Sie über die Python-Bibliotheken verfügen, die zum Ausführen des Sniffer-Skripts erforderlich sind. Sie sind oben im Skript aufgeführt:
aus datetime importieren datetime
import matplotlib.pyplot als pyplot import RPi. GPIO als GPIO
Die Bibliotheken RPi. GPIO und datetime waren in meiner Raspbian-Distribution enthalten, aber ich musste die matplotlib-Bibliothek wie folgt installieren:
sudo apt-get install python-matplotlib
Diese Bibliothek ist eine häufig verwendete Bibliothek zum Plotten von Graphen, die auch außerhalb dieses Projekts sehr nützlich ist. Eine Installation kann also definitiv nicht schaden! Sobald Ihre Bibliotheken auf dem neuesten Stand sind, können Sie mit der Datenaufzeichnung beginnen. So funktioniert das Skript:
Wenn es ausgeführt wird (mit dem Befehl 'python ReceiveRF.py'), wird der definierte GPIO-Pin als Dateneingang konfiguriert (standardmäßig Pin 23). Es wird dann kontinuierlich den Pin abtasten und protokollieren, ob es eine digitale 1 oder 0 empfängt. Dies wird für eine festgelegte Dauer (standardmäßig 5 Sekunden) fortgesetzt. Wenn dieses Zeitlimit erreicht ist, stoppt das Skript die Datenaufzeichnung und schließt den GPIO-Eingang. Es führt dann eine kleine Nachbearbeitung durch und zeichnet den empfangenen Eingabewert gegen die Zeit auf. Auch hier: Wenn Sie Fragen zur Funktion des Skripts haben, können Sie diese wahrscheinlich selbst beantworten, nachdem Sie sich angesehen haben, wie es funktioniert. Ich habe versucht, den Code so lesbar und einfach wie möglich zu gestalten.
Sie müssen nur darauf achten, wenn das Skript anzeigt, dass es **Aufnahme gestartet** hat. Sobald diese Meldung erscheint, sollten Sie eine der Tasten am Mobilteil etwa eine Sekunde lang gedrückt halten. Halten Sie es in der Nähe des Empfängers. Sobald das Skript die Aufnahme beendet hat, verwendet es matplotlib, um eine grafische Wellenform des während des Aufnahmeintervalls empfangenen Signals zu zeichnen. Bitte beachten Sie, dass Sie, wenn Sie über einen SSH-Client wie PuTTY mit Ihrem Pi verbunden sind, auch eine X11-Anwendung öffnen müssen, damit die Wellenform angezeigt werden kann. Dafür verwende ich xMing (und für andere Dinge wie Remote-Desktopping in meinem Pi). Damit der Plot angezeigt werden kann, starten Sie einfach xMing, bevor Sie das Skript ausführen, und warten Sie, bis die Ergebnisse angezeigt werden.
Sobald Ihr Matplotlib-Fenster erscheint, sollte der Interessenbereich innerhalb des Plots ziemlich offensichtlich sein. Mit den Bedienelementen am unteren Rand des Fensters können Sie so weit hineinzoomen, bis Sie die Höhen und Tiefen des vom Mobilteil gesendeten Signals erkennen können, während die Taste gedrückt gehalten wurde. Ein Beispiel für einen vollständigen Code finden Sie im obigen Bild. Das Signal besteht wahrscheinlich aus sehr kurzen Impulsen, die durch ähnliche Zeiträume getrennt sind, in denen kein Signal empfangen wird. Auf diesen Block kurzer Impulse folgt wahrscheinlich eine längere Periode, in der nichts empfangen wird, wonach sich das Muster wiederholt. Sobald Sie das Muster identifiziert haben, das zu einer einzelnen Instanz des Codes gehört, machen Sie einen Screenshot wie den oben auf dieser Seite und fahren Sie mit dem nächsten Schritt fort, um ihn zu interpretieren.
Schritt 3: Transkribieren des resultierenden Signals
Nachdem Sie nun den Block periodischer Hochs und Tiefs identifiziert haben, der einem bestimmten Tastensignal entspricht, müssen Sie ihn speichern und interpretieren. Im obigen Signalbeispiel werden Sie feststellen, dass es nur zwei einzigartige Muster gibt, die den gesamten Signalblock ausmachen. Manchmal sehen Sie ein kurzes Hoch, gefolgt von einem langen Tief, und manchmal ist es das Gegenteil - ein langes Hoch gefolgt von einem kurzen Tief. Beim Transkribieren meiner Signale habe ich mich für die folgende Namenskonvention entschieden:
1 = kurz_ein + lang_aus0 = lang_ein + kurz_aus
Schauen Sie sich noch einmal die beschriftete Wellenform an, und Sie werden sehen, was ich meine. Sobald Sie die entsprechenden Muster in Ihrem Signal identifiziert haben, müssen Sie nur noch die Einsen und Nullen zählen, um die Sequenz aufzubauen. Beim Transkribieren kann das obige Signal wie folgt geschrieben werden:
1111111111111010101011101
Jetzt müssen Sie diesen Vorgang nur noch wiederholen, um die Signale der anderen Tasten Ihres Mobilteils aufzuzeichnen und zu transkribieren, und Sie haben den ersten Teil des Vorgangs abgeschlossen!
Bevor Sie die Signale mit dem Sender erneut senden können, ist noch etwas zu tun. Das Timing zwischen den Hochs und Tiefs, die einer 1 oder einer 0 entsprechen, ist sehr wichtig, und Sie müssen sicherstellen, dass Sie wissen, wie lange ein 'short_on' oder ein 'long_off' tatsächlich dauert. Für meine Codes gab es drei Timing-Informationen, die ich extrahieren musste, um die Signale zu replizieren:
- Die Dauer eines „kurzen“Intervalls, d. h. der Anfang einer 1 oder das Ende einer 0.
- Die Dauer eines „langen“Intervalls, d. h. das Ende einer 1 oder der Anfang einer 0.
- Die Dauer eines „erweiterten“Intervalls. Ich bemerkte, dass, wenn ich eine Taste auf dem Mobilteil gedrückt hielt, zwischen jeder wiederholten Instanz des Signalblocks eine 'erweiterte_Aus'-Periode lag. Diese Verzögerung wird zur Synchronisation verwendet und hat eine feste Dauer.
Um diese Timing-Werte zu bestimmen, können Sie die Zoomfunktion im Matplotlib-Fenster verwenden, um ganz hineinzuzoomen und den Cursor über die relevanten Teile des Signals zu platzieren. Die Cursorpositionsanzeige am unteren Rand des Fensters sollte es Ihnen ermöglichen zu bestimmen, wie breit jeder Teil des Signals ist, der einem langen, kurzen oder verlängerten Intervall entspricht. Beachten Sie, dass die x-Achse des Diagramms die Zeit darstellt und die x-Komponente der Cursor-Anzeige in Einheiten von Sekunden angegeben ist. Bei mir waren die Breiten wie folgt (in Sekunden):
- kurze_verzögerung = 0,00045
- long_delay = 0,00090 (doppelt so lang wie 'short')
- erweiterte_verzögerung = 0,0096
Schritt 4: Einrichten der Sendeeinheit
Nachdem Sie Ihre Codes und Zeitdaten gesammelt haben, können Sie Ihre Empfängereinheit trennen, da Sie sie nicht mehr benötigen. Sie können den Sender dann direkt an die entsprechenden Pi GPIO-Pins anschließen, wie im obigen Bild gezeigt. Ich habe festgestellt, dass die Stifte an den Sendeeinheiten beschriftet sind, was den Vorgang erleichtert.
In diesem Fall ist es in Ordnung, das Gerät über die 5-V-Versorgung vom Pi mit Strom zu versorgen, da der DATA-Pin keine Signale an den Pi sendet, sondern nur empfängt. Außerdem bietet ein 5-V-Netzteil eine größere Übertragungsreichweite als die Verwendung des 3-V3-Netzteils. Auch hier können Sie den DATA-Pin mit einem beliebigen geeigneten Pin auf dem Pi verbinden. Ich habe Pin 23 verwendet (das gleiche wie für den Empfänger).
Eine andere Sache, die ich empfehlen würde, ist, dem kleinen Loch oben rechts am Sender eine Antenne hinzuzufügen. Ich habe ein 17cm langes Stück geraden Draht verwendet. Einige Quellen empfehlen einen gewickelten Draht ähnlicher Länge. Ich bin mir nicht sicher, was besser ist, aber das gerade Kabel bietet genug Reichweite, um die Steckdosen von jedem Ort in meiner kleinen Wohnung aus ein- und auszuschalten. Es ist am besten, die Antenne zu löten, aber ich habe nur etwas Plastik vom Draht entfernt und das Kupfer durch das Loch gewickelt.
Sobald der Sender verkabelt ist, ist das gesamte Hardware-Setup abgeschlossen! Jetzt müssen Sie nur noch Ihre Steckdosen im Haus aufstellen und sich das Senderprogramm ansehen.
Schritt 5: Übertragen von Signalen mit dem Pi
Hier kommt das zweite Python-Skript ins Spiel. Es ist genauso einfach wie das erste, wenn nicht sogar noch einfacher. Laden Sie es erneut herunter und sehen Sie sich den Code an. Sie müssen das Skript bearbeiten, um die richtigen Signale gemäß den in Schritt 3 aufgezeichneten Daten zu übertragen. Jetzt ist also ein guter Zeitpunkt, um einen kurzen Blick darauf zu werfen.
Die zum Ausführen dieses Skripts erforderlichen Bibliotheken waren alle auf meinem Pi vorinstalliert, sodass keine weitere Installation erforderlich war. Sie sind oben im Skript aufgeführt:
Importzeit
import sys import RPi. GPIO als GPIO
Unterhalb der Bibliotheksimporte befinden sich die Informationen, die Sie bearbeiten müssen. So sieht es standardmäßig aus (dies sind die Informationen, die meinen Sockets entsprechen, wie in Schritt 3 bestimmt):
a_on = '11111111111111010101011101'
a_off = '1111111111111010101010111' b_on = '1111111111101110101011101' b_off = '1111111111101110101010111' c_on = '1111111111101011101011101' c_off = '1111111111101011101010111' d_on = '1111111111101010111011101'
Hier haben wir acht Code-Strings (zwei für jedes Paar Ein-/Aus-Tasten auf meinem Mobilteil - Sie können mehr oder weniger Codes haben), gefolgt von den drei Timing-Informationen, die auch in Schritt 3 bestimmt wurden. Nehmen Sie sich die Zeit, um sicherzustellen, dass Sie es haben diese Informationen richtig eingegeben.
Sobald Sie mit den Codes/Verzögerungen, die Sie in das Skript eingegeben haben, zufrieden sind (Sie können die Code-String-Variablen umbenennen, wenn Sie möchten), sind Sie so gut wie bereit, das System auszuprobieren! Sehen Sie sich vorher die Funktion send_code() im Skript an. Hier findet die eigentliche Interaktion mit dem Sender statt. Diese Funktion erwartet, dass einer der Code-Strings als Argument gesendet wird. Es öffnet dann den definierten Pin als GPIO-Ausgang und durchläuft jedes Zeichen im Code-String. Es schaltet dann den Sender entsprechend der von Ihnen eingegebenen Zeitinformationen ein oder aus, um eine Wellenform zu erstellen, die der Codefolge entspricht. Es sendet jeden Code mehrmals (standardmäßig 10), um die Wahrscheinlichkeit zu verringern, dass er verpasst wird, und lässt zwischen jedem Codeblock eine erweiterte_Verzögerung, genau wie beim Mobilteil.
Um das Skript auszuführen, können Sie die folgende Befehlssyntax verwenden:
python TransmitRF.py code_1 code_2 …
Sie können mehrere Code-Strings mit einer einzigen Ausführung des Skripts übertragen. Um beispielsweise die Sockets (a) und (b) ein- und (c) auszuschalten, führen Sie das Skript mit dem folgenden Befehl aus:
python TransmitRF.py a_on b_on c_off
Schritt 6: Ein Hinweis zur Timing-Genauigkeit
Wie erwähnt, ist das Timing zwischen den übertragenen Ein/Aus-Impulsen ziemlich wichtig. Das Skript TransmitRF.py verwendet die time.sleep()-Funktion von Python, um die Wellenformen mit den richtigen Pulsintervallen aufzubauen, aber es sollte beachtet werden, dass diese Funktion nicht ganz genau ist. Die Länge, für die das Skript wartet, bevor die nächste Operation ausgeführt wird, kann von der Prozessorlast zu diesem Zeitpunkt abhängen. Dies ist ein weiterer Grund, warum TransmitRF.py jeden Code mehrmals sendet - nur für den Fall, dass die Funktion time.sleep() eine bestimmte Instanz des Codes nicht richtig erstellen kann.
Ich persönlich hatte nie Probleme mit time.sleep(), wenn es darum ging, die Codes zu senden. Ich weiß jedoch, dass mein time.sleep() dazu neigt, einen Fehler von etwa 0,1 ms zu haben. Ich habe dies mit dem beigefügten SleepTest.py-Skript festgestellt, mit dem Sie abschätzen können, wie genau die time.sleep()-Funktion Ihres Pi ist. Für meine speziellen ferngesteuerten Steckdosen betrug die kürzeste Verzögerung, die ich implementieren musste, 0,45 ms. Wie gesagt, ich hatte keine Probleme mit nicht reagierenden Sockets, daher scheint 0,45 ± 0,1 ms gut genug zu sein.
Es gibt andere Methoden, um sicherzustellen, dass die Verzögerung genauer ist; Sie könnten beispielsweise einen dedizierten PIC-Chip verwenden, um die Codes zu generieren, aber solche Dinge würden den Rahmen dieses Tutorials sprengen.
Schritt 7: Fazit
Dieses Projekt hat eine Methode zur Steuerung jedes elektrischen Geräts mit einem Raspberry Pi und einem Satz ferngesteuerter 433 MHz-Steckdosen vorgestellt, wobei der Schwerpunkt auf Einfachheit und Transparenz liegt. Dies ist das aufregendste und flexibelste Projekt, für das ich meinen Pi verwendet habe, und es gibt unbegrenzte Anwendungen dafür. Hier sind einige Dinge, die ich dank meinem Pi jetzt tun kann:
- Schalte eine halbe Stunde vor meinem Wecker eine elektrische Heizung neben meinem Bett ein.
- Schalte die Heizung eine Stunde nach dem Einschlafen aus.
- Schalte meine Nachttischlampe ein, wenn mein Wecker klingelt, damit ich nicht wieder einschlafe.
- und viele mehr…
Für die meisten dieser Aufgaben verwende ich die crontab-Funktion innerhalb von Linux. Auf diese Weise können Sie automatisch geplante Aufgaben einrichten, um das TransmitRF.py-Skript zu bestimmten Zeiten auszuführen. Sie können auch den Linux-Befehl at verwenden, um einmalige Aufgaben auszuführen (die für mich separat mit 'sudo apt-get install at' installiert werden mussten). Um zum Beispiel meine Heizung eine halbe Stunde vor meinem Wecker am nächsten Morgen einzuschalten, muss ich nur Folgendes eingeben:
um 05:30 Uhr
python TransmitRF.py c_on
Sie können dieses Projekt auch in Verbindung mit meinem Dropbox-Heimüberwachungssystem verwenden, um Geräte über das Internet zu steuern! Danke fürs Lesen, und wenn Sie etwas klarstellen oder Ihre Meinung teilen möchten, schreiben Sie bitte einen Kommentar!
Empfohlen:
Hausautomation: 5 Schritte
Hausautomation: In diesem Projekt haben wir viele Dinge verwendet, um den Prozess des IoT Internet of Things Video für das gesamte Projekt zu verstehen
Hausautomation: 7 Schritte
Home Automation: Verwandeln Sie Ihr Zuhause in ein Smart Home, damit können Sie alle elektronischen Geräte in Ihrem Zuhause mit einer einzigen App steuern. Aber für dieses Projekt habe ich darauf geachtet, nur die gesamte Beleuchtung zu Hause zu steuern. Alles leicht gemacht mit Raspberry Pi 3 und Relais für Kont
Grundlagen der Hausautomation: 6 Schritte (mit Bildern)
Grundlagen der Hausautomation: Hallo zusammen. Dieses anweisbare führt Sie zu den Grundlagen der Hausautomation. Da dies von grundlegender Bedeutung ist, werden wir nur Arduino und einige andere Komponenten verwenden. Geschichte über das Instructable: - Ich lerne immer noch über Arduino p
Drahtlose Kommunikation mit billigen 433MHz-HF-Modulen und Pic-Mikrocontrollern. Teil 2: 4 Schritte (mit Bildern)
Drahtlose Kommunikation mit billigen 433MHz-HF-Modulen und Pic-Mikrocontrollern. Teil 2: Im ersten Teil dieser Anleitung habe ich gezeigt, wie man einen PIC12F1822 mit MPLAB IDE und XC8-Compiler programmiert, um einen einfachen String drahtlos mit billigen TX / RX 433 MHz-Modulen zu senden. Das Empfängermodul wurde über einen USB mit UART TTL verbunden Kabel-Werbung
DIY IoT-Lampe für die Hausautomation -- ESP8266-Tutorial: 13 Schritte (mit Bildern)
DIY IoT-Lampe für die Hausautomation || ESP8266-Tutorial: In diesem Tutorial werden wir eine mit dem Internet verbundene intelligente Lampe erstellen. Dies wird tief in das Internet der Dinge eintauchen und eine Welt der Heimautomatisierung eröffnen! Die Lampe ist über WLAN verbunden und verfügt über ein offenes Nachrichtenprotokoll. Das heißt, Sie können wählen