Automatización del hogar con ioBroker
Ahora, cuando aparecen nuevas piezas de control para bombillas, aires acondicionados y otros utensilios domésticos casi a diario, la cuestión de combinar toda esta riqueza en una red es muy aguda.Pero, afortunadamente, el mundo no duerme y se dedica diligentemente a este problema. Hay soluciones gratuitas de buena calidad y de pago (no el hecho de que sea de buena calidad).Al igual que el mundo, yo tampoco puedo dormir, y yo, como todo el mundo, he estado durante muchos años seguidos, y durante los últimos tres años he estado trabajando especialmente para integrar todo tipo de equipos en un hogar inteligente.En este artículo quiero cubrir la automatización del hogar y cómo usar su proyecto de código abierto para iluminar (y no solo) su hogar confortable. ¡Ah, sí, casi se me olvida decir que toda la automatización ocurre en JavaScript!
Para todos los amantes de JS, pido un cortePara empezar, un poco de teoría seca y demagogia sobre el tema del hogar inteligente.Todos entienden este término como algo diferente. Alguien enciende la luz en el baño con un sensor de movimiento y considera que la casa ya es inteligente, pero para alguien la casa IronMan (JARVIS) no es lo suficientemente inteligente, porque esta casa finalmente se desgarró, lo que significa que no es Podría protegerme de algunas personas en helicópteros .Pero bromas aparte: toda esta gente tiene razón. Es solo que el nivel de "inteligencia" en el hogar también es diferente, como el coeficiente intelectual en las personas. Hay pequeños "niños" que saben cómo encender la bombilla, y hay "académicos" que se han graduado de la universidad y no solo pueden encender la luz, sino también apagarla :)En la casa, se pueden distinguir varias áreas de la automatización:- la mayoría de las veces es luz- luego calefacción- monitoreo ambiental: temperatura interior y exterior, humedad- seguridad y alarma- multimedia (TV, música)- persianas, ventanas, portones, puertas, toldos- ventilación y aire acondicionado- control de otros electrodomésticos- registro y horarios-Lista de notificaciones Puede continuar, pero me gustaría detenerme en las direcciones más utilizadas. Cada campo de automatización tiene su propio sistema de dispositivo, cada uno con sus propios protocolos, aplicaciones y métodos de control. Actualmente no hayUn fabricante capaz de proporcionar dispositivos en cada una de las áreas de automatización. Pero hay algunos que han llegado especialmente lejos: Samsung, Google, Apple.Al mismo tiempo, cada uno de los fabricantes inventa su propia bicicleta de protocolos de interacción y nadie quiere ceder ante el otro. Aunque el protocolo de interacción de google Weave parece el más pensado.También hay intentos de crear un protocolo independiente del fabricante. En esta dirección, IBM con MQTT ha avanzado más. Pero, desafortunadamente, no existe un canal estandarizado sobre la recepción de descripciones sobre dispositivos, como unidades, ubicación / sala, grupo funcional (persianas o luces) y otra metainformación.¿Y qué quiero decir con un hogar inteligente o, como se mencionó anteriormente, qué nivel de automatización me conviene?Experimenté mucho y llegué a la conclusión de que todos estos controles desde el teléfono, el control por voz o los gráficos de temperatura son solo juguetes.Una verdadera casa inteligente debe ser discreta. Solo debe ser notable cuando la casa inteligente deja de funcionar.Una casa inteligente debe monitorear a las personas a través de sensores y ajustar el entorno para ellas (no, por supuesto, no debe enviar esta información a Google). Ajuste la temperatura, mientras ahorra calor al calentar; enciéndalo, cuando una persona ingrese a la habitación, la luz de fondo sin deslumbrarlo o sin cubrir las persianas de las ventanas si el televisor está encendido y la ventana arroja luz sobre la imagen. Los escenarios son infinitos. Los hogares especialmente inteligentes deberían reconocer las secuencias y dependencias de los eventos y ofrecer nuevas reglas de automatización.Sé lo que digo. Colgué una tableta cerca de la puerta de entrada e implementé el control por voz y construí todos los horarios posibles e imposibles y puedo abrir la puerta del apartamento con un teléfono, pero todo esto es para mostrarles a mis invitados una vez qué tipo de casa inteligente escucharé y diré "Wow" . Mi familia y yo casi nunca lo usamos.No, esto es importante, a veces mire por teléfono el estado de los sensores de la casa mientras navega en el mar Mediterráneo o reciba una notificación con una foto que indique que alguien había entrado en la casa, aunque no debería, abra la puerta al cartero y vea qué No soportaría la mitad de una casa con él. Y, al final, escuchar de tus amigos el mismo "Wow" tampoco es el último argumento. :) Todo esto debería ser, aunque solo sea para entender que esto en realidad no es tan importante :)La automatización es mejor para un departamento en el que vive un soltero tecnófilo, que trabaja todos los días a la misma hora y que tiene un número constante de días festivos y fines de semana (Rusia, desafortunadamente, no cumple con este criterio). :)).Luego viene una joven familia sin hijos con un amor moderado por la tecnología. Es importante que cada uno de ellos no se separe de un teléfono celular.El caso más difícil es una familia con hijos (cuanto más grande, más difícil). Los niños simplemente no pueden ser automatizados. “Entonces, papá, que olvidé (a) el teléfono. No lo necesito en el patio ". Y todos los guiones para reconocer a las personas en la sala y las reglas para activar la alarma en función de ellos son inútiles. (Mi caso)Pero, sin embargo, volvamos a cómo hacer todo esto en casa y hacer que nuestro espacio de vida sea más cómodo.¿Qué es ioBroker?Es una plataforma de integración para Internet de las cosas y sirve como servidor central para:- casa inteligente
- automatización de edificios
- vida asistida
* Por cierto, agradeceré la traducción del último término.ioBroker es un sistema capaz de conectar la combinación completa de protocolos y dispositivos entre sí.Algunas empresas constructoras decidieron construir viviendas inteligentes en Hamburgo y recolectaron todos los dispositivos posibles en un apartamento y ofrecieron ocho aplicaciones telefónicas (por cierto, solo una manzana) para administrar todo este zoológico. Aquí probablemente necesito escribir: ¡puedes imaginar ocho aplicaciones, Carl!Con ioBroker, esto no sería necesario.ioBroker tiene una estructura muy modular. Cada módulo se ejecuta en un proceso separado y cuando se bloquea, simplemente se reinicia y todo el sistema continúa funcionando.La diferencia entre ioBroker y otros sistemas de automatización es el módulo de visualización web en el navegador. La mitad del tiempo requerido para desarrollar todo el ioBroker se dedicó a su desarrollo.
Además, la ventaja de ioBroker reside en la gran cantidad de paquetes npm disponibles: 286000.
* Información tomada de http://www.modulecounts.com/ .Por supuesto, la calidad de los paquetes no siempre está en la cima, pero como regla para el mismo problema hay varios paquetes diferentes y la cantidad en este caso se convierte en calidad. Solo necesita elegir el paquete correcto. Por lo tanto, la conexión de nuevos protocolos es solo una cuestión de tecnología.De esta manera, implementé la conexión de OPC UA, Sonos, MQTT, Telegram, Pushover, Homematic, Z-Wave, Simatic y muchos otros sistemas más.
Se pone gran énfasis en la capacidad de configurar y configurar convenientemente y esto consume la mayor parte del tiempo, a diferencia de FHEM y, por ejemplo, OpenHAB, donde la configuración se realiza a través de archivos de configuración.Alternativas de código abierto.
- OpenHAB es una popular plataforma de automatización de Java. Actualmente, hay hasta 160 controladores o módulos.
- FHEM es un sistema de automatización generalizado en Perl en Alemania con una gran cantidad de controladores: 340. Pero la configuración del sistema es deficiente y la falta de un metamodelo estandarizado dificulta la expansión del sistema.
- MajorDomo es una plataforma de automatización bastante madura en PHP. Puedes encontrar muchos artículos sobre este sistema aquí en geektimes .
- Domoticz: un sistema escrito en C / C ++ con una interfaz gráfica muy decente. Pero debido al hecho de que C / C ++ es difícil de escribir rápidamente, entonces con un conjunto limitado de controladores / módulos.En general, muchos sistemas de automatización del hogar interesantes se pueden encontrar aquí . Básicamente, la separación de sistemas ocurre en lenguajes de programación (Java, C / C ++, Python, Javascript, PHP, ...) y en hardware (Vera, Raspberry PI, Synology, Mediola, ...). Todos merecen el derecho a existir, aunque algunos pueden ser más y otros pueden ser menos.Por el momento, el nivel de conocimiento técnico de las personas que implementan el sistema de automatización es bastante alto y no se desmayan de las palabras: Linux, consola, apt-get. Pero cuando apareció la pregunta en el foro: "Instalé el sistema, pero no puedo cambiar la carpeta de inicio a la carpeta ioBroker. Ayuda! " Fue una campana que la informática comenzara a ponerse al día y que los usuarios de computadoras simples pudieran usar el sistema.Todas las interfaces de configuración están traducidas a 3 idiomas, con la excepción de los controladores específicos de Alemania. Bueno, ¿por qué un usuario de habla rusa necesita un conductor que proporcione datos sobre los precios de la gasolina en Alemania o advertencias meteorológicas del servicio meteorológico alemán?Además, los conductores de un mercado exclusivamente de habla rusa, como un controlador de alarma de automóvil Starline, permanecieron sin traducción.La documentación está escrita de la mejor manera posible en 3 idiomas, pero todavía hay mucho trabajo. Aunque durante el mes pasado ha habido muchas buenas descripciones.JavaScript se utiliza para escribir la interfaz, el servicio y los scripts. Uno de los lenguajes de programación generalizados y populares. Ahora Python está ganando gran popularidad, pero no puede escribir un shell gráfico para un navegador en python. (Sí, sé acerca de la existencia de py2js , pero todavía no he visto nada que valga la pena).Un poco sobre los proyectos de código abierto.Como persona que participa en un proyecto de código abierto, puedo decir: solía pensar que los proyectos de código abierto están escritos por miles de personas de todo el mundo y que les resulta fácil escribir cualquier cosa. Ahora puedo decir que hay uno detrás de cada fuente abierta (a veces en proyectos especialmente grandes, un grupo de personas) y que solo el uno por ciento de los usuarios son activos de la comunidad. Es solo que los grandes proyectos tienen millones de usuarios y el uno por ciento de un millón son diez mil personas. Pero los proyectos más pequeños tienen docenas o unidades de individuos. También puedo decir que un usuario interesado puede hacer más de diez programadores desinteresados y es importante simplemente ganar muchos usuarios y la probabilidad de que una persona pueda hacer una contribución significativa se vuelve más.Las posibilidadesPuedo decir que las posibilidades ... son infinitas. Multiplique la cantidad de paquetes npm por la cantidad de hierro y obtendrá un millón de posibilidades para encender la bombilla:- a través de telegrama- por voz- API de descanso- visualización web- aplicación de Android- interfaz para teléfonos y tabletas (móvil)- 340 controladores de FHEM- MQTTSí, y el proyecto se está desarrollando activamente y crece en 3 idiomas.Para aquellos interesados - google para ayudar. Y de ahora en adelante: intentaré describir no cómo funciona el universo, sino cómo se produce la comunicación entre el dispositivo Modbus y la central nuclear. Source: https://habr.com/ru/post/es394961/
All Articles