Stap 8: Streaming gegevens
Om te beginnen streaming gegevens aan uw PHue licht, moet u een publiceren en abonneren sleutel. Als u uw pub/sub-sleutels, moet u eerst op [aanmelden voor een PubNub account] (http://www.pubnub.com/get-started/). Zodra u zich aanmeldt, kunt u uw unieke PubNub-sleutels in het [PubNub ontwikkelaar Dashboard] (https://admin.pubnub.com). De gratis sandbox-laag moet geven u alle de bandbreedte die u nodig hebt om te bouwen en testen van PHue gloeilamp.
Zodra u die hebt, moet u zich abonneren op een kanaal. De volgende coderegels toe te voegen aan uw 'main' functie zal hiervoor.
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)
Eerst maken we een exemplaar van Pubnub, alles wat hiervoor is uw publiceren en abonneren toetsen vanaf uw dashboard. Daarna beslissen we welke kanaal wij uit Pi wilt abonneren. Om te abonneren u moet een kanaal te luisteren op, een retouraanroep die worden aangeroepen wanneer een bericht wordt ontvangen, en een fout-retouraanroep die zullen worden geactiveerd als er geen problemen zijn aangetroffen.
Neem een kijkje op uit terugbellen. De boodschap die we ontvangen zullen in JSON-formaat, en wel drie velden, rood, groen en blauw. Bijvoorbeeld kan het bericht dat we voor wit licht ontvangen uitzien:
{'RED': 255, 'GREEN': 255, 'BLUE': 255}
Zo lang als de JSON-object we streamen naar de Pi deze drie velden heeft, kunnen wij nu sturen tinten van om het even PubNubs 70 + SDKs, controleren vanaf elke locatie.