2017-02-03 1 views
-2

J'ai besoin du code pour obtenir des données de bluemix qui est envoyé par ce codeobtenir des données de ibm bluemix en code python

import RPi.GPIO as GPIO 
import dht11 
import time 
import datetime 
import ibmiotf.device 

# initialize GPIO 
GPIO.setwarnings(False) 
GPIO.setmode(GPIO.BCM) 
GPIO.cleanup() 

1 
client.connect() 



# read data using pin GPIO4 
instance = dht11.DHT11(pin=4) 

while True: 
    result = instance.read() 
    if result.is_valid(): 
     print("Last valid input: " + str(datetime.datetime.now())) 
     temp=(" %d C" % result.temperature) 
     print("temperature:" +temp) 
     humid=("%d %%" % result.humidity) 
    print("Humidity:" +humid) 
     # print("Temperature: %d C" % result.temperature) 
     # print("Humidity: %d %%" % result.humidity) 
     print("Data is published into the cloued") 
     Data={'Temperature' :temp, 'Humidity' :humid } 
     client.publishEvent("status", "json", Data) 

    time.sleep(1) 
+0

Veuillez décrire ce que vous avez réalisé et dites-nous en plus sur le problème. Cette question nécessite une modification. –

+0

à partir de ce code J'ai envoyé des données à bluemix, c'est-à-dire {"temp": "34 c", "humidité": "35"}. alors maintenant je veux récupérer ces mêmes données de périphérique iot dans bluemix à mon code python. –

+0

Bienvenue sur stackoverflow. Malheureusement, votre question ne répond pas aux critères de qualité et risque d'être fermée. S'il vous plaît voir http://stackoverflow.com/help/how-to-ask et ensuite modifier votre question. –

Répondre

0

vous pouvez utiliser NodeRed ajouter un nœud (insert, fonction, iotout) de publier le données à iot plate-forme (publiez-le comme type d'appareil) dans un sujet puis dans le PI avec pyhton s'abonner à ce sujet comme une application ... cela devrait fonctionner très bien. Toute la connexion/publication/abonnant/détails sujets peuvent être trouvés ici: https://console.ng.bluemix.net/docs/services/IoT/index.html

+0

Je n'ai besoin que d'un code d'abonnement pour le code mentionné –

0

Vous connecter en tant que périphérique ->import ibmiotf.device. Un périphérique peut envoyer événements et recevoir commandes. Il ne peut pas recevoir événements. Pour ce faire, vous devez vous connecter en tant qu'application. Vous allez import ibmiotf.application et avoir quelque chose comme:

options = ibmiotf.application.ParseConfigFile(configFilePath) 
appClient = ibmiotf.application.Client(options) 

appClient.connect() 
appClient.subscribeToDeviceEvents() 

Le fichier de configuration doit ressembler à:

[application] 
org=orgId 
id=myApplication 
auth-method=apikey 
auth-key=key 
auth-token=token 

Lorsque la auth-clé/auth-jeton provient de la partie Apps de votre plate-forme. Vous devrez générer un ensemble pour vous connecter en tant qu'application. La méthode auth devrait être laissée comme apikey.

Cette liste répertorie tous les événements qui arrivent sur votre plate-forme. Vous pouvez le rendre plus granulaire. Voir le api guide qui fait également référence à un exemple d'application sur github.

+0

c'est bien, mais comment puis-je obtenir ces détails en python et affiché sur la console –

+0

Avez-vous même essayé? Vous aurez besoin de mettre plus d'effort dans vos questions ou vous les trouverez fermées. Vous ne semblez avoir fait aucun effort pour cela! – amadain

+0

J'ai essayé, mais il fournira la date, l'identifiant de l'appareil, le type d'appareil comme les détails mais, ce dont j'ai besoin, c'est les données json qui sont stockées par le programme ci-dessus ... –