2016-12-11 4 views
1

Ich möchte die Sensordaten durch diaspeak erfassen. verwenden ich die URL mit dem api Schlüssel im Browser zur Verfügung gestellt:Python: Erhalte Daten durch Thingspeak

http://api.thingspeak.com/update?key=MYKEY&field1=25&field2=75

Ich erwarte, wird es field1 und field2 zurückkehren, aber das Ergebnis zeigt nur den Wert von field1.

"channel":{ 
    "id":202242, 
    "name":"DHT11", 
    "latitude":"0.0", 
    "longitude":"0.0", 
    "field1":"Temperature (degC) 1", 
    "field2":"Humidity (%)", 
    "created_at":"2016-12-11T17:16:21Z", 
    "updated_at":"2016-12-11T18:12:00Z", 
    "last_entry_id":12 
}, 

"feeds":[ 
    { 
     "created_at":"2016-12-11T18:12:00Z", 
     "entry_id":12, 
     "field1":25 
    } 
] 

Was Schritt habe ich verpasst?

+0

teilen Link zu api doc bitte. –

+0

versuchen Sie diesen Ansatz und sehen, ob es funktioniert: https://gist.github.com/vi3k6i5/5099e4fceeb4bff5eb0b35f7d5b7e298 –

+0

versuchen Sie dies: https://gist.github.com/vi3k6i5/f85b929d9680fca9ad4f6d8d694a0ab4 Entschuldigung über die Experimente. –

Antwort

0

Versuchen Sie diesen Ansatz: Hier stellen Sie eine Anfrage mit APIs. Sie finden verschiedene API-Anfragen here.

import urllib2 
import json 
import time 


READ_API_KEY=' ' 
CHANNEL_ID= ' ' 


while True: 
    TS = urllib2.urlopen("http://api.thingspeak.com/channels/%s/feeds/last.json?api_key=%s" \ 
         % (CHANNEL_ID,READ_API_KEY)) 

    response = TS.read() 
    data=json.loads(response) 


    a = data['created_at'] 
    b = data['field1'] 
    c = data['field2'] 
    d = data['field3'] 
    print a + " " + b + " " + c + " " + d 
    time.sleep(5) 

    TS.close() 
+0

Willkommen bei Stack Overflow. Können Sie zusätzlichen Text hinzufügen, der beschreibt, was dieser Ansatz wirklich bedeutet? Sehen Sie sich vielleicht die [Hilfe] (http://stackoverflow.com/help) an, um Ideen zu erhalten, wie Sie Antworten besser veröffentlichen können. –