Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Richten Sie Ihren Router ein (optional, aber empfohlen)
- Schritt 2: Code
- Schritt 3: Hardware (Beta)
- Schritt 4: Outlook/Referenzen
Video: [15min] Weasley Clock / Who Is Home Indicator - Basierend auf TR-064 (Beta) - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
UPDATE: Siehe Schritt 3.
Lange Geschichte (TL;DR unten): Vor einiger Zeit habe ich ein kleines Bash-Skript auf meinem Computer geschrieben, das das Netzwerk nach registrierten Geräten durchsucht und deren Hostnamen mit einer Liste mit zugehörigen Namen vergleicht. Jedes Mal, wenn sich ein Gerät im Netzwerk an- oder abmeldet, bekomme ich eine Benachrichtigung. Auf diese Weise hätte ich eine Idee, wer zu Hause ist (es ist nicht nur manchmal schön zu wissen, wer zu Hause ist, um ihn zu fragen, ob er an einer Mahlzeit oder ähnlichem teilnehmen möchte, sondern es kann Ihnen auch möglicherweise helfen, unangenehme Situationen zu vermeiden). Das Problem ist, dass diese Methode nicht sehr zuverlässig ist. Leider antworten einige Geräte nicht auf Pings (z. B. Smartphones) und scheinen in einen Energiesparmodus zu gehen, sind also mit Befehlen wie nmap nicht zuverlässig erkennbar. Ich habe versucht, dies zu überwinden, indem ich mindestens 10 Negative benötigte, bevor ich schließlich ankündigte, dass das Gerät das Netzwerk verlassen hat. Alles in allem hat es funktioniert, aber langsam, unzuverlässig und nicht sehr schön. Außerdem wollte ich überprüfen können, wer zu Hause ist, ohne meinen Computer zu öffnen. Also hatte ich diese ESP8266s herumliegen - und wollte damit spielen. Aber ich wollte nicht die 10.120.124.812. ESP-basierte Wetterstation oder so bauen (warum willst du das Wetter mit deinem beschissenen ±2°C-Thermometer überwachen, wenn du sowieso nur eine Website besuchen kannst?). Der Plan war also gemacht. Leider stellt sich heraus, dass der ESP anscheinend nicht dafür ausgestattet ist, richtig zu pingen (was anfangs schlecht war, erinnern Sie sich?), geschweige denn einen vollständigen Netzwerkscan durchführen. Ich habe überlegt, dafür eine Bibliothek zu schreiben - aber da mein C++ sehr begrenzt ist, ist dies mein erstes ESP-Projekt und ich bin auch kein Genie mit Netzwerkkram Router (Marke Fritz!Box) hat tatsächlich eine API! YAY!!!! Das Protokoll heißt TR-064. So ein inspirierender Name, oder? Als ich etwas recherchierte, fand ich online eine (ziemlich beschissene) Dokumentation. Ich habe einige Zeit gebraucht, um es herauszufinden. Ich könnte in den nächsten Tagen eine praktischere Anleitung veröffentlichen (und wie man mit dieser API mit einem Browser-Add-On kommuniziert / testet). Nachdem ich die API verstanden hatte, begann ich, sie von meinem ESP aus zu verwenden. Lange Rede, kurzer Sinn: Ich habe eine Duck-Tape-and-wd40-Lösung laufen und tun, was ich wollte (die API für angeschlossene Geräte abfragen, sie mit einer Liste von MAC-Adressen vergleichen und die LEDs entsprechend schalten). Aber ich wollte eine robustere und flexible Lösung und diese API hat so viel mehr zu bieten (Sie können Einstellungen ändern (WLAN ein-/ausschalten, Passwort ändern, Gast-WLAN öffnen/schließen, Signalstärke ändern), Router neu starten, Verbindungsgeschwindigkeit abfragen, …) - also habe ich mich entschlossen eine universelle TR-064 Bibliothek zu erstellen!TL;DR;Gerät, das über LEDs anzeigt, wer gerade zu Hause ist. Funktioniert super, hat noch kein tolles Gehäuse (hey - die Beta im Titel bemerkt?). Verwendet das SOAP-Protokoll, um mit dem Router zu kommunizieren. Schrieb Arduino-Bibliothek, um dies zu ermöglichen. Erforderliche Kenntnisse • Grundlegende Arduino / ESP-Kenntnisse • Wenn Sie ein Blink-Beispiel mit Ihrem ESP zusammengebaut haben, wird es Ihnen gut gehen! • Wenn nicht, können Sie den ersten beiden Schritten dieses instructable folgen • Löten könnte Kommen Sie als praktisch, wenn Sie die Breadboard-Bühne verlassen möchten• Einige 3D-Designs und / oder Holzbearbeitungen könnten sich für ein Gehäuse als nützlich erweisenGithub-Projektlink [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] zum schnellen Nachschlagen.
Lieferungen
- ESP8266 oder ESP32 auf Development-Board oder mit anderem Programmierer (2~6€)
- USB-Kabel passend zum Programmiergerät
- Netzteil (z. B. USB oder Akku ~2€)
- Ein paar LEDs und Widerstände (~1€)
- (Gehäuse)
=> Etwa 4-6€ für ein minimalistisches Design. Das bedeutet für mich, dass ich problemlos ein paar im Haus aufhängen kann. Wenn Sie faul sind, können Sie auch ein Entwicklungsboard mit mitgelieferten LEDs verwenden (siehe Schritt 4 für weitere Details).
Schritt 1: Richten Sie Ihren Router ein (optional, aber empfohlen)
Das Protokoll wurde als allgemeines Protokoll für Router entwickelt, aber ich weiß nur, dass (die meisten) Fritz!Box-Router (zumindest in Europa sehr verbreitet) es verwenden. Kenne keine anderen Marken. Ich gehe also davon aus, dass Sie eine Fritz!Box verwenden. Wenn Sie dies auf einem anderen Router zum Laufen bringen (oder dies nicht tun können), würde ich es gerne zu diesem instructable hinzufügen (vielleicht sogar eine kurze Kompatibilitätsliste starten?).
Dieser Schritt ist nicht notwendig, Sie könnten auch einfach Ihr Admin-Konto verwenden, aber das ist aus offensichtlichen Gründen nicht ratsam (könnte abgefangen oder aus Ihrem ESP extrahiert werden, Sie könnten versehentlich Dinge ändern, die Sie nicht möchten, …) - also ich raten Ihnen, es zu tun.
Egal, los gehts:
- Melden Sie sich bei Ihrer Fritz!Box an, indem Sie fritz.box in die URL-Leiste Ihres bevorzugten Browsers eingeben.
- Suchen Sie die Seite zum Anlegen eines neuen FRITZ!Box-Benutzers (diese muss unter System erweitert sein, wenn Sie sie nicht finden, versuchen Sie, Ihr Gerät zu aktualisieren).
- Erstellen Sie ein neues Konto, wie Sie es im Bild sehen (mit einem anderen Benutzernamen/Passwort!).
- Ausloggen.
Schritt 2: Code
-
Sie können die Bibliothek von Github beziehen.
- In den Beispielen finden Sie eine Datei namens home-indicator.ino, die den Code für dieses Projekt darstellt. Legen Sie den Beispielordner in den Home-Ordner Ihres Arduino-IDE-Projekts und den anderen Ordner in den Bibliotheken-Ordner im gleichen Projekt-Home-Ordner.
- (Neu)Starten Sie Ihre IDE.
- Öffnen Sie home-indicator.ino in der IDE und geben Sie Ihre Einstellungen ein. Es sollte klar sein, was wohin gehört. Wenn Sie Fragen haben, lassen Sie es mich wissen!
- Jetzt können Sie es kompilieren und auf Ihr ESP übertragen!
Schritt 3: Hardware (Beta)
Ja… Dies ist der Schritt, an dem ich noch etwas arbeiten muss. Aber ich denke, es gibt genug Material im Web, um etwas herauszufinden:) Das Setup wie auf den Bildern ist nur eine Diode mit einem ~ 100 Ohm Widerstand, der mit dem GPIO {5, 4, 0, 2} verdrahtet ist, das sind die D1, D2, D3, D4 (in dieser Reihenfolge) Pins meiner MCU ESP8266-Platine und das kleine orangefarbene Kabel, das die Kathoden zu GND führt (auf meiner Platine mit G gekennzeichnet). Wenn Sie faul sind, können Sie tun, was Sie im zweiten Bild sehen. Verwenden Sie einfach ein Entwicklungsboard mit mitgelieferten LEDs (wie das "ESP-202", siehe Bilder - ca. 3,50-5,00€ inkl. Versand). Sie können es dann einfach an USB-Strom anschließen oder den mitgelieferten Akku verwenden, eine Schnittstelle auf ein Blatt Papier zeichnen und an die Wand kleben. Fertig. Für dieses spezielle Board sind die Ports:
int userPins[numUser] = {5, 4, 2, 14, 16};
von oben nach unten.
Schritt 4: Outlook/Referenzen
Das habe ich noch vor: 1. Ein schönes Gehäuse machen (offensichtlich) 2. Eine schöne GUI zum Verwalten von Benutzern/LEDs/MACs/bekannten Geräten hinzufügen 3. Die Bibliothek verbessern (siehe dazu Github) 4. Fix: manchmal die LEDs reagieren träge (es dauert eine Weile, bis sie sich ausschalten, nachdem ein Gerät verlassen wurde) ohne ersichtlichen Grund 5. Schließen Sie das Ding im Flur und vielleicht noch ein paar mehr im Haus an Würde gerne ein paar Inputs von euch bekommen! Und wie immer macht es mich wirklich glücklich zu sehen, wie andere Scheiße bauen, die du dir ausgedacht hast, also nimm dir bitte die Minute, um zu kommentieren und Bilder zu posten!:):)Einige weitere ReferenzenIch werde hier einige Dinge verlinken, die dir helfen könnten: • TR-064-Referenz • Ein Typ, der mit der Shell und TR-064 herumspielt (gut, um die API zu verstehen) • Harry Potter Wikipedia: Weasley Clock-Eintrag • Einige Leute bauen eine schöne, aber komplizierte Weasly Clock*_* Sie basiert auf einer App für dein Handy, die deinen Standort erfasst. Wenn Sie sich in bestimmten vordefinierten Bereichen befinden, leuchtet das entsprechende Licht der Uhr auf. Für mich war das zu kompliziert und hatte zu viele Stellen, an denen es kaputt gehen konnte: • Apps müssen auf dem neuesten Stand gehalten werden • Jeder muss diese Apps benutzen • Und mit den Auswirkungen auf die Privatsphäre in Ordnung sein • Die App funktioniert nur mit Internet Verbindung • Sie müssen einen Zwischenserver für die Kommunikation verwenden (es sei denn, Sie möchten Ihren esp als Server einrichten und Ihr Heimnetzwerk für den Außenverkehr öffnen - yay, noch ein unsicheres IOT-Gerät, das direkt mit dem Internet verbunden ist!) • Die Zwischendienst könnte eines Tages offline gehen/seine API ändern, • …Sie benötigen mehr Software. Mehr Software bedeutet mehr Orte, an denen Fehler gemacht werden können;) Aber sie haben einen tollen Job gemacht und wenn Sie so etwas tun möchten, besuchen Sie ihre Website, sie ist wirklich großartig!
Empfohlen:
‘Runde’ Word Clock (auf Niederländisch & Englisch!): 8 Schritte (mit Bildern)
‘Runde’ Word Clock (auf Niederländisch & Englisch!): Vor einigen Jahren habe ich zum ersten Mal eine Word Clock im Internet gesehen. Seitdem wollte ich immer selbst einen machen. Es gibt viele Instructables, aber ich wollte etwas Originelles machen. Ich weiß nicht viel über Elektronik, also habe ich ein
So kopieren Sie Spielstände auf einfache Weise auf eine Microsoft- oder Drittanbieter-MU.: 9 Schritte
So kopieren Sie Spielstände einfach auf eine Microsoft- oder Drittanbieter-MU.: Original-Tutorial HIER CD, die es einfach macht, genau das zu tun. Dies ist kein vollständiges Softmod-Tutorial, dies
Wie zeichne ich einen Computerbildschirm auf einem Mac auf?: 7 Schritte
Wie zeichne ich den Computerbildschirm auf dem Mac auf?: Wie zeichne ich den Bildschirm auf dem Mac auf? Wollten Sie schon immer etwas aufzeichnen, was auf Ihrem Computer oder Telefon passiert? Vielleicht sehen Sie sich ein Video an und möchten einen Clip aufnehmen; Vielleicht versuchst du jemandem zu zeigen, wie man etwas macht, und ein Video würde es schaffen
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: 6 Schritte
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: Kurze Version meiner Geschichte: Ich habe eine Kamera gekauft, sie kam mit einem Bündel an Zubehör, darunter ein Samsonite 1100 Stativ. Ich habe ein Einbeinstativ. Ich möchte sehr bald Fotos mit einem Schwenkkopf auf dem Einbeinstativ machen und hatte keine 40 $, um ein L
Laden Sie die Windows 7 Ultimate Beta-Testversion kostenlos herunter: 7 Schritte
Laden Sie die Windows 7 Ultimate Beta-Testversion kostenlos herunter: Hallo und danke, dass Sie die Zeit haben, diese Anleitung zu lesen. Nachdem Sie dies gelesen haben, können Sie gerne Kommentare hinterlassen. Bei Fragen zu Computern bitte eine private Nachricht an mich. Ok, lassen Sie mich jetzt auf den Punkt kommen