Web-Enabled termostato casero (y centro de automatización del hogar)

Este Instructable explica cómo construí termostatos WiFi habilitado para mi casa. Los termostatos programables con 6 diferentes períodos de tiempo durante el día, a pesar de aumento a un número arbitrario sería bastante triviales. Que pueden ser programados (en el sentido de las temperaturas y tiempos de fraguado), así como controlados por internet, y tienen una pantalla táctil LCD para control local. Y pasé (y siguen gastando) una buena cantidad de tiempo tratando de conseguir que se vean decentes; después de todo, esto es algo que cuelga en mi pared, y yo y mi familia va ser verlo todos los días.

Una pregunta obvia es "¿por qué alguien querría hacer esto cuando hay un montón de termostatos WiFi habilitado para la venta comercialmente?" Una respuesta posible sería ahorrar dinero. Pero, si bien es cierto que estos pueden costar menos de construir que algunos modelos comerciales una vez que usted factor en su tiempo, esto se convierte en una mala respuesta! Mejor respuestas serían para divertirse haciendolo (lo hice), o para construir un termostato que se puede programar para ejecutar e interactuar con otros dispositivos en cualquier forma deseada. He construido como parte de un sistema de gestión de energía en el hogar más grande, y tal vez post Instructable otro en eso más adelante. Y como extra: el centro para los termostatos está listo para funcionar como un centro para un sistema completo de automatización del hogar!

Otra pregunta obvia es qué tipo de capacitación formal o experiencia tengo en esta área, y la respuesta es absolutamente ninguno – sin fondo con climatización, sin experiencia en no programación, ningún fondo en electrónica. Por lo tanto, si usted decide construir sus propio termostatos, debería no sólo oculto copiar exactamente lo que tengo aquí y conectarlo a la pared. Este proyecto requiere pensamiento analítico, preciso, y debe comprender el tipo de sistema de climatización tienen, revisar y modificar todos los circuitos según corresponda y código y asegúrese de que entender lo que estás haciendo y las consecuencias de equivocarse. Hacerlo podría destruir tu sistema HVAC, electrocutar a sus seres queridos o quemar tu casa. En serio! Ciertamente acojo con satisfacción los comentarios de quien tiene conocimiento en estas áreas en cuanto a cómo podría hacer que estos termostatos mejor.

Y por supuesto, yo podría no haber hecho esto sin todo el trabajo duro de la gente que ha creado varias bibliotecas utilizadas, las personas que se tomaron el tiempo para apagar el información en la web de Instructables, foros y blogs y la gente que me ayudó con consejos y respuestas a mis preguntas. Agradecimiento especial a Mark Pendrith que fue útil y me dio el código que constituye la base de lo sketch de arduino.

Por último, en el proceso de modificación de archivos para trabajar con sólo los termostatos (en comparación con el más grande sistema de gestión de energía en el hogar) así como todo lo que hice en el tiempo para conseguir que funcione recordar, sin duda habrá algunos errores aquí. Por favor me avisan si se coge alguna y voy a intentar conseguirlos corregido tan pronto como sea posible.

Con todo de eso fuera del camino, aquí lo que hice:

El sistema utiliza un Raspberry Pi como un eje central que sirve páginas web, por lo que puedo controlar los termostatos desde cualquier lugar. El centro también encarga de la comunicación inalámbrica sobre nRF24L01 + módulos de radio (sé que dije "WiFi", y el módulo de radio nRF24L01 + no es técnicamente Wi-Fi, pero más sobre esto más adelante) y mantiene una base de datos de MySQL con el termostato de programación, así como cualquier registro de datos que hago. Y por último, el hub funciona dos servidores escritos en Python, uno controla el termostato (como un intermediario entre la página web y el termostato) y el otro maneja registro de datos. Creo que esto podría probablemente hacer con los termostatos cada sirviendo a su propia página web simple y enviar datos directamente a la base de datos MySQL. Esto eliminaría la necesidad de que el servidor web lighttpd y los servidores de dos python. Pero, siento que hacerlo en el centro ofrecen la simplicidad de un único sitio web, y los servidores python proporcionan mucha flexibilidad. Además no tengo que actualizar el código de los termostatos cuando quiera realizar cambios en estos aspectos.

