带轮智能家居...爱丽丝

你好 目前,我能够实现智能家居的功能之一,即通过Alice的Yandex服务(尤其是通过Smart列Yandex站和电话上的Alice)实现对灯光的完全语音控制。 但是,所有内容也可以在安装了它的任何设备上运行。 灯光安装基于4个RGBWW控制器MiLight FUT039和WiFi控制器MiLight ibox2(可拉4个控制区),MiLight控制器(3个)并行配置,并在没有Internet的情况下用作备份控制,但它们几乎与语音控制无关,因此,我们将不考虑它们。

此实现之间有什么区别? 该控制电路易于实现,不需要任何编程技能和智能扬声器和Raspberry 3微型计算机的成本,该微型计算机的软件是完全免费的。 而且您不需要将您控制的设备连接到制造商的服务器。 Alice和Yandex服务需要Internet,并且需要在端口443上将其吐出。

我将简要概述我是如何做到这一点的。 最初,灯光是由MiLight FUT039控制器通过位于公寓最方便位置的遥控器控制的,然后我购买了iBox2控制器,此后,我还可以通过电话控制灯光。 不久,在一位同事的建议下,我获得了一个非常智能的Yandex-mini工作站,我非常喜欢有机会通过语音设置警报,设置提醒和其他琐事。 之后,事实证明该专栏甚至可以通过制造商网站上的帐户来管理智能设备。

在阅读了有关通过帐户捆绑进行控制的工作方式的信息之后,出现了这样的想法:您可以通过某种方式直接通过wifi向智能设备发送命令,因为通过某种方式电话可以通过wifi来控制灯光。 实际上,事实证明一切都有些不同,我不得不铲掉并丢弃许多失败的选项,例如通过无线电模块从python或PCP上的脚本传输输出,但结果一切都变了。

我将立即为文章提供实现的基础,并提供一些链接,我将简要介绍一下我从中获得的经验。 最有趣的是,每篇文章都给出了设备管理的方向,但是效果是结合了这些功能。

所以

1. “爱丽丝,开灯”


第一篇,但不是主要的。 我从这里获得的主要信息是有关Openhab2的存在,iBox2控制器的安装和连接信息。 安装开放式集线器后,我还可以从计算机控制灯光。 最基本的是前三章,然后我认为胡说八道。 我向作者表示歉意,但是确实如此。 连接更多左侧的外部(Internet)资源以建立通信以及某种“魔咒”是一种失败。

2. “ Yandex:成人智能家居”


