Maison intelligente sur roues ... Alice

Salut Actuellement, j'ai pu réaliser l'une des capacités d'une maison intelligente, à savoir le contrôle vocal à part entière de la lumière via le service Yandex d'Alice, en particulier via la station Yandex de la colonne Smart et Alice au téléphone. Mais tout fonctionnera également sur n'importe quel appareil sur lequel il est installé. L'installation lumineuse est basée sur 4 contrôleurs RGBWW MiLight FUT039 et le contrôleur WiFi MiLight ibox2 (qui tire 4 zones de contrôle), les contrôleurs MiLight (3 pièces) sont configurés en parallèle et fonctionnent comme contrôle de sauvegarde en l'absence d'Internet, mais ils n'ont presque aucun lien avec la commande vocale, par conséquent, nous ne les prendrons pas en compte.

Quelle est la différence entre cette implémentation? Le circuit de contrôle est simple à mettre en œuvre, ne nécessite aucune compétence en programmation et coûte environ le coût d'un haut-parleur intelligent et d'un micro-ordinateur Raspberry 3, le logiciel du micro-ordinateur est entièrement gratuit. Et vous n'avez pas besoin de connecter les appareils que vous contrôlez aux serveurs des fabricants. Internet est nécessaire pour les services Alice et Yandex, et vous devez le recracher sur le port 443.

Je vais brièvement expliquer comment j'en suis arrivé à cela. Initialement, la lumière était contrôlée par les contrôleurs MiLight FUT039 via des télécommandes suspendues aux points les plus pratiques de l'appartement, puis j'ai acheté le contrôleur iBox2, après quoi j'ai pu contrôler la lumière également à partir du téléphone. Bientôt, sur les conseils d'un collègue, j'ai acquis une mini-station Yandex très intelligente, j'ai vraiment aimé la possibilité de régler une alarme par la voix, de définir des rappels et d'autres bagatelles. Après cela, il s'est avéré que la colonne peut gérer les appareils intelligents, même via des comptes sur les sites Web des fabricants.

Après avoir lu les informations sur le fonctionnement du contrôle via des ensembles de comptes, l'idée est apparue que vous pouvez en quelque sorte donner directement des commandes aux appareils intelligents via le Wi-Fi, car le téléphone était en mesure de contrôler la lumière via le Wi-Fi. En réalité, tout s'est avéré être un peu différent, j'ai dû pelleter et éliminer de nombreuses options cassées comme le transfert de sortie de scripts en python ou pkhp via un module radio, mais en conséquence, tout s'est avéré.

Je donnerai immédiatement des articles avec des liens sur la base desquels il a été mis en œuvre et je décrirai un peu ce que j'en ai retiré. La chose la plus intéressante est que chaque article a donné sa direction dans la gestion des appareils, mais l'effet a été de combiner ces fonctionnalités.

Alors

1. "Alice, allume la lumière"


Le premier article, mais pas le principal. La principale chose que j'ai prise ici est des informations sur l'existence d'Openhab2, l'installation et la connexion du contrôleur iBox2 à celui-ci. Après avoir installé le hub ouvert, j'ai pu contrôler la lumière également depuis l'ordinateur. Le plus élémentaire est les 3 premiers chapitres, puis à mon avis, le non-sens a disparu. Je m'excuse auprès de l'auteur, mais ça l'est. Connecter davantage de ressources externes (Internet) de gauche pour établir la communication et une sorte de «sorts magiques» est un échec.

2. «Yandex: une maison intelligente pour adultes»


