Paso 7: Integración de la API de Robin
Estudios descorcharse utiliza el Robin sistema de reservas de habitación para todas nuestras salas de reuniones. A través del sistema, podemos programar habitaciones y detectar si la habitación está ocupada. Robin proporciona que una API RESTful para desarrolladores tanto leer sala de reservas estatales y completa habitación. Para esta aplicación, utilizamos campo de 'current_event' de la API para determinar si el aire en la luz de advertencia debe estar en.
Obtener el código fuente
Para comenzar, extenderá hacia de este proyecto repositorio de Github y agarra una copia fresca de las secuencias de comandos.
https://github.com/UncorkedStudios/On-Air-Light.gi...
Generar un Token de acceso de Robin
Para acceder a la API de Robin, necesitará generar un único token API.
Encontrar su ID de espacio de Robin
- Iniciar sesión en dashboard Robin y seleccione "Ver espacio" para la sala que desea asociar con la luz en el aire
- La identificación del espacio es la última cadena en la dirección URL de la página de detalles del espacio. En nuestro caso, la URL para los extremos de la cámara de eco en espacios/902, así que es 902.
La principal secuencia de comandos Python
Nuestro script pide estado actual de la sala (en este caso, SPACEID 902) y comprueba si el campo current_event es presente. Si es así, establece salida 1 "on". De lo contrario, se ha fijado en "off".
Además, utilizamos la llamada explorerhat.light.blue.pulse() a desvanecerse el LED azul una vez por segundo para un visual "heartbeat".
Editar en aire light.py y cambiar las siguientes líneas para que coincida con su ID de símbolo (token) y espacio
Haga el script ejecutable:
A continuación, utilizamos a 'advenedizo' light.py de aire en el arranque se inicie automáticamente y nos da control del servicio en tiempo de ejecución.
Instalar upstart
El sistema emitirá algunas advertencias acerca de reemplazar el init.d tradicional (que es el punto!), pero con seguridad puede despedirlos.
Si en aire light.py está en otra ubicación de su directorio de usuario, editar las siguientes líneas de light.conf en aire, para reemplazo de /home/pi/on-air-light.py:
A continuación, copie en aire light.conf en/etc/init. La secuencia de comandos iniciará el servicio en-aire-luz después de red ha terminado de cargarse y mantendrá intentando conectar con Robin cada minuto hasta que tiene éxito, registro de errores de conexión a /var/log/onairlight.log.
Reiniciar cuando finalice el proceso e inicie la sesión en la cáscara. En este punto, debe ejecutar el servicio de luz de aire en:
Debería ver el LED azul que se descolora suavemente en-y-apagado. Para probar la conexión API, crear una reserva de habitación inmediata para la habitación de Robin y la luz se encenderá en 60 segundos. Si no, echa un vistazo al registro de servicio en /var/log/onairlight.log para errores.