Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Amazon Dash Button Hacks

Mit-Loggen in einer Log-Datei

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Die einfachste Variante, um das Drücken des Dash Buttons mitzuschreiben ist eine simple Log-Datei, in die Sie mit dem Befehl "date" den aktuellen Tag und die Uhrzeit schreiben.
05:45

Transkript

Jetzt geht es darum, dass wir nicht nur erkennen wollen, dass ein Button gedrückt wurde, sondern ich möchte das Ganze auch in eine Log-Datei mit schreiben, um mir eben den Zeitverlauf anzuschauen. Das mache ich auch mit einem Python Script und das hole ich mir zunächst einmal aus dem Internet mit dem Befehl "wget" und dann gehe ich auf meine Webseite mit http://tomro.se/trainings/ amazondashbutton/logger.txt. Es wird heruntergeladen, mit ls-l können wir uns das Ganze mal anschauen, hier haben wir logger.txt. Das ist ein Python-Programm und da ist es einfach geschickter, wenn wir dieses logger.txt umbenennen in ein logger.py, muss ich nicht unbedingt machen, ist aber ein bisschen, ja, ich nenne es mal hygienischer. So, mit cat logger.py gehen wir mal in dieses Programm rein. Hier sehen wir das, das ist nicht besonders lange. Das hier kennen Sie schon, mit Print Sniff wird hier der Sniffer von Scapy, dass hier oben importiert, wird gestartet und alles weitere passiert dann in dieser Funktion arp_display und dieses arp_display bekommt ein Parameter pkt und dann wird überprüft ob dieses Pkt einen Layer hat, ein dhcp-Layer, also ob sich ein Button angemeldet und per dhcp eine IP-Adresse angefordert hat. Und jetzt kann ich über pkt Ether.src die Hardware-Adresse, die MAC-Adresse dieses Gerätes auslesen und die vergleiche ich einfach mit einem zuvor gespeicherten Wert. Das hier ist bei Ihnen dann natürlich anders, das hier ist mein, ganz individueller, Dash Button den ich hier habe und wenn dieser Dash Button angemeldet ist, dann wird hier zunächst ausgegeben, der Button schwarz wurde gedrückt und dann mache ich hier einen neuen Unterprozess, subprocess.Popen, das heißt, ich möchte den Linux-Befehl "date" ausführen, also einfach nur die Datumsangabe und das Ganze soll dann auf standard_output zwar ausgegeben werden, allerdings wird das Ganze hier geöffnet mit open/pi/logdatei.txt so dass die Ausgabe von "date" in diese Log-Datei geschrieben wird. Schauen wir uns mal diese Ausgabe von Date an, hier unten tippe ich es einfach ein. Diese Zeile hier wird dann einfach in diese Log-Datei geschrieben. Achten Sie darauf hier habe ich einen absoluten Pfad, denn wenn ich dieses Script später per Cronjob starte, dann brauche ich diesen absoluten Pfad. Wenn diese Hardware-Adresse nicht erkannt wird, wenn es da keine gibt, dann wird sie einfach hier ausgegeben. Schauen wir mal uns das Ganze noch mal an, mit sudo python logger.py starte ich das. Das habe ich jetzt zwei verschiedene Dash Buttons, ich drücke mal den Schwarzen. Sie sehen, hier wird Button schwarz angegeben, wenn Sie das noch nicht haben, Ihre MAC-Adresse noch nicht kennen, dann passiert folgendes, ich habe jetzt hier einen anderen Button gedrückt, und dann geht das System hier einfach in diese else-Schleife und gibt einfach diese src-Adresse aus. Und diese Adresse, die nehmen Sie jetzt und tragen sie einfach an dieser Stelle hier ein und dann können Sie selber mit Ihrem eigenen Button arbeiten. Ich habe einmal auf den Button gedrückt, er wird hier aber zweimal ausgegeben und deswegen habe ich hier eine kleine Sperre eingebaut, dass heißt hier wird erst mal geschaut, welche Zeit habe ich momentan, wann war denn die letzte Erkennung eines Buttons und erst wenn es länger als eine Minute her ist, dann wird ein neues Buttondrücken auch als neues Buttondrücken in die Log-Datei geschrieben. Wenn ich in weniger als 60 Sekunden noch einmal auf den Button drauf drücke, dann wird das Ganze einfach ignoriert. Das war's, mit Steuerung C kann ich das Ganze abbrechen und wenn ich jetzt beispielsweise das hier eintragen möchte, den anderen Button hier, dann markiere ich das einfach, drücke auf die rechte Maustaste, dann wird es hier unten zwar noch mal ausgegeben, aber es ist vor allem auch in der Zwischenablage. Mit nano logger.py gehe ich jetzt hier rein und kann mit den Cursortasten einfach hierhin navigieren und dann ganz normal mit der Backspacetaste das hier verändern. Und jetzt drücke ich nochmal auf die rechte Maustaste und dann habe ich per Copy & Paste einfach diesen neuen Hardware-Spring eingefügt. Mit Steuerung O schreibe ich das Ganze, Sie sehen es hier unten, File Name to Write: logger.py. Jawohl, das bestätige ich mit Enter und mit Steuerung X komme ich wieder raus und jetzt habe ich den anderen Button angelernt. Wenn Sie mehrere Buttons haben, dann kopieren Sie einfach diese Zeilen hier und fügen Sie hier direkt drunter mit Elif an, also das ist eine Mischung aus If und Else, e, l, i, f. Elif und dann können Sie verschiedene Buttons hier einbauen. Schauen wir uns noch mal diese logger-Datei an. Da haben wir sie, logdatei.txt, cat logdatei.txt und Sie sehen, hier wurde einmal was hineingeschrieben. Jetzt starte ich das Ganze nochmal, sudo python logger.py, drücke jetzt auf den anderen Button, wurde auch wieder erkannt und jetzt habe ich hier, auch wenn ich den schwarzen drücke, auch nochmal hier eine andere MAC-Adresse, jawohl das passt. Und mit Steuerung C kann ich das Ganze abbrechen und wenn ich jetzt noch mal in die Log-Datei hineinschaue, dann sehen Sie wird für jedes Buttondrücken eine neue Zeile geschrieben.

Amazon Dash Button Hacks

Sehen Sie, wie der Amazon Dash Button und der Minicomputer Raspberry Pi zusammenarbeiten.

52 min (18 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:19.12.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!