Google Glass & Philips Hue

Philips Hue bedienen met Google Glass

‘Okay Glass’, ‘Set lights green.’ Prompt verandert het licht in zijn kantoor van zachtgeel naar groen. ‘Set lights blue.’ De kamer wordt nu blauw verlicht. Het lukt ook met rood en paars. En dat met een simpele, gesproken opdracht aan Google Glass!

Hoe werkt het?

Hoe we dit voor elkaar krijgen? Door een verbinding te maken tussen Google Glass en de Phillips Hue-lampen die sinds een paar weken op ons kantoor staan.


De HueGlass-applicatie van Masc

Voor de ontwikkeling van de HueGlass-applicatie hebben we gebruikt gemaakt van een interne webservice die Masc zelf heeft ontworpen. Die interne webservice stuurt weer requests (verzoeken) door naar de standaard webservice van de Philips Hue, de Philips Hue Bridge (PHB). Als de lampen zijn aangesloten op netspanning kan de PHB ze rechtstreeks aansturen.

Google Glass communiceert via interne API en Hue Bridge met Philps Hue lampen
 De technische inrichting van de HueGlass-app. Links de lampen, de PHB en de interne webservice.

Glassware voor stemherkenning

Omdat de applicatie aangestuurd wordt met voice commando’s hebben we aan het Android manifest een voicetrigger toegevoegd die verwijst naar meerdere services. Voor elk commando (on, off, blue, red, etc.) is een aparte service aangemaakt. Aan de hand van het label van de service weet de voicetrigger of en welke service hij moet starten. 

Elke service is afgeleid van een LightService die een commando kan starten en die kan registreren wanneer een commando succesvol is uitgevoerd. Wanneer een commando wordt uitgevoerd, wordt op de achtergrond een nieuwe networksafe thread gestart die een request stuurt naar de interne webservice. Het request wordt in JSON-formaat verstuurd en de body ziet er als volgt uit:
 

{“lightCommand”: “value”}

Value’ kan vervolgens vervangen worden door de waarden: on, off, red, green, blue en purple.
De applicatie is aan te roepen met het volgende voice commando: “Okay Glass, set lights ‘value’”.
Daarop zal de applicatie starten en reageren de lampen op de gewenste actie.