Go Down

Topic: Proyecto de domótica desde 0 (Read 25036 times) previous topic - next topic

flico

Bueno estoy de vuelta por aqui. Con mi peque apenas tengo tiempo de enredar un poco  y uso el movil para leer un poquito el foro.
Por cierto interesantisimo este hilo

@Sergegsx
Quote
Yo si que uso 1 unidad remota y en mi caso me aventure a usar los 2 pines del puerto de serie para comunicarse entre ellos y funciona muy bien. Si tuviese que escalar no seria viable.
en mi caso el arduino mega principal se encarga de subir todo a una web que a su vez tiene programada multitud de tareas de estadisticas, informes, emails, graficos, alarmas, etc etc.

Como hacer para subirlo, ¿por php?

Quote
y lo mas importante, ir paso a paso y probando modulos por separado. lo digo por experiencia.

+1 Sergegsx Estoy completamente de acuerdo

@Igor
Quote

Yo plantearía un proyecto de domótica:

    Todos los módulos (i.e. Arduino) conectados entre sí por un bus (ejemplo rs485 o bus CAN).
    Una raspberry, beagleboard,router con openwrt, dispositivo android, etc

Aunque al principio pensaba hacerlo como dice @Sergegsx cableando hasta un arduino mega y repartirlo, cuando empeze a contar toda la cantidad de cables que habia que llevar por toda la casa y lo complicado que era opte por hacerlo como dice @Igor usando una red en principio RS485 aunque al final probare CAN para no tener muy cargado cada arduino.

Quote
No necesitas tener un rtc en cada dispositivo, ya que van conectados por bus. Esa información puede ir en el bus del dispositivo que disponga uno.

Un punto importante este.

Quote
La raspberry (o dispositivo similar) puede mirar tareas de google calendar y/o aceptar comandos por google talk,twitter, etc.Hay mucha documentación de cómo hacerlo, por ejemplo con python. Usar estos servicios, te dan flexibilidad que cualquier dispositivo móvil android, ipad, ordendador, iphone, etc. esta preparado o tiene aplicaciones para manejarlos. Todo el tema de seguridad, va manejado por dichos servicios web.... Envia por el bus los comandos recibidos.


Esto si que no lo habia pensado, usar google calendar para planificar. Buscare informacion para trastearlo

Quote
La raspberry (o dispositivo similar) contiene la GUI del sistema (via web, glcd, o lo que se prefiera). Pero el sistema puede funcionar aunque dicho dispositivo caiga, no tenga conexion a internet, etc.. Es decir, cada módulo es independiente es sus tareas.


Importantisimo, te falla un arduino pero el resto sigue funcionando. Tu imaginate que se averia y no funciona nada de nada. Uffff me coge mi mujer y ....

Quote
Cualquier dispositivo puede hacer pasarela con otras redes, ejemplo bluethooth <--> bus, zigbee, infrared, etc.

Bien pensado @Igor

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

flico



Permiteme compañero una modificacion:


Cambiado el esquema asi no le hace falta fusibles alguno.

El rele de arriba pasa a ser el encargado de activacion del automatismo con el arduino, cuando el arduino va a realizar una maniobra accionamos el rele de activacion con lo cual deja sin fase al pulsador manual, asi no hay riesgo de encontrarte dos tensiones y con el rele de abajo simplemente o sube o baja dependiendo si esta activado o no.


Si el arduino falla siempre funcionara el sistema manual porque el rele 1 de activacion esta en reposo, siempre le manda la fase a la linea de pulsador manual, solo deja de enviar la fase a la linea del pulsador manual cuando entra en accion el arduino.


@Heke tu sabes la de veces que he pensado este tema y no he encontrado solucion,

Amigo @Heke SOBRESALIENTE
Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

Heke

cachis... no sabia Flico que estabas peleando con ello...

Pero cuando algo se te bloquea postealo, ya sabes el refran "cuatro ojos ven mas que dos" y entre todos los que somos en el foro...

Mirame a mi, no seran pocas las veces que me bloqueo y tengo que preguntaros... menos mal que siempre estais ahi hechando una mano.

Un saludo compañero.

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

pistojo

Hola a tod@s, me he animado a hacer un proyecto muy parecido que creo que es compatible con este tema, imagino que algunos tendréis un aparato de aire acondicionado tipo Fancoil y un termostato, yo he descubierto que el mío funciona con el protocolo rs485, y como una de las opciones de automatizar es utilizar rs485 entre arduino a para crear un bus, y controlar dispositivos, se me ocurrió sustituir mi termostato con un arduino, y así ya tendría la temperatura de la casa controlado.
El principal problema creo yo, es reconocer los comandos que envía el termostato al Fancoil para qué cambie de función ( frío, calor, condensación, ventilador) y la temperatura que tiene que haber en la sala, etc......
A alguien se le ocurre como hacer un sniffer de estas comunicaciones?

