Smart Home Software # 2

Buen dia a todos! Continuando con la idea de mi antiguo post , desarroll茅 un programa que puede usarse como un sistema para controlar una casa inteligente.


imagen


Para interesar inmediatamente al lector, demostrar茅 algunos de los escenarios para usar el software:



Iluminaci贸n, climatizaci贸n,
multimedia etc. por
Dispositivos Z-Wave y Modbus ,
la capacidad de expandir la lista
protocolos de escritura compatibles
complementos




Rastreador GPS y disparadores de geolocalizaci贸n.

Creaci贸n de algoritmos de trabajo.
gui贸n con ciclos y condiciones ;
usando un script en
amigo oportunidad de combinar
m煤ltiples servidores Lazurite
a trav茅s de scripts remotos .


ESCENARIOS


Lazurite le permite crear disparadores y scripts complejos con condiciones y bucles , es decir. el usuario puede "programar" el programa utilizando el constructor incorporado para cualquiera de sus necesidades.


Cualquier secuencia de comandos tiene su propio interruptor en la interfaz de usuario: "mosaico". Dependiendo del tipo de datos de script, el interruptor se ver谩 diferente.


Ejemplos de cambios de script.


>> Obtenga m谩s informaci贸n sobre los tipos de datos y los conmutadores.


Adem谩s, hay tres tipos de scripts en Lazurite: acci贸n simple, script complejo y script remoto.


Ventana para seleccionar el tipo de script que se crear谩.


Acci贸n individual


Las acciones individuales son escenarios que no requieren una l贸gica compleja, como encender la luz o cambiar el nivel de sonido utilizando el "mosaico" en el men煤 del interruptor. En tal escenario, no puede crear un bucle o condici贸n; en 茅l solo puede vincular una acci贸n separada del complemento (sobre ellos a continuaci贸n) al conmutador.


Constructor de acci贸n simple que utiliza el ejemplo de creaci贸n de un modificador ModbusRTU .


Escenario dif铆cil


Un escenario complejo es un escenario con l贸gica compleja en la que hay bucles y condiciones.


>> Detalles sobre c贸mo crear un script complejo.


Mientras que la humedad en la habitaci贸n es menor o igual al 40%, ajuste la humedad.


Un escenario complejo que utiliza dispositivos Z-Wave como ejemplo.


Una condici贸n dif铆cil con grupos y comparaciones de valores num茅ricos.


Script remoto


Lazurite tiene un servidor incorporado en el que se ejecuta el servicio WCF. Esto es lo que permite que las aplicaciones cliente reciban informaci贸n sobre los scripts y realicen algunas acciones. Pero, adem谩s, otro servidor Lazurite puede conectarse al servidor Lazurite y usar scripts de servidor remoto. Para usar esta funcionalidad, debe crear un script remoto .


La compatibilidad con scripts remotos le permite crear una red de dispositivos con Lazurite instalado. Es decir en los scripts de un servidor, puede llamar scripts u obtener valores de script de otro servidor.


Por ejemplo, en una casa grande, puede crear un sistema distribuido en el que varios nodos con Lazurite instalado se ubicar谩n en diferentes pisos (habitaciones, edificios), con los cuales la unidad central de Lazurite se comunicar谩. El administrador configurar谩 el sistema y decidir谩 qu茅 tan independientes ser谩n los dispositivos esclavos, si se utilizar谩n como int茅rpretes simples o si se les incorporar谩 cierta autonom铆a.



DISPARADORES


Los disparadores son ciertas acciones que se activan cuando se producen condiciones especiales. Se diferencian del escenario en que no tienen un tipo de datos y no tienen un "mosaico". El activador para activar un activador es cambiar el escenario seleccionado, es decir Si queremos realizar alguna acci贸n cuando la temperatura cambia, la humedad cambia, la apariencia del usuario en el hogar, etc., entonces necesitaremos crear un disparador para el escenario correspondiente. El constructor del disparador es una copia del constructor del script, donde puede crear bucles, condiciones, acciones.


