Paso 11: Crear la aplicación de servicio web
Vamos a generar la aplicación y ejecutar en tu máquina de desarrollo. Ajustaremos el sketch de Arduino conectarse a esta instancia de la aplicación mientras prueba. Una vez que estamos satisfechos de que todo está funcionando bien, nosotros desplegar en la nube y actualizar el bosquejo para usar la instancia de cloud.
Aquí está el código en Ruby, todo en un solo archivo llamado "web.rb" (este código está disponible en Github).
Importante: Descargar y leer el archivo PDF adjunto, contiene comentarios detallados incrustados (por favor hacerlo antes de continuar!).
Ahora puede probar el sistema Inicio alerta. En su bosquejo, cambiar el sitio web y Página Web constantes para apuntar a tu máquina de desarrollo y número para su desarrollo servidor de Sinatra de puerto. En mi caso, tengo una máquina de desarrollo en la IP 172.16.115.136, y el desarrollo servidor de Sinatra escucha al puerto 5000, así que mis opciones de dibujo son:
#define HW_ID "123"
#define sitio web "172.16.115.136:5000"
#define página web "/get_message/"
Esta dirección IP es accesible sólo para los dispositivos de red de mi casa.
El valor HW_ID representa el "hardware ID", es decir, el ID que el Arduino controla el DMD se identifique la aplicación Sinatra. Es una clase muy básica de autenticación. La aplicación web le entregará un mensaje a un Arduino se basa en la siempre HW_IDpidiendo. Usted puede tener múltiples dispositivos con el mismo HW_ID, en cuyo caso todos los dispositivos mostrará el mensaje mismo. Si buscas "privacidad", eligieron un ID con un montón de caracteres aleatorios que otras personas no puedan adivinar. También tenga cuidado, no hay comunicación es encriptada.
Ahora seguir adelante y puesta en marcha su aplicación Sinatra, escribe esto (asumiendo que estás en la carpeta del proyecto Sinatra):
web.rb Ruby
... y se verá algo como esto (algunos detalles pueden variar, siempre y cuando esto no crash, eres bien):
10:42:18 web.1 | comenzó con pid 49119
10:42:18 web.1 | A partir de Puma 2.8.1...
10:42:18 web.1 | * Hilos de rosca del min: 0, hilos máximo: 16
10:42:18 web.1 | * Medio ambiente: desarrollo
10:42:18 web.1 | * Escucha en tcp://0.0.0.0:5000
Apunte su navegador web a la ubicación que el servidor está escuchando, y vas a ver esta segunda unión (ver).
Cargar su sketch en Arduino, asegúrese de que está conectado a su red local. Si todo va bien, el Arduino encuesta el servicio web una vez cada minuto. Darle un mensaje para mostrar: en el campo de código de HW, escriba en el mismo ID se establece para la constante HW_ID en el bosquejo. Escriba cualquier cosa en el campo "Su mensaje" y comprobar la casilla de verificación "Buzz?".
Enviar, espere un minuto y ver el mensaje que aparece en el DMD!