Utilisons WebAPI pour utiliser dweet.io, un service de messagerie de données IoT. L'image ci-dessous est le Tableau de bord de surveillance de l'état de l'usine créé à l'aide des services de Raspberry Pi et dweet.io. (Les détails seront introduits dans un autre article)
Même si vous laissez python le faire à la fin, il est pratique de pouvoir vérifier rapidement l'opération avec le terminal.
Installez HTTPie
mac
$ brew install httpie
C'est une bibliothèque de plaques de fer avec 30 000 étoiles Github! Les faits saillants rendent l'en-tête de réponse très facile à voir.
Une fois installé, vous pouvez utiliser la méthode HTTP avec la commande http
. (La valeur par défaut est la méthode GET)
dweet.io peut facilement enregistrer des données en lançant une requête de ? Key = value
à l'URL de https://dweet.io/dweet/for/ <id>
. (Vous pouvez également enregistrer des données JSON en utilisant la méthode POST (décrite plus loin))
# -v Demande facultative_l'en-tête peut également être sorti
$ http https://dweet.io/dweet/for/my-thing-name?hello=world
réponse de httpie_sortie d'en-tête
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 peut obtenir des données au format JSON en accédant à l'URL de https://dweet.io/get/latest/dweet/for/ <id>
avec la méthode GET.
$ http https://dweet.io/get/latest/dweet/for/my-thing-name
réponse de httpie_sortie d'en-tête 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"
}
]
}
Installez Requests
$ pip install requests
Requests est une bibliothèque HTTP conviviale pour Python avec une API très intuitive. C'est aussi une bibliothèque de 25000 et plaques de fer par GitHub Stars.
L'utilisation de la bibliothèque Requests est la suivante. Official quickstart est un document très cohérent et recommandé.
import requests
#get
r = requests.get('url')
#get:Avec requête
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())
Que se passe-t-il si l'url est incorrecte:
Vous pouvez enregistrer / acquérir des données dans dweet.io en utilisant les requêtes comme suit.
import requests
import pprint
import time
#Enregistrement des données: post
for i in range(10):
r = requests.post('https://dweet.io/dweet/for/iot-data', data = {'temp':'23', 'humid':'40'})
time.sleep(1)
#Obtenez des données: get
r = requests.get("https://dweet.io/get/latest/dweet/for/iot-data")
pprint.pprint(r.json())
résultat de sortie du terminal
{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'}]}
Référence: http://qiita.com/ogawatachi/items/d178bce8a9e60b5d459b
Recommended Posts