Disparador para activar un sensor de movimiento.


ACCION


Cualquier l铆nea agregada en el constructor del script es una "acci贸n". Cada complemento instalado en Lazurite agrega algunas caracter铆sticas nuevas al programa: acciones. Cualquier trabajo con Z-Wave, Modbus, geolocalizaci贸n, etc. producido a trav茅s de esta funcionalidad. En consecuencia, cualquier acci贸n, como un script, tiene su propio tipo de datos .


>> Lista de todas las acciones en Lazurite.


Ventana para seleccionar una acci贸n en el constructor del script.


SEGURIDAD


En Lazurite, puede configurar el acceso para ver y cambiar el valor del script. Esto puede ser necesario cuando creamos un usuario en el sistema para nuestro invitado o cuando solo queremos ocultar un script que realiza funciones auxiliares y no debe mostrarse a los usuarios.


Ventana de configuraci贸n de seguridad de script.


Los siguientes elementos est谩n disponibles para configurar la seguridad:


  • "Negar para cualquier uso";
  • "Denegar para todos los grupos excepto ...": prohibici贸n del uso del script para usuarios que no son miembros de los grupos seleccionados;
  • "Denegar para todos los usuarios excepto ...": prohibici贸n de utilizar el script para todos los usuarios excepto los seleccionados;
  • "Denegar para grupos": prohibici贸n de ejecuci贸n para grupos de usuarios seleccionados;
  • "Denegar la ejecuci贸n desde la red": los scripts con esta restricci贸n no se pueden mostrar en las aplicaciones cliente y no se pueden usar como un "script remoto";
  • "Denegar para el men煤 de inicio r谩pido": el script no se mostrar谩 en el men煤 de inicio r谩pido;
  • "Denegar para usuarios": prohibici贸n de ejecuci贸n para usuarios seleccionados;
  • "Denegar el uso de otro script / disparador": el script no se puede ejecutar en otro script o disparador.

Por defecto, cualquier script est谩 prohibido para comenzar desde la red y para el men煤 de inicio r谩pido.


USUARIOS Y GRUPOS


Los usuarios de Lazurite son una parte integral del sistema. Sin una cuenta, los usuarios no podr谩n acceder a los scripts necesarios y administrar dispositivos en la casa. Si no hubiera autenticaci贸n, cualquier persona se conectar铆a al sistema y ejecutar铆a cualquier script, lo cual es extremadamente indeseable.


Para mayor comodidad, las configuraciones de seguridad de los scripts de usuario se pueden agrupar, por ejemplo, puede crear un grupo "Invitados" y evitar que este grupo ejecute ciertos scripts.


>> M谩s sobre usuarios y grupos .


Onda Z


Z-Wave es un protocolo de comunicaci贸n inal谩mbrica utilizado en dom贸tica. Para implementar el protocolo, se utilizan m贸dulos de RF en miniatura de baja potencia. Ahora en el mercado de ZWave hay una lista bastante extensa de dispositivos, como bombillas, enchufes, m贸dulos de rel茅s, interruptores, cerraduras, sensores de temperatura (humedad, movimiento, fugas), controladores de temperatura, dispositivos de control de aire acondicionado, etc. Los multisensores tambi茅n son comunes: dispositivos que combinan varios sensores (por ejemplo, un sensor de luz, presencia, temperatura, sensor de puerta, etc.), lo cual es muy atractivo desde el punto de vista de los costos financieros y la ubicaci贸n en la habitaci贸n.


En Lazurite, el m贸dulo ZWave le permite realizar todas las operaciones est谩ndar del dispositivo, como eliminar, agregar dispositivos y restablecer el controlador. Tambi茅n puede usar varios controladores ZWave, el usuario final no ver谩 la diferencia. Por ejemplo, puede tomar lecturas de temperatura de un sensor que est谩 conectado al controlador "A" y encender el aire acondicionado usando el controlador "B". No hay restricciones, cualquier acci贸n y verificaci贸n se llevan a cabo de manera est谩ndar y se agregan en el dise帽ador de scripts .


