Hola Actualmente, pude darme cuenta de una de las capacidades de un hogar inteligente, a saber, el control de voz completo de la luz a través del servicio Yandex de Alice, en particular a través de la estación Yandex de columna inteligente y Alice en el teléfono. Pero todo también funcionará en cualquier dispositivo en el que esté instalado. La instalación de la luz se basa en 4 controladores RGBWW MiLight FUT039 y el controlador WiFi MiLight ibox2 (que extrae 4 zonas de control), los controladores MiLight (3 piezas) están configurados en paralelo y funcionan como control de respaldo en ausencia de Internet, pero casi no tienen relación con el control por voz, por lo tanto, no los tendremos en cuenta.
¿Cuál es la diferencia entre esta implementación? El circuito de control es simple de implementar, no requiere ninguna habilidad de programación y cuesta el costo de un altavoz inteligente y una microcomputadora Raspberry 3, el software para la microcomputadora es completamente gratuito. Y no necesita conectar los dispositivos que controla a los servidores de los fabricantes. Se necesita Internet para los servicios de Alice y Yandex, y debe escupirlo en el puerto 443.
Brevemente describiré cómo llegué a esto. Inicialmente, la luz fue controlada por los controladores MiLight FUT039 a través de controles remotos colgados en los puntos más convenientes del apartamento, luego compré el controlador iBox2, después de lo cual pude controlar la luz también desde el teléfono. Pronto, siguiendo el consejo de un colega, adquirí una estación Yandex-mini muy inteligente, realmente me gustó la oportunidad de establecer una alarma por voz, establecer recordatorios y otras cosas insignificantes. Después de eso, resultó que la columna puede administrar dispositivos inteligentes, incluso a través de cuentas en los sitios web de los fabricantes.
Después de leer la información sobre cómo funciona el control a través de paquetes de cuentas, surgió la idea de que de alguna manera puede dar comandos directamente a dispositivos inteligentes a través de Wi-Fi, porque de alguna manera el teléfono pudo controlar la luz a través de Wi-Fi. En realidad, todo resultó ser un poco diferente, tuve que palear y descartar muchas opciones rotas como transferir la salida de scripts en python o pkhp a través de un módulo de radio, pero como resultado todo resultó.
Inmediatamente daré artículos con enlaces en función de los cuales se implementó y describiré un poco lo que tomé de allí. Lo más interesante es que cada artículo dio su dirección en la gestión de dispositivos, pero el efecto fue combinar estas características.
Entonces
El primer artículo, pero no el principal. Lo principal que tomé de aquí es información sobre la existencia de Openhab2, la instalación y conexión del controlador iBox2 a él. Después de instalar el hub abierto, pude controlar la luz también desde la computadora. Lo más básico son los primeros 3 capítulos, luego, en mi opinión, las tonterías fueron. Pido disculpas al autor, pero lo es. Conectar más recursos externos izquierdos (Internet) para configurar la comunicación más algún tipo de "hechizos mágicos" es un fracaso.
Este artículo es básico y vinculante. Fue aquí donde me di cuenta de dónde moverme y cómo implementar todo. El autor ofrece un esquema general de interacción entre dispositivos y servicios, además de que desmonta claramente el sistema de comandos y dispositivos en YandexUD. Y lo más importante es el complemento
yandex2mqtt escrito por el autor
Munrexio (
https://sprut.ai/client/plugins/instruction/1821 ), sin el cual nada hubiera funcionado. En resumen, lo que obtuve de aquí: el complemento yandex2mqtt, la idea de usar un servidor MQTT para transferir estados y comandos, el sistema de trabajar con YandexUnnyDom y Yandex.Dialogs mediante el uso de certificados de autorización y registro de habilidades. Tomó todo hasta la cabeza de Node-Red. Además, los detalles asociados con el uso del controlador Wiren Board por parte del autor, es decir Leer es principalmente para comprensión general. En mi caso, el módulo principal es OpenHub, que admite la administración de dispositivos, y el complemento yandex2mqtt y el servidor MQTT son los elementos de conexión con los servicios de Yandex.
Informacion adicional:
3. Raspberry Pi: configuración / prueba del agente y el cliente Mosquitto en Raspberry Pi
¿Qué es MQTT y por qué se necesita en IIoT? Descripción del protocolo 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 - parte de la aplicación, instalación y trabajo en la línea de comando para controles de salud
https://ipc2u.ru/articles/prostye-resheniya/chto-takoe-mqtt/ - una comprensión general del protocolo
La instalación y la configuración se describen en detalle en los artículos originales, por lo que solo le daré el procedimiento. En un futuro cercano, publicaré la imagen de Raspbian con un sistema de trabajo, por supuesto, cambiaré mis contraseñas y eliminaré los certificados de trabajo, las instrucciones para crearlas están en los artículos, y luego, a medida que pase el tiempo, volveré a subir el sistema a una nueva imagen y escribiré las instrucciones para los elementos con los comandos de instalación y ajustes Debo decir de inmediato que hay mucho exceso en la imagen, traté de controlar a Milight en ella a través del módulo de radio RF24 y los scripts de Python que encontré en el github. Pero no funcionó un solo método, así que obtuve un puntaje en ellos, pero no limpié el sistema.
Vamos Configuramos raspban light, naturalmente actualizado, configuramos y configuramos mosquitos (los artículos describen las configuraciones con acceso por usuario y contraseña), reenvían los puertos en el enrutador, luego bajo el artículo "hogar inteligente por adulto" registramos el dominio para recibir certificados y obtener certificados. Instalamos el complemento yandex2mqtt, lo configuramos, le asignamos certificados, inicios de sesión y contraseñas, editamos dispositivos y temas mqtt. Nos registramos en Yandex.oAuth, obtenemos tokens para nuestro dominio allí y nos registramos en YandexUD, donde prescribimos el acceso y todo lo demás. Después de la aprobación exitosa del borrador por parte del moderador, puede ver los dispositivos desde el complemento yandex2mqtt en el teléfono en la aplicación Yandex o en la computadora en el servicio
https://dialogs.yandex.ru/developer/skills/ en el borrador en la pestaña Prueba.
Ahora establecemos y configuramos el centro abierto del artículo "Alice, enciende la luz", también puedes encontrar un artículo sobre cómo configurar el centro abierto en otros recursos. Después de agregar, configurar y verificar los dispositivos MiLIght, los dispositivos mqtt (
https://robot-on.ru/articles/prostaya-rabota-s-mqtt-v-openhab-2 ), los canales y las direcciones de temas se configuran en el hub abierto. Según tengo entendido, los dispositivos en el complemento yandex2mqtt reciben comandos de los servicios de Yandex y los convierten a verdadero / falso (0/1, respectivamente) o al nivel actual en porcentaje con un paso personalizado. El complemento envía estos datos a los temas, es decir, es el editor, y el openhub, como suscrito a los temas, toma valores de los temas correspondientes y los envía a elementos de conmutación en los dispositivos registrados en él, como resultado de lo cual los dispositivos están controlados.
Como cualquier negocio que se hace por primera vez, hay varios matices.
- Pude instalar un openhub en mi microcomputadora en funcionamiento, incluso si tenía que patearlo. Pero no pudo volver a instalarlo en una nueva imagen limpia, y la solución que apareció la última vez no ayudó. Error (HTTP ERROR 404 Problema al acceder / inicio / índice. Motivo: no encontrado). Tenlo en cuenta. Pero como opción, openhub también se puede instalar en una computadora para realizar pruebas.
- El certificado de dominio para letsencrypt.org se emite por tres meses. No me he molestado en obtener otro certificado más largo
- Un borrador de la habilidad en https://dialogs.yandex.ru/developer/ pasó con éxito la moderación, pero aún no ha podido publicarlo. Error (errores de validación: - URL de punto final: error al implementar el protocolo de inicio inteligente: user_unlink: no encontrado). Hasta que descubrí cuál es el problema. Esto no impide que el sistema funcione, pero no recuerdo si hay restricciones en la duración de la habilidad no publicada.
- Encontró un error: resultó que en las fuentes yandex2mqtt en el archivo app.js en la línea "app.post ('/ provider // v1.0 / user / unlink', routes.user.unlink);" es oblicuo adicional. Corregido en mi microordenador: la publicación fue exitosa.
- También arreglé la sección de cambio de canal para el dispositivo "TV" en config.js, el original no funcionaba
Y, por último, las perspectivas de este grupo de hub abierto, plug-in y mosquito. OpenHub es el núcleo del sistema y puede controlar una gran cantidad de dispositivos (y esto no es cien piezas de hierro), y no solo la luz. Ahora estoy filmando Gnusmas TV para control de voz. Como tal gestión ya funciona, probablemente pueda copiar todo lo que está allí en la misma Alice, puede imaginarlo usted mismo. Por cierto, hay un par de observaciones de hoy. Descubrí que la luz de la casa se puede controlar desde cualquier lugar donde haya Internet para Alice, por ejemplo, desde un teléfono del otro extremo de la ciudad e incluso se puede controlar a través de una cámara doméstica. Y dado que la lista de comandos para controlar el dispositivo ya está registrada en la habilidad, además de que los comandos de voz se reconocen y se convierten en texto, no puede quejarse al teléfono "Alice, apaga la luz en el dormitorio", sino simplemente escribe "Apaga la luz en el dormitorio" y funcionará
Bueno, el video en sí: