Étape 7: Robin API intégration
Débouchées Studios utilise le Robin , système de réservation de salle pour l’ensemble de nos salles de réunion. Grâce au système, nous pouvons planifier des chambres et détecter si la chambre est occupée. Robin fournit qu'une API RESTful pour les développeurs à la fois lire chambre réservations de chambre d’État et complet. Pour cette application, nous utilisons le champ « current_event » de l’API pour déterminer si l’air le voyant doit être sur.
Obtenir le code source
Pour commencer, à manquer de de ce projet repo Github et récupérer une nouvelle copie des scripts.
https://github.com/UncorkedStudios/on-air-Light.GI...
Générer un jeton d’accès de Robin
Pour accéder à l’API de Robin, vous aurez besoin pour générer un jeton unique de l’API.
Trouvez votre ID de l’espace Robin
- Connectez-vous à votre tableau de bord de Robin, puis sélectionnez « Espace de vue » pour la salle que vous souhaitez associer à la lumière de l’Air sur
- L’ID de l’espace est la dernière chaîne dans l’URL de la page Détails de l’espace. Dans notre cas, l’URL pour les extrémités de la chambre d’écho dans les espaces/902, il est donc 902.
Le script Python principal
Notre script demande d’état de la salle actuelle (dans ce cas, SPACEID 902) et vérifie si le champ current_event est présente. Dans l’affirmative, il définit la sortie 1 « on ». Dans le cas contraire, elle a mis sur « off ».
En outre, nous utilisons l’appel explorerhat.light.blue.pulse() à s’estomper la LED bleue une fois par seconde pour un visuel « heartbeat ».
Edit on-air-light.py et modifier les lignes suivantes pour correspondre à votre ID de jeton et espace
Rendez le script exécutable :
Ensuite, nous utiliser « parvenu » pour démarrer automatiquement on-air-light.py au démarrage et nous donner le contrôle du service en cours d’exécution.
Installer l’arriviste
Le système émet des avertissements sur le remplacement de la traditionnelle init.d (c’est le point!), mais vous pouvez les écarter en toute sécurité.
Si on-air-light.py se trouve dans un autre emplacement de votre répertoire utilisateur, modifiez les lignes suivantes dans on-air-light.conf pour faire face au remplacement de /home/pi/on-air-light.py :
Ensuite, copiez l’on-air-light.conf dans/etc/init. Le script va commencer le service on-air-lumière après la fin du chargement de réseautage et gardera tente de se connecter avec Robin chaque minute jusqu'à ce qu’elle est réussie, la journalisation des erreurs de connexion à /var/log/onairlight.log.
Redémarrer une fois le processus terminé et se reconnectent à la coquille. À ce stade, le service on-air-lumière devrait fonctionner :
Vous devriez voir la LED bleue se fanant doucement et-marche. Pour tester la connexion API, créer une réservation de chambre immédiat pour votre chambre à Robin et la lumière devrait s’allumer dans les 60 secondes. Si ce n’est pas le cas, jetez un oeil au carnet d’entretien à /var/log/onairlight.log pour trouver des erreurs.