"Smart Home" mit Yandex.Alisa

Hallo allerseits! Ich möchte darüber sprechen, wie ein kleines Mädchen Alices Fähigkeiten erlernen, sich in das „Smart Home“ des coolen MySmartFlat-Produkts integrieren wollte, welche Hindernisse im Weg standen und wie es im Allgemeinen ist, eine Programmiererin zu sein.

Das Erstellen einer Fertigkeit ist einfach. In einer halben Stunde können Sie einen einfachen Chat-Bot implementieren. Und zur Moderation schicken. Und sogar durchgehen.

IoT ist für viele mittlerweile eine vertraute Sache, und eine coole Ergänzung zu solchen Komplexen ist die Sprachsteuerung. Meine Kollegen und ich dachten und beschlossen, Alice auszuprobieren. Und es gibt auch eine Spalte. Und alles ist sehr cool.

Ich liebe PHP (wer und was nicht sagen würde), aber es gibt keine Dokumentation. Es stellte sich heraus, dass es leichter zu verstehen war. Gott sei Dank arbeite ich dort, wo es bereits die notwendigen sicheren Server und alles andere gibt, weil Obwohl ein Programmierer - aber ich wollte die Installation von Zertifikaten usw. nicht wirklich verstehen. Manchmal fordert der weibliche Darm seinen Tribut ... Aber jetzt geht es nicht darum. Hier ist der notwendige Webhook zur Hand und ein Kopf auf den Schultern. Alles was Sie brauchen.

Webhook ist ein Skript, in dem alle Benutzeranforderungen fliegen, das verarbeitet und verwaltet und eine Antwort gibt.

Ich habe trivial versucht, mich dem Licht hinzugeben (unsere Plattform verfügt über eine API, und ich musste nicht herausfinden, wie dies alles in der Hardware geschieht. Das einzige, was einen technischen Hintergrund hatte, war die Fähigkeit, mit Relais, Controllern usw. umzugehen.). Die ganze Komplexität lag in der taktvollen, korrekten und vielfältigen Herangehensweise an das, was der Benutzer sagt und will. Je weiter, desto mehr in der Wildnis, besonders als ich merkte, dass die Art und Weise, wie ich sehe (und wie ich sagen würde), völlig anders ist als die, die der Benutzer unserer Plattform sagen würde. Ich möchte "das Licht einschalten" und der Benutzer "schneiden" usw. Nachdem Sie über eine Reihe von Optionen nachgedacht haben, erhalten Sie Dutzende von Rückmeldungen - eine coole, vollwertige Fähigkeit in 20.000 Codezeilen zur Steuerung von Beleuchtung, Temperatur, Auslaufschutzsystemen, Haushaltsgeräten usw. Besonders cool mit der Station - Sie müssen nichts drücken und öffnen. Es reicht aus, mindestens eines unserer Geräte zu haben - und die Fähigkeit "Meine Wohnung" ist bereits verfügbar.

Ich brachte Alice bei, die Beleuchtung in einem bestimmten Raum und sogar in bestimmten Kanälen ein- und auszuschalten, wenn sich mehrere im Gerät befinden, über das Klima im Raum zu sprechen und die Luft- und Bodentemperatur anzupassen, wobei ich mich auf die Daten des Geräts konzentrierte. Ich kann sogar Musik lauter machen und den Kanal am Fernseher umschalten.




Im Laufe der Zeit wurde unsere Anwendung, unsere gesamte Plattform, modernisiert, und Benutzer haben in der Anwendung die Möglichkeit, die Namen aller ihrer Geräte, Relaislasten und mehr zu ändern. Mein Kopf kochte weil Eine neue Aufgabe ist entstanden und mit meinem Rücken zu mir - wie sollte Alice verstehen, was der Benutzer einschalten möchte? Angenommen, das Gerät in der Anwendung heißt MIRROR LIGHT und Alice sagt: "Alice, mach das Licht im Badezimmer an." Der Benutzer versteht, dass er die Hintergrundbeleuchtung des Spiegels einschalten möchte, aber was ist mit mir? Meine Fähigkeiten sind nicht hoch genug, um künstliche Intelligenz zu zerstören, und ich habe ihr beigebracht, den Benutzer zu befragen und sich zu erinnern.


Im Allgemeinen wäre dies alles noch cooler, wenn nicht:
1. Die Verwendung von Yandex.Stations ist, wie sich herausstellte, nicht sehr praktisch. Sie sind in der Fähigkeit, während Sie interagieren. Das heißt: "Alice, starte die Fertigkeit ... mach das Licht an, mach aus ..." usw. 30 Sekunden vergehen, und Sie schweigen - op, und Sie sind nicht mehr in der Fähigkeit. Und nochmal: "Alice, starte die Fertigkeit ...". Ja, es ist viel einfacher und schneller, auf die Schaltfläche in der Anwendung zu klicken.

2. Es ist notwendig, Ihre Servereinstellungen, Verarbeitungsphrasen und alles andere zu optimieren, damit das Skript verarbeitet wird und in nicht mehr als 1,5 s eine Antwort erzeugt wird. Ansonsten sagt Alice: "Entschuldigung, die Fertigkeit reagiert nicht" und fliegt davon. Alles wäre gut, aber ich musste viel basteln, weil viele Geräte, Abfragen an die Datenbank und Verwaltung. Das Problem ist jedoch lösbar.

Yandex hat versprochen, Entwicklern von Smart Homes ein besseres Leben zu ermöglichen. Sie reagieren angemessen und schnell und beantworten alle Wünsche und Fragen.

Trotz aller Fallstricke können Sie mit der Sprachsteuerung klar erkennen und verstehen, warum dies alles notwendig ist. IoT an alle!

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


All Articles