Anslutna Studio varningslampa (7 / 8 steg)
Steg 7: Robin API Integration
Uncorked Studios använder Robin möte rum bokningssystem för alla våra konferensrum. Genom systemet, kan vi schemalägga rum och upptäcka om rummet är upptaget. Robin ger en RESTful API för utvecklare att både läsa rum statliga och komplett room bokningar. För det här programmet använder vi API'S 'current_event' fältet för att bestämma huruvida på luften varning ljus ska vara på.
Få tag på källkoden
För att starta, köra till detta projekt Github repo och ta en ny kopia av skript.
git clone https://github.com/UncorkedStudios/on-air-light.gi...
Generera en Token för Robin
För att komma åt Robin API, måste du skapa en unik API-token.
Hitta din Robin Utrymmes-ID
- Logga in på instrumentpanelen Robin och välj "Visa Space" för rummet du vill associera med den On Air Light
- Utrymmes-ID är den sista strängen i URL: en för sidan utrymme. I vårt fall, URL: en för ekokammare slutar i utrymmen/902, så det är 902.
Den huvudsakliga Python-skriften
Vårt skript begär aktuella rummets stat (i detta fall, SPACEID 902) och kontroller för att se om fältet current_event är närvarande. Om så är fallet, ställer utgång 1 "på". Annars har det satt till "off".
Dessutom, använder vi anropet explorerhat.light.blue.pulse() för att blekna blå LED en gång per andra för en visuell "hjärtslag".
Redigera på rum-light.py och ändra följande rader för att matcha din token och utrymme-ID
# konfiguration konstanter
# Robin åtkomst-token
_ACCESSTOKEN = < YOUR_ROBIN_ACCESS_TOKEN >
# Utrymmes-ID från Robin
_SPACEID = < YOUR_SPACE_ID >
Göra skriptet körbart:
chmod a + x på-rum-light.py
Nästa, vi använda "uppkomling" att automatiskt starta på-rum-light.py på stöveln, och ger oss kontroll av tjänsten vid körning.
Installera uppkomling
sudo lämplig-få installera uppkomling
Systemet kommer att utfärda några varningar om att ersätta den traditionella init.d (det är punkten!), men du kan säkert avfärda dem.
Om på-rum-light.py är på en annan plats än din användarkatalog, redigera följande rader i roll-on-rum-light.conf att matcha, ersätta /home/pi/on-air-light.py:
script
/Home/PI/on-Air-Light.py > /var/log/onairlight.log 2 > & 1
slutet skript
Nästa, kopiera på rum-light.conf till etc/init. Skriptet kommer att starta tjänsten på rum ljus efter nätverk har lästs in, och kommer att hålla försöker ansluta med Robin varje minut tills den är framgångsrik, loggar alla anslutningsfel till /var/log/onairlight.log.
sudo cp på rum light.conf/etc/init
Starta om när processen är klar och logga in igen till skalet. Vid denna punkt, ska på rum ljus tjänsten köras:
sudo Tjänststatus på rum ljus
på-rum ljus start/kör, processen < process_id >
Du bör se den blå lampan försiktigt fading on-och off. Att testa API anslutning, skapa en omedelbar rumreservation för ditt rum i Robin och ljuset ska komma på inom 60 sekunder. Om inte, ta en titt på installationsloggen för service i /var/log/onairlight.log för fel.