Die Stuttgarter CitizenScience Jungs stellen für ihr Feinstaub Projekt auch eine API zur Verfügung.
Mit deren Hilfe können einzelne Sensoren ausgelesen werden. Beim Anmelden per email erhaltet ihr Rückantwort mit der Sensor-Nummer für die Karte. Eine Nummer für die Feinstaubwerte und eine weitere Nummer für die Daten des DHT22.
hier mein Python Code wie ich einen speziellen Sensor abfrage. Tragt einfach am Ende der URL eure Sensornummer ein. Im String Tweet steht ein Text, den ihr dann Tweeten oder als Annotation über ein Bild legen könnt.
#!/usr/bin/python
# -*- coding: utf-8 -*-
# depends: python-requests
import requests
import json
def pick_values(sensor):
# Sensordaten für SDS011 und DHT11 abfragen
# dazu die api von luftdaten.info nutzen
# Peter Fürle @Alpensichtung Hotzenwald 04/2017
r = requests.get(sensor)
json_string = r.text
parsed_json = json.loads(json_string)
# pretty print um überhaupt zu verstehen was da passiert
# print json.dumps(parsed_json, sort_keys=True, indent=4, separators=(',',':'))
l = len(parsed_json)-1
a = len(parsed_json[l]['sensordatavalues'])
if a == 1:
result=(parsed_json[l]['sensordatavalues'][0]['value_type'])+": "+(parsed_json[l]['sensordatavalues'][0]['value'])
if a == 2:
result=(parsed_json[l]['sensordatavalues'][0]['value_type'])+": "+(parsed_json[l]['sensordatavalues'][0]['value'])
result=result+" "+(parsed_json[l]['sensordatavalues'][1]['value_type'])+": "+(parsed_json[l]['sensordatavalues'][1]['value'])
return(result)
# Freiburger Sensor Nummer 534 und 533
url = 'http://api.luftdaten.info/static/v1/sensor/534/'
tweet = pick_values(url)
url = 'http://api.luftdaten.info/static/v1/sensor/533/'
tweet = tweet + " " + pick_values(url)
# Texte kürzen für 140 Zeichen Tweets
tweet = tweet.replace('temperature: ','| Temp:')
tweet = tweet.replace('P1:','| P10:')
tweet = tweet.replace('P2:','P2.5:')
#print(tweet)