Si penetran realmente en esto, probablemente te preguntarás por qué me molesto con una base de datos MySQL en lugar de escribir solo unos pocos datos en un archivo de texto cuando sea necesario. La respuesta principal es que necesito la base de datos MySQL para otras partes de mi sistema, pero si todo lo que tenía eran los termostatos, sería bastante fácil al eliminar la base de datos y reemplazarlo con archivos de texto.

Por lo tanto, el flujo de comunicación esencialmente funciona de la siguiente.

Actualizaciones de usuario en el sitio Web

Un usuario controla o programas un termostato en un sitio web escrito en PHP (en su mayoría, un pequeño javascript).

Ese sitio web guarda los cambios a la base de datos MySQL y envía una instrucción al servidor de control de python.

El servidor de control de python interpreta esas instrucciones, actualiza una representación interna del termostato y envía las instrucciones apropiadas al termostato físico sobre la red RFX.

Actualizaciones de usuario en el termostato

Un usuario controla un termostato con los controles de pantalla táctil.

El termostato envía los cambios al servidor de control de python.

El servidor de control de python una representación interna del termostato actualiza y guarda los cambios a la base de datos MySQL.

Termostato tiene datos para registro o mensajes para guardar

El termostato envía datos o un mensaje al iniciar sesión el servidor de registro de datos de python.

El servidor de registro de datos ahorra o que datos a la base de datos MySQL o un archivo de registro basado en el tipo de mensaje.

Termostato temperatura cambia automáticamente según un programa establecido

El servidor de control de python supervisa el programa establecido por el termostato y determina cuando debe cambiar la temperatura.

El servidor de control de python actualiza una representación interna del termostato y envía la nueva temperatura al termostato.

Así, con ese resumen detrás de nosotros, a continuación se presentan detalles sobre cómo configurar esto para arriba. El primer paso enumera las fuentes y herramientas que utiliza. Los varios pasos del Instructable cubren cómo configurar la infraestructura de hardware y software para el cubo. La mayoría de estos se incluyen instrucciones por referencia, hay un montón de lugares para obtener información sobre cómo, por ejemplo, para configurar una base de datos MySQL en un Raspberry Pi, así que no intentan replicar. Entonces, cuando la infraestructura esté en su lugar, doy mucho más detalle sobre cómo construí los termostatos reales así como el código que utilizo para controlarlos.

Artículos Relacionados

Linux: empezando en un servidor de automatización del hogar.

Linux: empezando en un servidor de automatización del hogar.

Linux: empezando en un servidor de automatización del hogar.Esto es sólo un quickie prueba de concepto sobre el uso de un servidor web para Domótica remotamente. a todos nos va a hacer es encender algunos leds, pero el plan de acción estará allí para
Servidor de automatización del hogar con router

Servidor de automatización del hogar con router

convertir un router barato en un servidor de automatización del hogar!Este proyecto permitirá cambiar enchufes y luces desde su iPhone, o cualquier navegador.También podrás enviar comandos serie control remoto.Este proyecto se basa en SmartLinc.http:
Creación de un sistema de automatización del hogar!

Creación de un sistema de automatización del hogar!

Aquí es cómo había automatizado mi casa. Necesitaba un medio para;-administrar mi sistema de energía solar incluyendo la habilidad de cambiar de fuente de utilidad debo necesitarlo.-administrar el alimento y el agua a mis tres perritos.-controlar las
Automatización del hogar usando MQTT y NodeMcu o arduino

Automatización del hogar usando MQTT y NodeMcu o arduino

Domótica es un rumor nuevo hoy en día... hay tantos hardware de código abierto disponibles para construir su propia automatización del hogar. Muchas herramientas, es fáciles de confundir para decidir cual es mejor / conveniente para usted. Manteniend
Ingeniería inversa: USB controlado hack de automatización del hogar