Gracias a todos de antemano, y a ver si puedo aportaros algo.
Un saludo.

masteron

Normalmente el fabricante te da el protocolo de comunicación. Y es muy probable que no tengas que sustituir el termostato, puedes dejarlo y añadir arduino para controlarlo desde dos sitios.

Creo que buscas un proyecto como este:

http://www.diegotecnology.es/domotica-arduino-android/

Pero la licencia no es comercial
Learn to work with arduino from beginner to expert.
wireless, bluetooth, xbee communications

More info about Arduino: www.diegotecnology.es




Permiteme compañero una modificacion:


Cambiado el esquema asi no le hace falta fusibles alguno.

El rele de arriba pasa a ser el encargado de activacion del automatismo con el arduino, cuando el arduino va a realizar una maniobra accionamos el rele de activacion con lo cual deja sin fase al pulsador manual, asi no hay riesgo de encontrarte dos tensiones y con el rele de abajo simplemente o sube o baja dependiendo si esta activado o no.


Si el arduino falla siempre funcionara el sistema manual porque el rele 1 de activacion esta en reposo, siempre le manda la fase a la linea de pulsador manual, solo deja de enviar la fase a la linea del pulsador manual cuando entra en accion el arduino.


@Heke tu sabes la de veces que he pensado este tema y no he encontrado solucion,

Amigo @Heke SOBRESALIENTE


Hola. Soy el responsable del desarrollo del sistema functiodomo. Estaba echando una ojeada y he visto el esquema anterior. Creo que os puedo echar una mano si os comento que a ese esquema le falta un componente, que es la detección del estado del pulsador manual para que en el momento que cambie de estado pasa el equipo a ser controlado de forma manual. Si no, cuando está siendo accionado de forma remota no se puede parar con el pulsador.

El esquema que usamos nosotros es el siguiente para cada línea (uno para la de subida y otro para la de bajada):



Está todo explicado en los siguientes post:
http://www.functionars.es/functiodomo_wp/?p=63 (parte 1)
http://functionars.es/functiodomo_wp/?p=81 (parte 2)

Con este esquema de 2 relés para la acción más 1 "relé invertido" para la detección se puede programar la placa Arduino para que cambie de estado en el caso de que los alguien toque los pulsadores manuales.
José Antonio Castillo Rodríguez
Responsable de diseño de producto
Functio & Ars S.L.
www.functionars.com

Heke

Una duda que no consigo descifrar

Si al arduino se le funde la alimentacion o se queda tostado ¿el sistema de persianas sigue funcionando manualmente?

Y una pregunta aparte: ¿Cuantos hilos mandas a la persiana desde el arduino?

Un saludo.
CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO


Una duda que no consigo descifrar

Si al arduino se le funde la alimentacion o se queda tostado ¿el sistema de persianas sigue funcionando manualmente?

Y una pregunta aparte: ¿Cuantos hilos mandas a la persiana desde el arduino?

Un saludo.


Hola Heke. La placa tiene como entradas la línea, la fase, la línea tras el pulsador de subida y la línea tras el pulsador de bajada. Las salidas para el motor de la persiana son fase, línea para el sentido subida y línea para el sentido bajada. Como ves, básicamente es cortar el cable de alimentación y meter la placa en medio, con la salvedad de que hay que hacerle llegar también los cables de las dos líneas tras pasar por los pulsadores.

Adjunto un esquema de cómo quedan las conexiones:



En la placa de control englobo el transformador, el arduino y el módulo de comunicaciones (he tenido que desarrollar una placa a medida porque no había lo que yo necesitada). Las placas de potencia contienen los relés y entradas para dos sensores cada una.

En cuanto a tu pregunta sobre qué pasa si falla el control remoto o la placa fallan, pues la respuesta es... nada. Las persianas siguen funcionando en modo manual, pues los relés que dejan paso a las señales provenientes de los pulsadores son NC,  por lo cual ante fallo del equipo lo que "ve" el motor es un cable hasta los pulsadores. Si se quiere actuar de forma remota, lo primero que hay que hacer es activar esos relés para que corten la señal que llega de los pulsadores.
José Antonio Castillo Rodríguez
Responsable de diseño de producto
Functio & Ars S.L.
www.functionars.com

Hola soy SysAdmin y yo llevo un tiempillo trasteando con arduino y ultimamente me estoy decantando por node.js para la comunicación directa con el arduino y a la vez para servir una web para controlarlo con jQuery y AJAX, el proyecto obviamente consiste en Domotica LowCost. Lo comento porque realmente funciona muy bien y seguro que alguno se lo plantea. Por otro lado como no soy programador tengo carencias en la correcta programacion de la interfaz web, por lo que a lo que animo finalmente es crear un grupo de desarrollo con los interesados para compartir conocimientos. Podeis contactarmen a mi email gonzaloadrio@gmai.com para ponernos un poco mejor en contacto https://groups.google.com/forum/?fromgroups&hl=es#!forum/domoticaconarduino