El nodo se selecciona en la imagen, el multisensor es ZW100, luego se selecciona su par谩metro de usuario, con el que puede medir la temperatura en la habitaci贸n .


Despu茅s de crear una secuencia de comandos con este nodo, aparecer谩 un mosaico con informaci贸n de temperatura.


>> M谩s sobre Z-Wave en Lazurite.


ESTAD脥STICAS


Lazurite tiene una funcionalidad que le permite mantener un historial de los valores de diferentes escenarios (por ejemplo, temperatura en la sala de estar, humedad en la habitaci贸n, nivel UV, detecci贸n de movimiento). El usuario puede seleccionar los escenarios para los que es necesario mantener estad铆sticas, luego mirar los gr谩ficos de sus din谩micas durante un cierto per铆odo de tiempo.


Mostrar estad铆sticas en forma de gr谩ficos.


Mostrar estad铆sticas en forma de gr谩fico circular.


>> M谩s sobre estad铆sticas.


GEOLOCACI脫N DEL USUARIO


Lazurite tiene la funcionalidad de un rastreador GPS. Cualquier aplicaci贸n cliente env铆a informaci贸n de geodatos al servidor Lazurite, donde estos datos se pueden procesar, guardar y mostrar. Las acciones presentadas en el complemento UserGeolocationPlugin est谩n dise帽adas para trabajar con la geolocalizaci贸n de los usuarios y le permiten calcular valores como la distancia del usuario a un lugar, la ubicaci贸n del usuario en un lugar espec铆fico, etc.


Algunas acciones requieren la presencia no solo del usuario, sino tambi茅n de un lugar o una "ubicaci贸n", que debe configurarse y configurarse en el programa. Tal lugar puede ser una casa, trabajo, ciudad, estaci贸n de metro. Se necesitan acciones con este par谩metro para realizar cualquier acci贸n sobre la apariencia o la distancia del usuario desde esta "ubicaci贸n". Un lugar tiene tres par谩metros: coordenadas centrales, radio y nombre.


Un ejemplo de los lugares creados (hogar y trabajo) y la ruta del usuario entre ellos en la fecha seleccionada.


La posici贸n del usuario se puede ver a trav茅s de la aplicaci贸n Lazurite en el tel茅fono inteligente.


Adem谩s, puede mantener un historial de movimientos agregando el script apropiado a las estad铆sticas .


Movimientos del usuario durante un largo per铆odo de tiempo.


>> M谩s sobre el complemento.
>> M谩s sobre la historia de los movimientos.


VARIOS


El programa tiene la capacidad de crear scripts para intercambiar mensajes entre usuarios y recibir notificaciones del sistema sobre varios eventos.


Ventana de visualizaci贸n de la bandeja de entrada.


Enviar un mensaje a otro usuario.


Adem谩s, hay varias otras funciones, como Wake-on-Lan , emulaci贸n de teclas multimedia en Windows , control de sonido en Windows , trabajo con procesos de Windows , control de dispositivos Modbus , etc.


Aprende a crear complementos aqu铆 .


El desarrollo adicional del sistema en este momento se ve de la siguiente manera:


  • la arquitectura del programa se modernizar谩 de tal manera que los motores ya preparados o los servicios de reconocimiento de voz se puedan usar como complementos;
  • una mayor descomposici贸n y modernizaci贸n de la funcionalidad de los complementos y scripts en el futuro le permitir谩 crear scripts desde una tableta o tel茅fono inteligente;
  • est谩 previsto crear un m贸dulo de videovigilancia en el que habr铆a funcionalidad para grabar video, transmitir la transmisi贸n de video a dispositivos m贸viles, reconocimiento de movimiento, etc.

>> Proyecto WIKI
>> Sitio web del proyecto
>> EN GOOGLE PLAY
>> 脷ltima versi贸n


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


All Articles