Inhaltsverzeichnis:
- Schritt 1: Wie es funktioniert
- Schritt 2: Das Zeug, das Sie brauchen
- Schritt 3: Demontage und Modifikation
- Schritt 4: Elektrische Details und Montage
- Schritt 5: Imp-Firmware, Agentencode und Blinken
- Schritt 6: IPhone HTML/Javascript-Code
- Schritt 7: Es funktioniert
Video: Unpowered Steckdosen - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Diese Anleitung zeigt Ihnen, wie Sie ein handelsübliches Netzteil hacken, um ein internetfähiges Netzteil mit dem Electric Imp herzustellen. Auf diese Weise können Sie jedes netzbetriebene Gerät über ein Smartphone oder einen Webbrowser fernsteuern. Meine Garagenbeleuchtung "wie gebaut" ist schlecht. Sie können das verfügbare Licht verwenden, um große Objekte wie Ihr Auto zu finden, aber vergessen Sie die Schraube, die Sie gerade fallengelassen haben. Um das Beleuchtungsproblem zu beheben, kaufte ich zwei 4-Fuß-Leuchtstofflampen mit 4 Röhren, die über meinem Arbeitsbereich hängen. Da der Stecker in der Decke ungefähr 12 Fuß hoch ist, brauchte ich eine Möglichkeit, die Lichter aus der Ferne ein- und auszuschalten. Ich fand eine ferngesteuerte Stanley-Steckdose in einem lokalen Geschäft und war fertig, dachte ich zumindest. Die erste Stanley-Fernbedienung fiel am ersten Tag aus. Das Ersatzgerät fiel nach ein paar Tagen aus. Das dritte Ersatzgerät fiel ein paar Monate später aus. Ich habe es nie geschafft, es zurück in den Laden zu bringen - ich habe Zugschnüre für die Ladenbeleuchtung als temporäre halbferne Lösung der alten Schule installiert. Was ich brauchte, war ein WeMo oder ein ähnliches Gerät. Eine perfekte Lösung für meine Bedürfnisse, wenn auch vielleicht ein wenig übertrieben. Aber dann hat es mich erwischt. Höchstwahrscheinlich ist der Fehlerpunkt beim Stanley-Gerät die HF-Schaltung, die das Schalten des Wechselstroms steuert. Wenn ich diese Schaltung durch einen Electric Imp ersetzen würde, müsste ich mich nicht mit dem AC-Schaltungsdesign herumschlagen, das bereits aus Sicherheitsgründen von UL zugelassen ist, und hätte obendrein ein gut verarbeitetes Gehäuse. Ich schnappte mir einen Kreuzschlitzschraubendreher und öffnete die Stanley-Einheit. Die Innenseiten schienen PERFEKT für eine Nachrüstung von Electric Imp (https://www.electricimp.com) mit minimalem Aufwand zu sein … oder so dachte ich. Meine Ladenbeleuchtung wurde in die Internet-Cloud geleitet. Leider stieß der Plan, die HF-Schaltung durch einen Elektro-Imp zu ersetzen, auf eine große Hürde, da die Gleichstromversorgung der Stanley-Steckdosenleiste nicht genug Strom liefern kann, um den Elektro-Imp mit Strom zu versorgen. Der Kobold benötigt etwa 400 mA für die WLAN-Übertragung, daher stellte sich heraus, dass der Hack invasiver war, als ich beabsichtigt hatte, und umfasste einen Kobold, ein Handy-Ladegerät und eine Relaisplatine, die in das Stanley-Gehäuse gesteckt wurden. Da die Weihnachtszeit gleich um die Ecke ist, ist dies ermöglicht es Ihnen, Ihr Lichtdisplay von überall aus zu steuern, wo immer Sie und Ihr Smartphone gerade sind, auch wenn es nur von der Couch aus ist, um den nächtlichen Ausflug in Ihren verschneiten Garten zu vermeiden…. Denken Sie dabei nur an die Abdichtung, damit Sie nicht unbeabsichtigt eine elektrische Gefahr darstellen. Die Stanley-Einheit, die ich verwendet habe, ist immer noch auf verschiedenen Internetseiten verfügbar. Wenn Sie also ein grundlegendes WeMo'ish-ähnliches Gerät mit vollständigem Zugriff auf den Quellcode und die Elektronik wünschen, die Sie perfekt hacken können, bringt Sie dieses Instructable dorthin.
Schritt 1: Wie es funktioniert
Der Electric Imp ist das Herzstück des Systembetriebs. Wenn die Schaltfläche in der Web-App aktiviert ist, wird eine AJAX-HTTP-Anfrage an eine für Ihren Imp-spezifische URL gesendet. Diese Anfrage wird an den Imp-Agenten in der Electric Imp-Cloud gesendet, der speziell mit Ihrem Electric Imp verknüpft ist. Der Agentencode ist ein Mini-Webserver, der die Anfrage analysiert und, falls gültig, über die Cloud an Ihre Imp-Firmware weiterleitet. Diese Kommunikation hinter den Kulissen zwischen dem serverbasierten Agenten und der hardwarebasierten Firmware wurde von den talentierten Leuten bei Electric Imp entwickelt. Die Imp-Firmware empfängt die Nachricht vom Cloud-basierten Agenten und stellt den Relaisausgang entsprechend ein. Auf diese Weise können Sie die Stanley-Steckdosen mit minimalem Software- und Firmware-Entwicklungsaufwand durch Drücken der Taste auf Ihrem SmartPhone oder Webbrowser ein- oder ausschalten. Schön!
Schritt 2: Das Zeug, das Sie brauchen
Es gibt viele Variationen von ferngesteuerten Wechselstromschaltern. Diese sind während der Weihnachtsferien im Dezember in den USA sehr beliebt. Höchstwahrscheinlich kann jeder von ihnen auf ähnliche Weise gehackt werden. Dies ist die Teile- und Werkzeugliste für die von mir verwendete Stanley-Einheit. Teile
- Stanley Remote Powered Outlet. Das Gerät, das ich verwendet habe, ist immer noch für etwa 16 US-Dollar bei 1000Bulbs.com erhältlich. Ich mag die Bequemlichkeit, 3 Steckdosen zu haben
- Elektrischer Wichtel
- Elektroimp-Trägerplatine
- SainSmart 2-Kanal-Relaisplatine. Hat Opto-Isolator-Eingänge. Ich habe dieses Board für ein anderes Projekt gekauft. Zu diesem Zeitpunkt (August 2013) wurde es mit Amazon Prime unter 5 US-Dollar geliefert. Der aktuelle Preis beträgt $9
- 1 x 4-poliger Molex-Anschluss. Ich habe meine bei Jameco.com gekauft
- 1 x 3-poliger Molex-Anschluss. jameco.com
- 5 x Steckverbinderkontakte für Steckverbinder der Molex KK-Serie. jameco.com
- Thermistor - 10K https://www.sparkfun.com/products/250 (Optional - ich muss noch den Code dafür schreiben)
- iPhone USB-Ladegerät zur Stromversorgung des Kobolds - Amazon hat die besten Preise
- USB-Kabel, das verstümmelt wird, um den Imp mit Strom zu versorgen. Wenn Sie eines mit einem kleinen Steckerende erhalten (wie das mit dem iPhone gelieferte, können Sie den Schritt der Steckerverstümmelung vermeiden!)
Werkzeuge und Zubehör
- Kreuzschlitzschraubendreher zum Zerlegen der Stanley-Einheit. Unnötig zu erwähnen, dass Ihre Garantie erlischt, sobald Sie dies tun
- Lötkolben und Lötzinn - Radioshack hat eine Vielfalt
- 24- oder 26- oder 28-Gauge-Anschlusskabel für den Anschluss des elektrischen I/O-I/O an das Relais. Radioshack hat verschiedene Farben von 24 Gauge verfügbar
- Scharfes Universalmesser
- Kleine Elektrowerkzeuge (Drahtschneider, Abisolierzange usw.)
- Kleine Bohrer (1/16") und Bohrer zum Herstellen des Imp-Slots in der Seite der Stanley-Einheit. Alternativ ein Dremel-Werkzeug mit entsprechendem Schneideinsatz.
- Heißklebepistole und Klebesticks zur Montage des Elektroimp und des Relais im Gehäuse. Ich habe den hochfesten Typ verwendet..
Denken Sie daran, dass Ihre Garantie erlischt, sobald Sie den Stanley Remote AC Outlet-Schalter öffnen. Stellen Sie außerdem sicher, dass Sie mit geeigneten Sicherheitsverfahren für netzbetriebene Geräte arbeiten. Trennen Sie das Stanley-Gerät vom Netz, bevor Sie daran arbeiten. Wenn es nicht angeschlossen ist, können Sie sicher daran arbeiten, ohne befürchten zu müssen, dass Sie sich versehentlich selbst schocken. Wenn Sie versuchen, am Gerät zu arbeiten, während es eingesteckt ist, reichen die Spannungen (115 VAC) im Inneren des Stanley-Geräts aus, um Sie zu töten. Arbeiten Sie niemals an den Innenteilen des Stanley-Geräts, wenn die Abdeckung entfernt und das Gerät eingesteckt ist. Gehen Sie auf Nummer sicher. Verwenden Sie für Werkzeuge die üblichen Sicherheitsverfahren für Heimwerker und tragen Sie immer eine Schutzbrille.
Schritt 3: Demontage und Modifikation
Das Stanley-Gerät wird geöffnet, indem die 5 Schrauben auf der Rückseite mit einem kleinen Kreuzschlitzschraubendreher entfernt werden. Eine der Schrauben kann unter einem Aufkleber versteckt sein. Sobald alle 5 Schrauben herausgezogen sind, lösen Sie die beiden Hälften vorsichtig auseinander. Entfernen Sie die Fernbedienungsplatine und entsorgen Sie sie. Wir werden es nicht mehr verwenden. Hier wird der Imp installiert. Am unteren Kunststoffgehäuse, an dem die ursprüngliche HF-Platine montiert wurde, sind 2 große Kunststoffvorsprünge angeformt. Diese Vorsprünge können mit einem Seitenschneider abgeschnitten und mit einem Dremel-Werkzeug weiter geglättet werden. Die Imp- und Relaisplatinen werden auf die Basis geklebt. Das Entfernen der Vorsprünge ist erforderlich, damit die Relaisplatine tief genug montiert wird, um die obere Abdeckung freizugeben, wenn die Stanley-Einheit wieder zusammengebaut wird. Entfernen Sie die Hauptplatine aus der Schale. Schneiden Sie mit einem Dremel-Werkzeug mit einer Trennscheibe vorsichtig um den vorhandenen Stromkreis herum, so dass Sie nur den AC-Teil der Platine wie in den Bildern gezeigt übrig lassen. Das Schneiden der Platine ist notwendig, um Platz für die neuen Relais zu schaffen, die die Ausgänge ein- und ausschalten. Sie möchten die Hauptstromschienen, die die Steckdosen unterstützen, verlassen. Um einen Steckplatz für die Elektroimp-Karte bereitzustellen, muss ein Steckplatz in der Seite des Gehäuses hergestellt werden. Ursprünglich hatte ich beabsichtigt, den eingebauten Regler der Stanley-Einheit zu verwenden, um den Kobold mit Strom zu versorgen. Als sich dies als unzureichende Leistung herausstellte, musste ich den Steckplatz auf die gegenüberliegende Seite des unteren Gehäuses verlegen. Um den Schlitz zu machen, bohren Sie eine Reihe von 1/16 Löchern in ungefähr einer geraden Linie und verwenden Sie dann eine kleine Feile, um den Schlitz zu quadrieren. Machen Sie Ihren Schlitz nicht dort, wo diese Bilder zeigen ….. schauen Sie sich die letzten Bilder an im letzten Schritt, um zu sehen, wohin der Slot gehen soll!
Schritt 4: Elektrische Details und Montage
Das ursprüngliche Relais in der Stanley-Einheit war mit einem 250VAC/10A-Relais ausgestattet, das zum Schalten eine 12-V-Spulenspannung benötigte. Schwer zu betätigen von einem 5V-Stromkreis, daher wurde es durch ein Doppelrelaismodul ersetzt. Bitte stellen Sie sicher, dass die Stanley-Einheit nicht eingesteckt ist, bevor Sie mit der Arbeit beginnen. Die von mir verwendete Relaisplatine hat zwei 10A-Relais, die mit einer 5V-Spulenspannung schalten. Um eine 15A-Belastung der gehackten Einheit zu gewährleisten, habe ich die Relais parallel verwendet, um eine Belastbarkeit von 20A bereitzustellen. Dies bietet einen angemessenen Sicherheitsfaktor für ein Netzteil, das an einen standardmäßigen 15-A-Schutzschalter-geschützten Hausverkabelungskreis angeschlossen ist. Wenn Sie ein Relais mit höherem Strom verwenden, können Sie die Steckdosen einzeln schalten. Wenn die Steckdosenleiste für 15 A ausgelegt ist, muss jede der Steckdosen für den Betrieb mit 15 A sicher sein. Indem Sie die für diese Anleitung angegebenen Relais parallel verdrahten, können Sie sicherstellen, dass jede einzelne Steckdose oder alle 3 Steckdosen zusammen 15A sicher ziehen können. Mehr Last als diese und der Schutzschalter in Ihrer Hausverkabelung wird ausgelöst, um den Stromkreis zu schützen. Die Stromversorgung der Elektronik erfolgt über ein iPhone USB-Ladegerät. Ich hatte einen Ersatz, den ich gebrauchen konnte. Sie sind günstig und bei Amazon und ebay erhältlich. Es ist billiger, das Ladegerät mit USB-Kabel zu kaufen, als die Komponenten zu kaufen, um ein eigenes Netzteil zu bauen. Der iPhone-Formfaktor funktioniert gut im begrenzten Innenraum des Stanley-Geräts. Verwenden Sie Flachstecker zum direkten Anschluss an die AC-Klemmen des Ladegeräts. Verwenden Sie einen Schrumpfschlauch, um die freiliegenden Teile der AC-Klemmen abzudecken, um einen versehentlichen Kontakt zu vermeiden. Das USB-Kabel, das ich in meiner Projektbox gefunden habe, hatte einen sperrigen geformten Stecker. Mit einem scharfen Messer wurden die Kunststoffformteile entfernt. Die roten und schwarzen Drähte des USB-Kabels wurden durch 26-Gauge-Draht ersetzt, um mehr mechanische Robustheit zu gewährleisten, und dann wurde der Stecker weiter mit Schrumpfschlauch geschützt, wie in den Bildern zu sehen. Ursprünglich hatte ich vor, die Relais unabhängig voneinander zu schalten, damit ich mindestens 2 Steckdosen unabhängig voneinander steuern konnte. So war die Schaltung ursprünglich verdrahtet. Nachdem ich die Strombelastbarkeit der Relais untersucht hatte, entschied ich mich für die Parallelschaltung der Relaisausgänge. Die Verbindung zwischen dem Imp und der Relaisplatine hat zwei Imp-Pins, die jedes Relais steuern. In Wirklichkeit können Sie nur einen Imp-Pin an beide Relaiseingänge anschließen. Die Firmware schaltet beide Pins zusammen, so dass beide Wege in Ordnung sind. Der AC-Neutralleiter und die AC-Erdung sind bereits an die Steckdosen angeschlossen. Lassen Sie alles so angeschlossen, wie es ab Werk kommt. Der einzige Draht, der geändert werden muss, ist der AC-Live-Draht (schwarzer Draht). Dieser Draht muss gekreuzt oder verzweigt werden, damit Sie einen stromführenden Drahteingang zu jedem Relais haben, wie im Schaltplan gezeigt. Schützen Sie die Verbindung mit Schrumpfschlauch. Für diese Verzweigung habe ich ein kleines Stück 16AWG-Draht verwendet. 16 AWG mehradriges Kabel kann normalerweise 22 Ampere tragen, wenn es für die Chassisverkabelung auf Kurzstrecken verwendet wird. Die Relaisausgänge werden wie im Bild gezeigt auf die Unterseite der AC-Platine gelötet. Wenn alle Verbindungen hergestellt sind, drücken Sie alles wie abgebildet in das Gehäuse und kleben Sie die Relais- und Schaltplatinen mit Heißkleber auf den Gehäuseboden.
Schritt 5: Imp-Firmware, Agentencode und Blinken
Damit Ihr Kobold funktioniert, muss er sich mit Ihrem drahtlosen Netzwerk verbinden. Electric Imp bietet ein Tool, das die Konfiguration optisch vornimmt. Der Prozess heißt BlinkUp und wird hier beschrieben https://electricimp.com/docs/gettingstarted/1-blinkup/ Sobald das BlinkUp abgeschlossen ist, wird Ihr imp in Ihrer IDE unter Neue Geräte angezeigt. Wenn Sie noch nie einen Electric Imp verwendet haben, empfehle ich Ihnen, zuerst das Hello World-Beispiel auf der Electric Imp-Site auszuprobieren, um den Dreh raus zu bekommen. Es gibt auch eine großartige Anleitung für den Imp auf Instructables, die von @beardedinventor geschrieben wurde: https://www.instructables.com/id/Getting-Started-with-Electric-Imp/ Die Firmware für den Imp ist diesem Schritt als ImpoweredImp beigefügt.nut Der Code für den Agenten ist als ImpoweredAgent.nut angehängt. Interaktion zwischen Firmware und Agentencode Ihr Agent hat eine spezifische URL. Wenn eine HTTP-Nachricht an diese URL gesendet wird, überprüft Ihr in der Imp-Cloud ausgeführter Agentencode die Gültigkeit der Anfrage, indem er den eingehenden API-Schlüssel (jeder von Ihnen erstellte Schlüssel - mehr Bits erschweren das Erraten) mit dem gespeicherten API-Schlüssel vergleicht in Erinnerung an den Agenten (API Key Idee von https://forums.electricimp.com/discussion/comment/8281#Comment_8281). Wenn der Schlüssel übereinstimmt, wird die Nachricht überprüft, um festzustellen, ob ein buttonPress-Ereignis oder eine Statusanforderung im HTTP-Anforderungspaket übergeben wird. Wenn es sich bei der HTTP-Anforderung um den Status handelt, gibt der Agentencode den Ein/Aus-Status der Wechselstromsteckdosen zurück. Der Status wird von der Imp-Firmware asynchron aktualisiert, wenn die Ausgangspins den Zustand ändern. Wenn in der HTTP-Anforderung ein buttonPress-Ereignis übergeben wird, wird dieses Ereignis über den sicheren Kommunikationskanal zwischen dem Imp und dem serverbasierten Agenten an die Imp-Firmware übergeben. Der Kobold "empfangt" dieses Ereignis durch die Funktion agent.on("buttonPressed", function(value). Jedes Mal, wenn ein Tastendruckereignis vom Kobold empfangen wird, wird der Ausgangszustand von Pin1 und 7 umgeschaltet, wodurch die Relais eingeschaltet oder Aus abhängig vom vorherigen Zustand Die Statusvariable wird über den Kommunikationskanal Agent-Imp an den Agenten zurückgesendet und vom Agenten in der Funktion device.on empfangen.
Schritt 6: IPhone HTML/Javascript-Code
Die Client-App ist eine reine HTML/Javascript-App. Als Schaltfläche wird ein einfaches Bild verwendet. Wenn das Bild gedrückt wird, wird die Schaltfläche animiert, um die vom Gerät ausgehenden WLAN-Pakete anzuzeigen. Die Kommunikation mit dem Electric Imp erfolgt durch Senden einer Nachricht an die URL des Agenten, die für Ihren speziellen Imp spezifisch ist. In der HTML-App erstellen wir ein XMLHttpRequest-Objekt und posten dann das Schaltflächendruckereignis in einem formatierten JSON-Paket an die Agent-URL. xmlhttp.open("POST", "https://agent.electricimp.com/YourURL?timestamp=" + new Date().getTime(), true); xmlhttp.setRequestHeader("Inhaltstyp", "Anwendung/x-www-form-urlencoded"); xmlhttp.setRequestHeader("x-apikey", "Ihr API-Schlüssel"); var impRequest = { "request": "buttonPressed", "button": button.id }; xmlhttp.send(JSON.stringify(impRequest)); Um den Status der Steckdosen abzufragen, wird der Agent abgefragt xmlhttp.open("POST", "https://agent.electricimp.com/YourURL?timestamp=" + new Date().getTime(), true); xmlhttp.setRequestHeader("x-apikey", "Ihr API-Schlüssel"); xmlhttp.setRequestHeader("Inhaltstyp", "Anwendung/x-www-form-urlencoded"); var impRequest = { "request": "GetStatus" }; xmlhttp.send(JSON.stringify(impRequest)); Damit die HTML-Seite als native App auf Ihrem iPhone angezeigt wird, müssen Sie sie von einer Website laden und dann Ihrem Startbildschirm hinzufügen. Der Prozess ist in meinem vorherigen instructable hier beschrieben: https://www.instructables.com/id/Electric-Imp-Garage-Door-Opener/step10/Configuring-IIS-Express-And-Loading-The-App-onto- y/ Die iPhone-Dateien sind an diesen Schritt angehängt
Schritt 7: Es funktioniert
Nach all dem Bauen, Konfigurieren und vielleicht sogar ein wenig Fluchen sollten Sie ein WeMo'ish-Gerät haben, das Sie von Ihrem iPhone/Smartphone/Webbrowser von überall aus steuern können. Es gibt viele Verwendungszwecke für eine internetfähige Steckdose, die Ihr Zuhause so viel intelligenter macht.
- Fernbedienung Ihrer internen Geräte wie Lampen, Hi-Fi, Fernseher usw. Sie können die Software erweitern und mehrere Geräte erstellen, um die Beleuchtung Ihres Hauses so zu steuern, dass die Leute denken, dass das Haus während Ihrer Abwesenheit besetzt ist. Sie können Ihren Fernseher ein- und ausschalten, um die Illusion zu verstärken. Sie können die Firmware und die Smartphone-Software verbessern, um jedes Gerät so zu programmieren, dass es nach einem anderen Ein- / Ausschaltplan läuft, um die zufällige Natur realer Personen in Ihrem Haus zu simulieren, um die Illusion aus Sicherheitsgründen zu vervollständigen, wenn Sie nicht da sind.
- Sie können eine Fernbedienung für schwer zugängliche Steckdosen hinzufügen…. meine Garagenbeleuchtung zum Beispiel!
- Sie können den Status Ihrer Filialen sehen, um die Fragen zu beantworten, die immer auftauchen, wenn Sie bereits viele Kilometer weit weg von zu Hause sind, wie "Schatz, hast du das Bügeleisen gedreht, Haar-Hot-Stick, Aquariumfilter, Poolfilter, Lichttimer" ein / aus, je nach Art des jeweiligen Geräts.
- Fügen Sie einen Bewegungssensor hinzu, um die Dinge automatisch ein- und auszuschalten, wenn eine Bewegung erkannt wird.
- Fügen Sie einen Thermistor oder einen anderen Temperatursensor hinzu, um die Raumtemperatur zu überwachen.
- Finden Sie heraus, wie Sie eine Verbindung zu IFTTT.com herstellen, damit Sie beispielsweise E-Mails, FB-Nachrichten oder Tweets senden können, um Ihre Steckdose ein- / auszuschalten
- Bitte kommentieren Sie unten und ich werde Ihre Ideen zu dieser Liste hinzufügen!
Wenn Sie eine erstellen, fügen Sie bitte den Kommentaren hinzu und teilen Sie mir alle zusätzlichen Funktionen mit, die Sie hinzugefügt haben, oder alternative Steckdosengeräte, die Sie gehackt haben, um das gleiche Ziel zu erreichen. Außerdem, wenn Sie herausfinden, wie man dieses Ding IFTTT macht, möchte ich auch wissen, wie! Danke schön!
Zweiter Preis beim Hardware-Hacking
Zweiter Preis beim Microcontroller Contest