Wir verwalten Smart Sockets und Hunderte anderer IoT-Geräte mithilfe von DIY-Geräten, Websites, Bots und Instant Messenger


Hallo Geektimes! Die Herstellung beispielsweise einer intelligenten Steckdose zum Schalten von Geräten mit 220-V-Stromversorgung ist das größte Problem bei der Entwicklung von Hausautomations-, Smart-Home- und ähnlichen Systemen.

Dieses Problem hat zwei Aspekte - die Komplexität der Eigenherstellung und die Gewährleistung der Zuverlässigkeit und Sicherheit solcher Verkaufsstellen. Daher können nur erfahrene Handwerker sie mit ihren eigenen Händen ausführen.

In den meisten Fällen ist der Anreiz, eine intelligente Steckdose selbst herzustellen, das Fehlen einer vernünftigen API für die meisten seriellen Modelle.

In einem Artikel über Geektimes über Smart Sockets habe ich diesen Kommentar gesehen:

Wenn es keine offene API gibt, wie unterscheiden Sie sich von Hunderten anderer Anbieter? Ich träume von einer Verkaufsstelle, in der ich eine reguläre https-Anfrage verwalten kann. Von jedem Betriebssystem und von jedem Gerät . “

Auf diese Weise möchte ich fast jeden Smart Socket und viele IoT-Geräte gemeinsam nutzen. Die unten beschriebene Methode ist sowohl für die einfache WLAN-Steckdose HS100 von TP Link in jedem Elektronikgeschäft als auch für viele andere Geräte relevant: intelligente LED-Lampen von Philips, Smart-Home-Hubs, Nest-Thermostate, Fitness-Armbänder, Bewässerungssysteme und sogar Autos .

Auf der Website eines großen Online-Elektronikgeschäfts wie AliExpress oder eBay finden Sie auf der Suche nach „Smart Home“ Hunderte interessanter IoT-Geräte für Smart Homes. Die meisten von ihnen haben einen attraktiven Preis, sie sehen cool aus, haben Sicherheitszertifikate, aber sie haben keine offene API - was für Geeks wirklich wichtig ist.

In der Tat ist dies nicht ganz richtig. Die meisten Geräte haben natürlich eine API und in den meisten Fällen ist sie offen, aber nicht für alle. Am häufigsten hat Amazon Zugriff darauf, da es eine große Anzahl von Geräten gibt, die mit der Sprachsteuerung kompatibel sind
Alexa Echo Assistentin. Weitere Details finden Sie hier .

Im Gegenzug ist auch das Amazon-Backend für die Verwaltung von Alexa geöffnet - AWS für die Unterstützung von IoT-Geräten und allen Arten von Alexa Skills, Lambda usw. Das Problem ist, dass das alles ziemlich schwer herauszufinden ist.

Jetzt erkläre ich Ihnen, wie Sie mithilfe von JSON-Anfragen alles verwalten, was Alexa Echo verwalten kann. Durch einfaches Schreiben eines Befehls wie „Wohnzimmer einschalten“ können Sie fast jede intelligente Steckdose von jedem Ort aus steuern - von der Site, dem Arduino-Gerät, dem Bot oder dem Messenger.

Als einfaches Beispiel verwenden viele bereits den beliebten Sonof-Schalter für 5 US-Dollar. Normalerweise programmieren Handwerker es neu und verwenden benutzerdefinierte Firmware für ihren Server.

Tatsächlich können sie Text oder Sprache von einer kostenlosen Anwendung aus steuern und die API auch zum Übertragen von Befehlen mit einfachen JSON-Anforderungen von Ihrer Site, Arduino, Bot usw. verwenden, und Sie müssen nichts löten oder flashen - alles funktioniert. " out of the box. "



Das Alexa-Ökosystem entwickelt sich ständig weiter und es erscheinen immer mehr neue Managementteams. Detaillierte Anweisungen zum Einrichten von Sonof-Geräten für die Arbeit mit Alexa finden Sie hier .

Was ist also erforderlich, um Hunderte von Titeln von IoT-Geräten und -Systemen (die Alexa Echo unterstützen) von Ihren Websites, DIY-Geräten, Bots usw. aus zu verwalten?

Zuerst müssen Sie die Anwendung herunterladen und sich registrieren (Anmeldung und Passwort, die bei der Registrierung ausgewählt wurden, sind bei der Autorisierung der API erforderlich).

Sie benötigen außerdem den Benutzernamen und das Passwort Ihres Kontos bei Amazon. Sie können sie eingeben, wenn Sie den Alexa-Modus in der Anwendung zum ersten Mal aktivieren (Symbol „a“) ​​oder sich registrieren und ein neues Konto bei Amazon erstellen.



Jetzt erstellen wir einen Chat mit jemandem, in den wir Befehle von der API senden, um Geräte zu verwalten.

Wir brauchen eine Chat-ID. Wir bekommen es mit dem Befehl getSessions. Beispiel für die Befehlsausführung:

{ "new": 0, "top": { "delivery": 1514009104111, "code": 0, "orig": "3996189326", "lifetime": -1, "mid": "1514009104111-b6cbe7fcccd49f9824", "time": 1514009104111, "event": 3, "type": 16, "content": "weather in london" }, "created": 1513996519209, "missed": 0, "count": 40, "parties": [ "3996189326", "3929915709" ], "id": "<b>1513996519209-ab612ee9434113c8d1</b>", "time": 1514009104111, "dialogid": "1513996519209-4b0cbad7b6e43ed36e", "updated": 1513999445871, "properties": { "keyGeoEnable": true, "push": false, "nodisturb": true }, 

Suchen Sie den gewünschten Chat (hier wird er als "id" angezeigt: "1513996519209-ab612ee9434113c8d1") und kopieren Sie die ID - 1513996519209-ab612ee9434113c8d1. Jetzt können wir einen Befehl ausgeben
zur Steuerung mit folgenden Parametern:

Methode sendMessage
sessionid 1513996519209-ab612ee9434113c8d1
Typ 16
zufriedenes Wetter in London

Wenn alles richtig gemacht ist, meldet Ihr Smartphone das aktuelle Wetter in London. Weitere Informationen zu API-Befehlen finden Sie hier .

Jetzt müssen Sie das Gerät an Ihr Alexa-Konto binden. Detaillierte Anweisungen finden Sie in diesem Artikel bei Geektimes. Nach dem Verknüpfen können Sie die Phrase im Inhalt ändern.

Wenn das Gerät beispielsweise an die Gruppe "Wohnzimmer" angeschlossen ist, sieht die JSON-Anforderung folgendermaßen aus:

Methode sendMessage
sessionid 1513996519209-ab612ee9434113c8d1
Typ 16
Inhalt schalten Sie das Wohnzimmer ein

Das entsprechende Gerät, das mit dem Wohnzimmer verbunden ist, wird eingeschaltet - eine intelligente Steckdose, ein intelligenter Schalter und mehr.

Wichtig! In den Anwendungseinstellungen sollte Immer ein aktiviert sein:



Jetzt können Sie nicht nur Systeme von der Site, dem Bot, Geräten wie Arduino und anderen Methoden aus verwalten, sondern auch bei Amazon einkaufen. Verwenden Sie im Allgemeinen alles, was die intelligente Alexa Echo-Spalte kann.

Vielen Dank für Ihre Aufmerksamkeit! Ich hoffe, es ist praktisch.

Source: https://habr.com/ru/post/de409289/


All Articles