Sergegsx

hay muchos posts que abre gente que quiere hacer domotica y propone juntarse con mas gente para desarrollarlo. busca por el foro. de todas formas tengo la impresión que luego muy pocos lo lleva adelante.

Hola a todos! Ya estoy de nuevo por aquí. Desde que inicié este hilo he estado trabajando en la interface y el modo de gestionar el sistema domótico, la verdad que lleva hecho unos cuantos meses, pero por motivos de trabajo lo he tenido realmente abandonado. Os paso un enlace para que le echéis un ojo a la aplicación web que he desarrollado para que le echéis un ojo. Por cierto, bautizado como Mayorduino. http://mayorduino.juanpa.es/

En el ejemplo hay tan sólo algunos elementos, muy pocos, pero creo que suficientes como para comprender su funcionamiento. Por supuesto, no interactúa con una placa arduino real, tan sólo lo he puesto en internet para que podáis echarle un ojo a ver que os parece.
Ya la he probado y funciona correctamente, aunque todavía no he desarrollado la interface de administración.
El tema de los relés también está solucionado, pero en esto me ha ayudado un amigo de la rama de la electrónica, pero os adelanto que son 2 relés nada más y con eso se controla cada elemento.
Estos días espero retomar de nuevo el proyecto, terminando la interface de control y de administración y empezar a implementarlo en una vivienda.
Si me da el tiempo espero hasta poder gravar algún vídeo para mostraros su funcionamiento completo.
Nos leemos pronto!

mirasu

a mi me gusta tu web juanpa615.
cuanto ocupa? Se puede poner en un arduino o necesita ordenador?


iaguezno

Buenas a todos, soy nuevo con esto pero me gusta esta idea. Estoy haciendo/buscando un proyecto que se parece bastante a este. Usar un arduino junto con una Raspi. En mi caso estoy programando el arduino para que haga lo siguiente:

Con dos pulsadores hacer una conmutada (con su correspondiente debounce), con estos mismos pulsadores al mantenerlos pulsados continuamente un tiempo definido, en mi caso dos segundos, la salida a controlar quedará temporizada, este tiempo se lo da un potenciómetro. Ya tengo el código casi terminado, (me falta añadirle una salida acústica, para saber cuando entra en el modo temporizado a través del potenciometro), ahora vienen las dudas.

Como tengo que hacer esto para varias salidas (ya que tengo varias zonas de alumbrado) puedo crear una función para no repetir esto para otras salidas con otras entradas o tengo que copiarlo variando las entradas y salidas.

Con respeto a la web muy buena idea, yo ando en lo mismo pero como le mandas la ordenes a arduino? , si tienes la raspi haciendo de servidor web que tengo que hacer para que le mande una orden a arudino y la cumpla ...python??

Si le interesa a alguién el código no tengo problema en colgarlo cuando lo termine, un saludo.

noter


Buenas a todos, soy nuevo con esto pero me gusta esta idea. Estoy haciendo/buscando un proyecto que se parece bastante a este. Usar un arduino junto con una Raspi. En mi caso estoy programando el arduino para que haga lo siguiente:

Con dos pulsadores hacer una conmutada (con su correspondiente debounce), con estos mismos pulsadores al mantenerlos pulsados continuamente un tiempo definido, en mi caso dos segundos, la salida a controlar quedará temporizada, este tiempo se lo da un potenciómetro. Ya tengo el código casi terminado, (me falta añadirle una salida acústica, para saber cuando entra en el modo temporizado a través del potenciometro), ahora vienen las dudas.

Como tengo que hacer esto para varias salidas (ya que tengo varias zonas de alumbrado) puedo crear una función para no repetir esto para otras salidas con otras entradas o tengo que copiarlo variando las entradas y salidas.

Con respeto a la web muy buena idea, yo ando en lo mismo pero como le mandas la ordenes a arduino? , si tienes la raspi haciendo de servidor web que tengo que hacer para que le mande una orden a arudino y la cumpla ...python??

Si le interesa a alguién el código no tengo problema en colgarlo cuando lo termine, un saludo.


Supongo que deberás hacer una función a la que envíes los parámetros necesarios (puerto, temporización...) y crear un tipo de estructura de datos que represente esos parámetros. Luego puedes crear un array o una serie de variables a partir de esa estructura y aplicarles las funciones que trabajen con ellas. Mejor aún, podrías crear objetos. Es lo más que puedo decirte, sin ver tu código.

Go Up