Estoy trabajando en un proyecto similar que usa internet para comunicarse con un dispositivo externo (móvil). Estoy leyendo datos de sensores y pasándolos por la web con tomas web. Estoy usando Arduino Yun para este proyecto y Spacebrew (para la comunicación de sockets web). Es un enfoque muy interesante pero todo un desafío en algunos casos. Probablemente se encuentre con un problema asincrónico / síncrono, que en mi caso me llevó a ejecutar algunos scripts de Python en Yun activados desde el código de procesamiento. Actualmente estoy ejecutando el servidor Spacebrew en mi VPN, por lo que puedo conectar mi Yun dejado en casa y usar mi iPhone desde todas partes para obtener las lecturas.
También vale la pena mencionar que Yun viene con la biblioteca Temboo preinstalada, que es un excelente punto de partida para la comunicación web. La configuración es realmente fácil y rápida. También encontrará documentación oficial muy útil y fácil de entender. Es un excelente punto de partida para experimentar con aplicaciones web integradas con Arduino Yun.
Spacebrew
http://docs.spacebrew.cc/
Spacebrew es un kit de herramientas de software abierto y dinámicamente redirigible para coreografiar espacios interactivos. O, en otras palabras, una forma simple de conectar cosas interactivas entre sí. Cada elemento que conecta al sistema puede suscribirse y publicar feeds de datos.
http://github.com/Spacebrew/pySpacebrew
Este repositorio contiene la Biblioteca Spacebrew para Python junto con documentación y ejemplos de aplicaciones.
http://github.com/julioterra/yunSpacebrew
La biblioteca Spacebrew Yun presenta dos componentes principales: un conjunto de scripts de python que se ejecutan en el linino y una biblioteca que se ejecuta en el chip atmel. Allí encontrará información sobre cómo instalar ambos componentes para poder conectarse a Spacebrew desde un boceto de Arduino.
Temboo
Yun también ha construido en la biblioteca Temboo, es una excelente manera de comenzar a experimentar, una vez que demuestre el concepto, puede comenzar a reducir su entorno y alejarse si no desea utilizar software de terceros.
http://www.temboo.com/arduino
La Biblioteca Temboo facilita la conexión a más de 100 recursos y servicios basados en la web con Processing. Actualmente puede encontrar bibliotecas para Android, Arduino, iOS, Java, Node.js, PHP, Processing, Python, REST API, Ruby, Twyla
Node.js
También puede ejecutar node.js en el propio Yun, aquí hay un buen artículo y algunos paquetes listos para instalar:
¿Qué es la biblioteca Bridge para Arduino Yun?
También preguntaste sobre la biblioteca Bridge. Como sabes, Yun tiene dos procesadores a bordo, uno está ejecutando tu código de procesamiento y el otro tiene Linux (Linino). Básicamente, el puente simplifica la comunicación entre ellos para que puedan "hablar" entre sí, más información aquí:
http://arduino.cc/en/Reference/YunBridgeLibrary
(Tomado de la documentación de arduino.cc :)
El Arduino Yún tiene dos procesadores a bordo. Uno es un ATmega32U4 como en el Arduino Leonardo. El otro es un Atheros 9331, que ejecuta Linux y la pila inalámbrica OpenWRT, que permite que la placa se conecte a redes WiFi y Ethernet. Es posible llamar a programas o scripts personalizados en el sistema Linux a través de Arduino para conectarse con varios servicios de Internet.
La biblioteca Bridge simplifica la comunicación entre el ATmega32U4 y el AR9331. Hereda de Stream, y muchos de los métodos deberían ser familiares de Serial y otros derivados de Stream.
Python interpreta los comandos de puente del 32U4 en el AR9331. Su función es ejecutar programas en el lado de GNU / Linux cuando Arduino se lo solicite, proporcionar un espacio de almacenamiento compartido para compartir datos como lecturas de sensores entre Arduino e Internet, y recibir comandos de Internet y pasarlos directamente al Arduino.
Bridge permite la comunicación en ambas direcciones, actuando como una interfaz para la línea de comando de Linino.
¿Donde empezar?
Comenzaría con Temboo si fuera tú, es una gran curva de aprendizaje y un paso bastante simple para comenzar. También aprenderá y comprenderá cómo funciona el tablero y cómo puede comunicarse con el "mundo externo". Una vez que tenga una prueba de concepto, comience a experimentar con diferentes bibliotecas y mejore el enfoque. Quizás encuentre Spacebrew más útil más tarde o incluso descubra diferentes soluciones.