Étape 8: Flux de données
Afin de commencer à diffuser des données à votre lumière PHue, vous aurez besoin d’une publication et vous abonner à clé. Pour obtenir vos clés de pub/sub, vous devrez tout d’abord [Inscrivez-vous pour un compte de PubNub] (http://www.pubnub.com/get-started/). Une fois que vous vous inscrivez, vous pouvez trouver vos clefs de PubNub uniques dans le [PubNub tableau de bord développeur] (https://admin.pubnub.com). Le niveau de bac à sable gratuit devrait vous donner toute la bande passante que vous avez besoin pour créer et tester PHue ampoule.
Une fois que vous avez ceux, vous devrez vous abonner à une chaîne. Ajouter les lignes suivantes de code à votre fonction « main » permettra d’accomplir ceci.
def main(): # Instantiate Pubnub... pubnub = Pubnub(publish_key = 'your-pub-key', subscribe_key = 'your-sub-key') # This is the channel your Pi will be listening on for RGB values channel = 'phue' # The callback tells pubnub what to do when it received a message. def _callback(msg, n): print(msg) updateHue(msg["RED"], msg["GREEN"], msg["BLUE"]) def _error(m): print(m) pubnub.subscribe(channels=channel, callback=_callback, error=_error)
Tout d’abord, nous créons une instance de Pubnub, tout cela exige est votre publication et abonnement clés de votre tableau de bord. Puis nous décidons quelle voie nous voulons sortir Pi s’abonner à. Pour vous abonner vous avez besoin d’un canal pour écouter sur un rappel qui sera appelé lorsqu’un message est reçu et un rappel de l’erreur qui est déclenché si des problèmes sont rencontrés.
Jetez un oeil à sur rappel. Le message que nous recevons sera au format JSON, et il aura trois champs, rouge, vert et bleu. Par exemple, le message que nous recevons de la lumière blanche peut ressembler à ceci :
{« RED »: 255, « VERT »: 255, « BLEU »: 255}
Tant que l’objet JSON nous en continu vers le Pi a ces trois domaines, nous pouvons maintenant envoyer des teintes à des kits de développement logiciel PubNubs 70 +, tout contrôler depuis n’importe où.