Pregunta

Estoy tratando de configurar un sistema para automatizar ciertas tareas en mi casa.

Estoy pensando en una solución en la que una aplicación del lado del servidor sería capaz de enviar / recibir comandos / datos a Arduino (que se adjunta con el Arduino Ethernet Shield ) a través de la web.

A continuación, el Arduino puede actuar tanto como una interfaz de sensor para la aplicación de servidor o interfaz ejecutor de comandos para la aplicación de servidor.

por ejemplo. (Historia de usuario):

  1. El tanque de agua elevado en mi casa tiene un sensor de nivel de agua adjunto con Arduino (que se adjunta con Arduino Ethernet Shield).

  2. Otra Arduino (que se adjunta con Arduino Ethernet Shield) está unido con un relé / pestillo. Este relé / pestillo se conecta entonces a una bomba de agua.

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

  4. En función de la información de nivel de agua recibida, la aplicación web debe enviar señales adecuadas / manda a Arduino en la bomba de agua para cambiar 'ON' o el interruptor 'OFF' la bomba de agua.

Ahora, por un sistema de este tipo para trabajar a través de la web, estoy pensando en usar uno de los tipos de soluciones con el fin de mi prioridad:

  1. Uso XMPP para la comunicación entre la aplicación de servidor y Arduino.

  2. Uso del sondeo de HTTP.

  3. El uso de HTTP GET colgando.

Para el número de la solución 1, que necesito para implementar un cliente XMPP que residir en Arduino.

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

En caso afirmativo ¿cuáles son las funciones del cliente XMPP posible mínimo que tengo que escribir para Arduino, por lo que sería capaz de ponerse en contacto con soluciones de servidores XMPP como GTalk , etc.?

Para la solución número 2 y 3 que necesitan orientación en la aplicación.

También qué solución sería rentable y fácilmente extensible?

¿Fue útil?

Solución 8

Después de mirar en todas las opciones disponibles que no estaba satisfecho con cualquiera.

Actualmente estoy trabajando en poner mi propia solución al problema que se ha definido anteriormente.

La solución está en las líneas de comentario que he contestado a 'Dustin anteriormente.

Fijará la URL proyecto tan pronto como llego a tener la primera versión de mi solución a este problema.

Otros consejos

Puede echar un vistazo a MQTT, cuenta con una biblioteca de Arduino, su un simple intermediario de mensajes editor-suscriptor.

No creo que me gustaría buscar cualquiera de aquellos para lo que estamos tratando de hacer.

Just alimentar los datos de sensor fuera de la Arduino en un intervalo dado y tienen el otro lado hacer la inteligencia.

Además, para este tipo de proyectos, que he estado buscando para evitar los escudos Ethernet y utilice XBee o RFM12B . Estos se orientarían en esa dirección, pero lo más importante, que sea mucho más fácil tener muchos más dispositivos que realizan tanto la telemetría y control.

Si hubiera algo así como XMPP que corría en el Arduino, que sería una muy simplificada protocolo de presencia proxy a través de un proceso de servidor más inteligente. Es decir, que sería una cantidad similar de trabajo. Aunque puede ser posible, XMPP en 1 KB de RAM junto con el código de aplicación suena como algo muy doloroso.

Estamos trabajando en una infraestructura de retransmisión de código abierto para hacer Arduino (y cualquier otro dispositivo de soporte de sockets TCP / IP) accesibles a través de Internet. Su aplicación podría entonces llamar a la Arduino a través de una sencilla API REST. Ver http://www.yaler.org/ para obtener más información y una demostración en vivo.

Saludos, Tamberg

No es un proyecto en desarrollo, cuenta con políticas y las capacidades del registrador de datos. (Sensores / any_data_source sobre XMPP) http://middlewaresensing.wordpress.com/

¿Por qué no utilizar la buena vieja RS485 para llegar a los actuadores del sensor? Sólo inventar un protocolo sencillo (dirección, mando, datos). Si necesita algo más complejo, utilizar otro tipo de puente RS485 / Ethernet.

Proyecto de código abierto

Manejo de sensores y redes | datos del sensor registro | cartas | políticas | reglas de la historia / fecha / sensor | notificaciones por SMS / correo electrónico / url / twitter / XMPP | el registro de eventos | Google Mapas | y mucho más

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

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

blog en middlewaresensing.wordpress.com

Puede utilizar enviar datos al servidor utilizando HTTP Post, a continuación, los datos del sensor se publica a través de XMPP. HTTP Post (para dispositivos con recursos limitados, tales como Arduino) y sox_tools un cliente XMPP para publicar a través de XMPP en este sistema

Hay una nueva biblioteca para realizar peticiones HTTP REST-como y recibir respuestas JSON en un Arduino (con Ethernet) RESTduino llamada. Podría ser útil drop-in interfaz HTTP para su proyecto Arduino.

http://jasongullickson.posterous.com/ restduino-Arduino-piratería-para-el-resto-de-nosotros

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top