本文是基础文章,具有约束力。 正是在这里,我意识到了在何处移动以及如何实现所有功能。 作者给出了设备与服务之间交互的一般方案,此外,他还清楚地分解了YandexUD中的命令和设备系统。 最重要的是Munrexio作者( https://sprut.ai/client/plugins/instruction/1821 )编写的yandex2mqtt插件,如果没有该插件,将无法正常工作。 简而言之,我从这里得到了什么:yandex2mqtt插件,使用MQTT服务器传输状态和命令的想法,使用YandexUnnyDom和Yandex.Dialogs的系统,通过使用证书进行技能授权和注册。 一切都花了到Node-Red的负责人。 此外,与作者使用Wiren Board控制器有关的细节,即 阅读主要是为了获得一般理解。 就我而言,主要模块是OpenHub,它支持设备管理,而yandex2mqtt插件和MQTT服务器是Yandex服务的连接元素。

附加信息:

3. Raspberry Pi:在Raspberry Pi上配置/测试代理和Mosquitto客户端


什么是MQTT?为什么在IIoT中需要它? 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-应用程序部分,在命令行上安装和工作健康检查
https://ipc2u.ru/articles/prostye-resheniya/chto-takoe-mqtt/-对协议的一般理解

4. https://dialogs.yandex.ru/developer/,https://dialogs.yandex.ru/developer/skills/用于创建和测试技能的对话平台


原始文章中详细介绍了安装和配置,因此,我将仅向您提供该过程。 在不久的将来,我将在工作系统上发布Raspbian映像,当然,我将更改密码并删除工作证书,有关创建它们的说明在文章中,稍后,随着时间的推移,我将在新映像上再次引发系统,并使用安装命令和设置。 我必须马上说图像中有很多多余的地方,我试图通过RF24无线电模块和我在github上找到的python脚本来控制Milight。 但是没有一种方法可行,因此我对它们进行了评分,但没有清理系统。

走吧 我们设置了树莓派灯,自然更新,设置和配置了蚊子(这些文章通过登录名和密码描述了访问设置),转发了路由器上的端口,然后在“成年人的智能家居”一文中注册了域以接收证书并获得证书。 我们安装yandex2mqtt插件,对其进行配置,在其中分配证书,登录名和密码,编辑mqtt设备和主题。 我们在Yandex.oAuth中注册,在那里获取我们域的令牌,然后在YandexUD中注册,在其中规定访问权限和其他所有内容。 在主持人成功批准草稿后,您可以在Yandex应用程序的电话中或在服务上的https://dialogs.yandex.ru/developer/skills/上的计算机上的yandex2mqtt插件中的设备上,通过“测试”选项卡查看。

现在,我们从“爱丽丝,开灯”一文中设置并配置了开放式集线器,您还可以找到有关在其他资源上设置开放式集线器的文章。 添加,配置和验证MiLIght设备后,将在开放式集线器中配置mqtt设备( https://robot-on.ru/articles/prostaya-rabota-s-mqtt-v-openhab-2 ),通道和主题地址。 据我了解,yandex2mqtt插件中的设备从Yandex服务接收命令,并通过自定义步骤将它们转换为true / false(分别为0/1)或当前级别(以百分比表示)。 插件将这些数据发送到主题(即发布者),而openhub作为主题的订阅者,从相应主题中获取值并将其发送到在其中注册的设备中的交换元素,从而对设备进行控制。

像第一次完成的任何业务一样,有一些细微差别。

  1. 即使必须踢它,我也可以在工作的微型计算机上安装openhub。 但是他无法将其重新安装在新的干净映像上,上次推出的解决方案也无济于事。 错误(HTTP错误404访问/启动/索引问题。原因:未找到)。 请记住这一点。 但也可以选择将openhub安装在计算机上进行测试。
  2. letencrypt.org的域证书颁发了三个月。 我没有再去拿更长的证书
  3. https://dialogs.yandex.ru/developer/上的一项技能草案已成功通过审核,但尚未能够发布。 错误(验证错误:-端点URL:实现智能家居协议时出错:user_unlink:未找到)。 直到我找出问题所在。 这不会阻止系统正常运行,但我不记得未发布技能的持续时间是否受到限制。
  4. 我发现了一个错误:事实证明,在app.js文件的yandex2mqtt源中,“ app.post('/ provider // v1.0 / user / unlink',routes.user.unlink);”行格外倾斜。 已在我的微型计算机上更正-发布成功。
  5. 我还在config.js中修复了“电视”设备的频道切换部分,原来的那个没用

最后,这一系列开放式集线器,插件和蚊子的前景。 OpenHub是系统的核心,它不仅可以控制灯光,还可以控制一大堆设备(这不是一百块铁)。 现在,我正在拍摄Gnusmas电视以进行语音控制。 由于这样的管理已经有效,因此您可以将所有内容复制到同一Alice中,您可以自己想象。 顺便说一下,今天有一些观察。 我发现,可以从有Alice互联网的任何地方来控制房屋的光线,例如,从城市另一端的电话甚至可以通过家用摄像头进行检查。 而且,由于已经在该技能中注册了用于控制设备的命令列表,并且语音命令已被识别并转换为文本,因此您无法对电话“爱丽丝,关掉卧室的灯”抱怨,而只需写“关掉卧室的灯”就可以了

好吧,视频本身:

Source: https://habr.com/ru/post/zh-CN483922/


All Articles