http automation xmpp arduino google-talk

http - Domótica usando el cliente Arduino/XMPP para Arduino



automation google-talk (8)

Estoy intentando configurar un sistema para automatizar ciertas tareas en mi hogar.

Estoy pensando en una solución en la que una aplicación del lado del servidor pueda enviar / recibir comandos / datos a Arduino (conectado con Arduino Ethernet Shield ) a través de la web.

Aquí el Arduino puede actuar como una interfaz de sensor para la aplicación del servidor o la interfaz del ejecutor de comandos para la aplicación del servidor.

Ej. (Historia del usuario):

  1. El tanque de agua de arriba en mi casa tiene un sensor de nivel de agua conectado con Arduino (conectado con Arduino Ethernet Shield).

  2. Otro Arduino (conectado con Arduino Ethernet Shield) está conectado con un relé / pestillo. Este relé / pestillo se conecta a una bomba de agua.

  3. Ahora la aplicación del lado del servidor en la web puede obtener / recibir información del nivel de agua del Arduino en el tanque de agua.

  4. Dependiendo de la información del nivel de agua recibida, la aplicación web debe enviar señales / comandos adecuados a Arduino en la bomba de agua para encender o apagar la bomba de agua.

Ahora, para que un sistema así funcione en la web, estoy pensando en usar uno de los tipos de soluciones en orden de prioridad:

  1. Usando XMPP para la comunicación entre la aplicación del servidor y Arduino.

  2. Usando sondeo HTTP.

  3. Usando HTTP colgando GET.

Para la solución número 1, necesito implementar un cliente XMPP que resida en Arduino.

¿Es posible escribir un cliente XMPP lo suficientemente pequeño como para residir en un Arduino?

En caso afirmativo, ¿cuál es la funcionalidad mínima posible del cliente XMPP que tengo que escribir para Arduino, para que pueda contactar con soluciones de servidores XMPP como GTalk , etc.?

Para la solución número 2 y 3 necesito orientación en la implementación.

Además, ¿qué solución sería rentable y fácil de ampliar?


Después de analizar todas las opciones disponibles, no estaba satisfecho con ninguna.

Actualmente estoy trabajando para poner mi propia solución al problema que definí arriba.

La solución está en las líneas del comentario que contesté a ''Dustin'' arriba.

Publicaré la URL del proyecto tan pronto como aparezca la primera versión de mi solución aquí.


No creo que busque ninguno de esos por lo que intentas hacer.

Simplemente envíe los datos del sensor fuera del Arduino en un intervalo determinado y haga que el otro lado haga la inteligencia.

Además, para este tipo de proyectos, he estado buscando evitar los escudos Ethernet y usar XBee o RFM12B . Esto lo guiaría en esa dirección, pero lo más importante es que es mucho más fácil tener muchos más dispositivos haciendo telemetría y control.

Si hubiera algo como XMPP que se ejecutó en el Arduino, sería un protocolo de presencia realmente desmantelado a través de un proceso más inteligente del lado del servidor. Es decir, sería una cantidad similar de trabajo. Aunque puede ser posible, XMPP en 1 KB de RAM junto con el código de su aplicación suena realmente doloroso.


Estamos trabajando en una infraestructura de retransmisión de código abierto para hacer que los Arduinos (y cualquier otro dispositivo compatible con los zócalos TCP / IP) sean accesibles a través de la Web. Su aplicación podría llamar a los Arduinos a través de una API REST simple. Vea http://www.yaler.org/ para más información y una demostración en vivo.

Saludos, Tamberg



¿Por qué no utilizar el viejo RS485 para alcanzar los actuadores del sensor? Solo invente un protocolo simple (dirección, comando, datos). Si necesita algo más complejo, use otro tipo como un puente RS485 / ethernet.


Proyecto de código abierto

Administrar sensores y redes | registrar datos del sensor | cuadros | políticas | historial / fecha / reglas del sensor | Notificaciones sms / email / url / twitter / xmpp | registro de eventos | Google Maps | y mucho más

demo en http://dev.hci.uma.pt/sawa

wiki en dev.hci.uma.pt/mediawiki/index.php

blog en middlewaresensing.wordpress.com

Puede usar enviar datos al servidor mediante HTTP Post, luego los datos del sensor se publican a través de XMPP. HTTP Post (para dispositivos con recursos limitados, como arduino) y sox_tools un cliente xmpp para publicación a través de xmpp en este sistema


Puede echar un vistazo a MQTT, tiene una biblioteca arduino, es un simple intermediario de mensajes editor-suscriptor.