Cet article est basique et contraignant. C'est ici que j'ai réalisé où aller et comment tout mettre en œuvre. L'auteur donne un schéma général d'interaction entre les appareils et les services, et démonte clairement le système de commandes et d'appareils dans YandexUD. Et le plus important est le plugin yandex2mqtt écrit par l'auteur de Munrexio ( https://sprut.ai/client/plugins/instruction/1821 ), sans lequel rien n'aurait fonctionné. En bref, ce que j'ai obtenu d'ici: le plugin yandex2mqtt, l'idée d'utiliser un serveur MQTT pour transférer les états et les commandes, le système de travail avec YandexUnnyDom et Yandex.Dialogs en utilisant des certificats pour l'autorisation et l'enregistrement des compétences. Il a fallu tout jusqu'à la tête de Node-Red. En outre, les spécificités associées à l'utilisation du contrôleur Wiren Board par l'auteur, à savoir La lecture est principalement destinée à une compréhension générale. Dans mon cas, le module principal est OpenHub, qui prend en charge la gestion des appareils, et le plugin yandex2mqtt et le serveur MQTT sont les éléments de connexion avec les services Yandex

Information complémentaire:

3. Raspberry Pi: Configuration / Test du courtier et du client Mosquitto sur le Raspberry Pi


Qu'est-ce que MQTT et pourquoi est-il nécessaire dans IIoT? Description du protocole MQTT http://wikihandbk.com/wiki/Raspberry_Pi:%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0% B0 /% D0% A2% D0% B5% D1% 81% D1% 82% D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D0% BD% D0% B8% D0% B5_ % D0% B1% D1% 80% D0% BE% D0% BA% D0% B5% D1% 80% D0% B0_% D0% B8_% D0% BA% D0% BB% D0% B8% D0% B5% D0 % BD% D1% 82% D0% B0_Mosquitto_% D0% BD% D0% B0_Raspberry_Pi # .D0.A2.D0.B5.D1.81.D1.82.D0.B8.D1.80.D0.BE.D0. B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B1.D1.80.D0.BE.D0.BA.D0.B5.D1.80.D0.B0_.D0.B8_. D0.BA.D0.BB.D0.B8.D0.B5.D0.BD.D1.82.D0.B0_Mosquitto_.D0.BD.D0.B0_Raspberry_Pi.5B1.5D - partie d'application, installation et travail sur la ligne de commande pour contrôles de santé
https://ipc2u.ru/articles/prostye-resheniya/chto-takoe-mqtt/ - une compréhension générale du protocole

4. https://dialogs.yandex.ru/developer/ , https://dialogs.yandex.ru/developer/skills/ plateforme de dialogue pour créer et tester des compétences


L'installation et la configuration sont décrites en détail dans les articles d'origine, je vais donc vous donner la procédure. Dans un avenir proche, je publierai l'image de Raspbian avec un système de travail, bien sûr, je changerai mes mots de passe et supprimerai les certificats de travail, les instructions pour les créer sont dans les articles, et plus tard, au fil du temps, je relèverai le système sur une nouvelle image et j'écrirai les instructions pour les éléments avec les commandes d'installation et paramètres. Je dois dire tout de suite qu'il y a beaucoup d'excès dans l'image, j'ai essayé de contrôler Milight dessus via le module radio RF24 et les scripts python que j'ai trouvés sur le github. Mais aucune méthode n'a fonctionné, j'ai donc marqué sur eux, mais je n'ai pas nettoyé le système.

Allons-y. Nous mettons en place Raspban Light, naturellement mis à jour, installons et configurons le moustique (les articles décrivent les paramètres avec accès par login et mot de passe), transmettons les ports sur le routeur, puis sous l'article «Smart home by adult» nous enregistrons le domaine pour recevoir des certificats et obtenir des certificats. Nous installons le plugin yandex2mqtt, le configurons, lui attribuons des certificats, des connexions et des mots de passe, éditons les périphériques mqtt et les rubriques. Nous nous inscrivons dans Yandex.oAuth, y obtenons des jetons pour notre domaine et nous nous inscrivons dans YandexUD, où nous prescrivons l'accès et tout le reste. Après l'approbation réussie du brouillon par le modérateur, vous pouvez voir les appareils du plugin yandex2mqtt sur le téléphone dans l'application Yandex ou sur l'ordinateur sur le service https://dialogs.yandex.ru/developer/skills/ dans le brouillon dans l'onglet Test.

Maintenant, nous définissons et configurons le hub ouvert à partir de l'article «Alice, allumez la lumière», vous pouvez également trouver un article sur la configuration du hub ouvert sur d'autres ressources. Après avoir ajouté, configuré et vérifié les appareils MiLIght, les appareils mqtt ( https://robot-on.ru/articles/prostaya-rabota-s-mqtt-v-openhab-2 ), les canaux et les adresses de sujet sont configurés dans le hub ouvert. Si je comprends bien, les périphériques du plug-in yandex2mqtt reçoivent des commandes des services Yandex et les convertissent en vrai / faux (0/1, respectivement) ou au niveau actuel en pourcentage avec une étape personnalisée. Le plugin envoie ces données à des sujets, c'est-à-dire qu'il est l'éditeur, et l'openhub, en tant qu'abonné à des sujets, prend des valeurs des sujets correspondants et les envoie aux éléments de commutation dans les appareils qui y sont enregistrés, à la suite desquels les appareils sont contrôlés.

Comme toute entreprise qui se fait pour la première fois, il existe plusieurs nuances.

  1. J'ai pu installer un openhub sur mon micro-ordinateur de travail, même si je devais le lancer. Mais il ne pouvait pas le réinstaller sur une nouvelle image propre, et la solution qui a roulé la dernière fois n'a pas aidé. Erreur (HTTP ERROR 404 Problème d'accès / démarrage / index. Raison: introuvable). Gardez cela à l'esprit. Mais en option, openhub peut également être installé sur un ordinateur pour les tests.
  2. Le certificat de domaine de letsencrypt.org est délivré pour trois mois. Je n'ai pas pris la peine d'obtenir un autre certificat plus long
  3. Un brouillon de la compétence sur https://dialogs.yandex.ru/developer/ a réussi la modération, mais il n'a pas encore pu le publier. Erreur (erreurs de validation: - URL du point de terminaison: erreur lors de la mise en œuvre du protocole de la maison intelligente: user_unlink: introuvable). Jusqu'à ce que je comprenne quel est le problème. Cela n'empêche pas le système de fonctionner, mais je ne me souviens pas s'il y a des restrictions sur la durée de la compétence non publiée.
  4. J'ai trouvé une erreur: il s'est avéré que dans les sources yandex2mqtt du fichier app.js dans la ligne "app.post ('/ provider // v1.0 / user / unlink', routes.user.unlink);" est extra oblique. Corrigé sur mon micro-ordinateur - la publication a réussi.
  5. J'ai également corrigé la section de changement de canal pour le périphérique "TV" dans config.js, celui d'origine ne fonctionnait pas

Et enfin, les perspectives de ce tas de hub ouvert, de plug-in et de moustique. Openhub est le cœur du système et peut contrôler un grand nombre d'appareils (et ce n'est pas cent pièces de fer), et pas seulement la lumière. Maintenant, je filme Gnusmas TV pour le contrôle vocal. Puisqu'une telle gestion fonctionne déjà, vous pouvez probablement copier tout ce qui se trouve sur la même Alice, vous pouvez l'imaginer vous-même. Soit dit en passant, il y a quelques observations d'aujourd'hui. J'ai trouvé que la lumière de la maison peut être contrôlée à partir de n'importe quel endroit où il y a Internet pour Alice, par exemple, à partir d'un téléphone de l'autre bout de la ville et même vérifiée par une caméra domestique. Et puisque la liste des commandes pour contrôler l'appareil est déjà enregistrée dans la compétence, plus les commandes vocales sont reconnues et converties en texte, vous ne pouvez pas vous plaindre dans le téléphone «Alice, éteins la lumière dans la chambre», mais écris simplement «Éteins la lumière dans la chambre» et cela fonctionnera

Eh bien, la vidéo elle-même:

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


All Articles