Ingeniería inversa: USB controlado hack de automatización del hogar

hackear un sistema inalámbrico de automatización del hogar para ser controlada usando dos Microcontroladores AVR USB!¡ Mira el video! El sistema es realmente más sensible, pero el navegador de mi celular es lento.Si te gusta esto, posiblemente le gus
Automatización del hogar Datura 6 - mejoras de 2015

Automatización del hogar Datura 6 - mejoras de 2015

Noticias: En estos últimos meses he hecho algunos importantes correcciones y mejoras al código y al servidor Web del proyecto. Ver datura_mega_v19.ino para el último código.El proyecto más funcional en internet, utilizarlo como un sistema de riego co
Guía para principiantes en el uso Webhooks para automatización del hogar con Prota OS

Guía para principiantes en el uso Webhooks para automatización del hogar con Prota OS

TL:DR: webhooks son fáciles de usar y configurar con Prota OS. Utilice webhooks para cientos de flujos de trabajo de automatización.Aprender a configurar y utilizar OS Prota para Raspberry Pi aquí.Descargar OS Prota para Raspberry Pi aquí.¿Cuáles son
Compruebe que está en casa! Automatización del hogar. Vigilancia. Gran hermano tecnología frambuesa PI.

Compruebe que está en casa! Automatización del hogar. Vigilancia. Gran hermano tecnología frambuesa PI.

En este instructable brevemente explicaré cómo se puede construir una página web para ver quién está en casa o utilizar el script para la automatización del hogar.Se necesita:* Un router con posibilidad de configurar la dirección ip dirección mac* Fa
Bluetooth basado en automatización del hogar

Bluetooth basado en automatización del hogar

Bluetooth basado en automatización del hogar, proyecto permite controlar aparatos eléctricos utilizando su teléfono móvil android. Consiste en el microcontrolador ATmega8, módulo Bluetooth HC-06, Relays.There son muchos Inicio sistemas de automatizac
DIY IoT $10 base de automatización del hogar

DIY IoT $10 base de automatización del hogar

Se realiza IOT basado en proyecto de automatización del hogar con bajo costo ESP8266 ESPino ESP-12 módulo de WiFi, utiliza relés y algunos componentes simples, se suministra completa código y pcb layout, para más detalles sobre la configuración del s
Edison de Intel basado en monitor de sonido para la automatización del hogar!

Edison de Intel basado en monitor de sonido para la automatización del hogar!

Hola todo el mundo!Soy Geeve George un fabricante con orgullo de la INDIA! Empecé a hacer en la edad de 10 y mi afán por hacer todavía continúa como estoy fascinado por las infinitas posibilidades y oportunidades que la tecnología ofrece.Sombrero! es
Dispositivos de Internet para la automatización del hogar

Dispositivos de Internet para la automatización del hogar

Este instructivo muestra los principios involucrados en la fabricación de dispositivos para el control domótico por internet. Estamos va a construir un dispositivo (o varios de ellos), habla uno al otro por internet para controlar luces, motores para
Fácil automatización del hogar bricolaje (usando interruptores servo)

Fácil automatización del hogar bricolaje (usando interruptores servo)

este Instructable es todo sobre una de las acciones simples de la vida, un interruptor de luz encendido y apagado.En oomlout lo hacemos muchas veces al día, muchos de hecho llegó a un punto donde nos preguntamos "No podemos hacer un Arduino para hace
Servidor de automatización del hogar inteligente en OpenWRT router WR703N conectado a Arduino, en comparación con Ubuntu y frambuesa Pi

Servidor de automatización del hogar inteligente en OpenWRT router WR703N conectado a Arduino, en comparación con Ubuntu y frambuesa Pi

descargar el Resumen de WR703N (archivo zip de 340MB):https://sourceforge.net/projects/WR703N/---------------------------------------------------------------------------------------------------------------------------------Estimado lector,Hay muchos