Verwenden wir WebAPI, um dweet.io, einen IoT-Datenmessaging-Dienst, zu verwenden. Das folgende Bild zeigt das Plant Status Monitoring Dashboard, das mit den Diensten von Raspberry Pi und dweet.io erstellt wurde. (Details werden in einem anderen Artikel vorgestellt)
Selbst wenn Sie Python am Ende ausführen lassen, ist es praktisch, wenn Sie den Vorgang schnell mit dem Terminal überprüfen können.
Installieren Sie HTTPie
mac
$ brew install httpie
Es ist eine Eisenplattenbibliothek mit 30.000 Githubsternen! Die Highlights machen den Response-Header sehr einfach zu sehen.
Nach der Installation können Sie die HTTP-Methode mit dem Befehl http
verwenden. (Standard ist die GET-Methode)
dweet.io kann Daten einfach registrieren, indem eine Abfrage von "? Key = value" an die URL von "https://dweet.io/dweet/for/
# -v Optionale Anforderung_Header kann auch ausgegeben werden
$ http https://dweet.io/dweet/for/my-thing-name?hello=world
Antwort von httpie_Header-Ausgabe
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Encoding: gzip
Content-Type: application/json
Date: Mon, 08 May 2017 03:13:38 GMT
Transfer-Encoding: chunked
{
"by": "dweeting",
"the": "dweet",
"this": "succeeded",
"with": {
"content": {
"hello": "world"
},
"created": "2017-05-08T03:13:38.230Z",
"thing": "my-thing-name",
"transaction": "54f19ae4-3428-4ea3-8275-1a77d49a11a0"
}
}
dweet.io kann Daten im JSON-Format abrufen, indem mit der GET-Methode auf die URL von https://dweet.io/get/latest/dweet/for/
$ http https://dweet.io/get/latest/dweet/for/my-thing-name
Antwort von httpie_Header-Ausgabe 2
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Encoding: gzip
Content-Type: application/json
Date: Mon, 08 May 2017 03:13:55 GMT
Transfer-Encoding: chunked
{
"by": "getting",
"the": "dweets",
"this": "succeeded",
"with": [
{
"content": {
"hello": "world"
},
"created": "2017-05-08T03:13:38.230Z",
"thing": "my-thing-name"
}
]
}
Installieren Sie Requests
$ pip install requests
Requests ist eine benutzerfreundliche HTTP-Bibliothek für Python mit einer sehr intuitiven API. Dies ist auch eine Bibliothek mit 25000 und Eisenplatten von GitHub Stars.
Die Verwendung der Anforderungsbibliothek ist wie folgt. Offizieller Schnellstart ist ein sehr zusammenhängendes Dokument und wird empfohlen.
import requests
#get
r = requests.get('url')
#get:Mit Abfrage
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('url', params=payload)
#post
r = requests.post('url', data = {'key':'value'})
#cookies
r = requests.get('url')
cookie = r.cookies['cookie_name']
r = requests.get('url', cookies=cookie)
#response
print(r.url)
print(r.status_code)
print(r.headers)
print(r.text)
print(r.content)
print(r.json())
Was passiert, wenn die URL falsch ist:
Sie können Daten in tweet.io mithilfe von Anfragen wie folgt registrieren / erfassen.
import requests
import pprint
import time
#Datenregistrierung: post
for i in range(10):
r = requests.post('https://dweet.io/dweet/for/iot-data', data = {'temp':'23', 'humid':'40'})
time.sleep(1)
#Daten bekommen: get
r = requests.get("https://dweet.io/get/latest/dweet/for/iot-data")
pprint.pprint(r.json())
Ergebnis der Terminalausgabe
{u'by': u'getting',
u'the': u'dweets',
u'this': u'succeeded',
u'with': [{u'content': {u'humid': 40, u'temp': 23},
u'created': u'2017-05-08T04:04:18.887Z',
u'thing': u'iot-data'}]}
Referenz: http://qiita.com/ogawatachi/items/d178bce8a9e60b5d459b
Recommended Posts