Sie haben dieses Werbevideo über Schaltflächen für die Bestellung von Waren bei amazon wahrscheinlich bereits gesehen und wollten wahrscheinlich auch etwas automatisieren.Unter der Katze der Fall der Verwendung von Amazon Dash Button in der russischen Realität und seine Implementierung auf NodeJS.EinleitungWährend ich in den Neujahrsferien Artikel über IoT las, wurden meine Hände gekämmt und etwas kam gerade zu dem zum Testen bestellten Amazon-Knopf. Nachdem ich genug davon gespielt hatte, begann ich darüber nachzudenken, wie ich es mit zumindest einem gewissen Nutzen verwenden sollte.Ich erinnerte mich, dass wir in Flexby oft vergessen, Wasser für den Kühler vorbestellen. Es scheint, Sie sehen - es endet, aber während Sie Tee / Kaffee trinken, vergessen Sie bereits. Dementsprechend wurde die Bestellung nur gesendet, wenn überhaupt kein Wasser vorhanden war.Jetzt reicht es aus, auf die Schaltfläche "Wasser kaufen" zu klicken, und die Benachrichtigung in "Slack" hilft Ihnen dabei, dies nicht zu vergessen. Wir sind jedoch noch einen Schritt weiter gegangen und haben ein Skript geschrieben, das sofort eine Bestellung auf der Website eines örtlichen Wasserversorgungsunternehmens aufgibt.Nein, die Bestellung wird nicht nach jedem Klick gesendet, . , .
Wie funktioniert es0. Die Schaltfläche ist gemäß den Anweisungen mit Wi-Fi verbunden , jedoch nicht vollständig konfiguriert. Das Produkt ist nicht spezifiziert, sodass keine Bestellung für Amazon erstellt wird.1. Wenn Sie auf die Schaltfläche:1.1 klicken , wird eine Verbindung zum Wi-Fi-Netzwerk hergestellt, um eine Anfrage an Amazon zu senden.1.2 Die Reihenfolge wird nicht gebildet, weil Der Vorgang zum Einstellen des Tastenverhaltens wurde nicht abgeschlossen.2. Das Skript überwacht auf einem lokalen Server, der mit demselben Wi-Fi-Netzwerk verbunden ist, das Erscheinungsbild der Mac-Adresse der Schaltfläche und kommt zu dem Schluss, dass sie gedrückt wurde.2.1 Die Aktionen, die Sie benötigen, werden ausgeführt.In unserem Fall sendet dies eine Bestellung für Wasser für den Kühler und benachrichtigt dies in Ruhe.Jetzt über alles in Ordnung.Woher bekommt man die Knöpfe?Es ist erwähnenswert, dass es gibtHier ist eine solche Version für Entwickler , die sie verwenden möchten. Sie haben über Geektimes damit geschrieben. Natürlich ist es viel einfacher und schöner, alles zu integrieren, was Sie wollen, aber wo diese iot-Buttons erhältlich sind, bleibt mir ein Rätsel.Schaltflächen für die Bestellung bestimmter Waren bei Amazon können für 5 USD erworben werden (derzeit können sie nur Kunden mit Prime-Status kaufen).Dieser Knopf kam zu mir in den Neujahrsferien. Ich habe nur einen zum Testen genommen, jetzt werde ich 10 weitere bestellen.
"Amazon Elements" ist ungefähr ein Wisch :)Das Gerät stellt bei jedem Klick eine Verbindung zu einem Wi-Fi-Netzwerk her.Der Hersteller schreibt, dass es für ~ 1000 Klicks ausgelegt ist. Diese Einschränkung hängt höchstwahrscheinlich mit der Batterie zusammen, die, falls gewünscht, unabhängig ausgetauscht werden kann . Im Inneren befindet sich nur eine Batterie .Fangen wir an
Über wie „Crack“ kann diese Funktion gelesen werden hier hier und hier .Kurz gesagt - der ganze Hack beim Verfolgen der Mac-Adresse einer Schaltfläche in einem Wi-Fi-Netzwerk mithilfe von ARP-Sniffer.Sie können den Router auch zwingen, Anforderungen an parker-gateway-na.amazon.com an Ihren Server weiterzuleiten.Die Bindung an eine Wi - Fi-Netzwerk - Tastein der Amazon App gehen Sie zu den Einstellungen akkaunta-> Geräteverwaltung und fügen Sie die neue Schaltfläche.Schließen Sie in der Phase der Produktauswahl den Setup-Assistenten . Es lohnt sich, Benachrichtigungen zu deaktivieren, um keine Nachrichten über fehlgeschlagene Bestellungen zu erhalten.Screenshots des Schaltflächen-Setup-Vorgangs "Server" für eine Schaltfläche auf NodeJsEs gibt ein benutzerfreundliches Modul .Wichtige Punkte:- Es funktioniert unter Linux, möglicherweise auf Mohnblumen (nicht getestet).
- Es erfordert libpcap-dev, um zu funktionieren.
- Das Skript muss mit Superuser-Berechtigungen ausgeführt werden.
- Und natürlich auf einem Computer, der mit demselben Wi-Fi-Netzwerk wie die Taste verbunden ist .
npm install node-dash-button
Wenn Sie Probleme bei der Installation haben, aktualisieren Sie npm und node-gypsudo npm install -g npm
sudo npm install -g node-gyp
Die Mac-Adresse der Schaltfläche kann durch Ausführen des folgenden Skripts ermittelt werden:sudo node node_modules/node-dash-button/bin/findbutton
Bestimmen Sie die Ausnahmemethode, oder legen Sie einfach im Admin-Bereich des Routers fest.Hier auf einfache Weise Catch-Button-Klicks:sniffer = require('node-dash-button');
buttons = {
'8f:3f:20:33:54:44':{
action: function(){
console.log('Press button 1')
}
},
'2e:3f:20:33:54:22': {
action: function(){
console.log('Press button 2')
}
}
};
sniffer( Object.keys(buttons) ).on("detected", function (catched_mac){
console.log(' mac-: '+catched_mac+'\n');
buttons[catched_mac].action();
});
Das heißt, Wir sagen, welche Mac-Adressen wir brauchen, wenn sie aufleuchten - wir nennen die Funktion, die wir brauchen.Als Beispiel sehen Sie immer noch die Quellen unseres Skripts für die Bestellung von Wasser .UPD : Ein paar Ideen zur Verwendung.Trotzdem ist der Hauptfall, wie im Werbespot gezeigt, eine Erinnerung an die Notwendigkeit, die Reserven einiger Ressourcen aufzufüllen.Im Büro :- Die Schaltfläche „Papier kaufen“ neben dem Drucker oder dem Ort, an dem das Druckpapier aufbewahrt wird, sendet eine E-Mail an die verantwortliche Person oder bestellt sofort.
- "Cookies gehen aus" - E-Mail an denjenigen, der sie auffüllen soll.
Zu Hause :- "Toilettenpapier kaufen", Erinnerungen an sich selbst senden, E-Mail / Aufgabe auf Wunderliste.
Vielleicht ist dies die einzige kritische Ressource :) Der Rest ist analog zu Ihren Bedürfnissen leicht zu überlegen. Es kann sich um Windeln, Zahnpasta, Spülmaschinentabletten, Waschpulver usw. handeln.
Ich habe übrigens keine Anwendungen für die Einkaufsliste mit der API gefunden.Einige nicht standardmäßige Optionen :- Türklingel.
Damit zum Beispiel ein Anruf den Schlaf des Kindes nicht stört, lassen Sie es einfach leise eine Benachrichtigung an das Telefon senden. Zu anderen Zeiten kann ein solcher Anruf eine beliebige Melodie enthalten. Auch hier kann die Lautstärke angepasst werden. - Zähler von etwas. Der Knopf kann als Schlüsselbund getragen werden. Wenn Sie im Abdeckungsbereich Ihres WLAN-Netzwerks etwas zählen, das Sie benötigen, ist er perfekt dafür.
Zum Beispiel zählen wir von 7:00 bis 9:00 die Anzahl der Mitarbeiter, die früher gekommen sind. Von 9:00 bis 13:00 Uhr zu spät. Von 13:00 bis 15:00 Uhr mittags inhaftiert, von 15:00 bis 18:00 Uhr früh abgereist, von 18:00 bis 21:00 Uhr bei der Arbeit inhaftiert. Interessante Statistiken können herauskommen.
Oder Sie können die Anzahl der mündlichen Hilferufe an die IT-Abteilung berücksichtigen.
Ich würde mich freuen, wenn Sie in den Kommentaren Ihre Ideen zur Verwendung dieser Schaltflächen teilen.