Richiesta dati a Thingspeak in Python | DAQ code laboratory

Richiesta dati a Thingspeak in Python

Per l’analisi o la gestione dei dati memorizzati su thingspeak si può utilizzare qualsiasi ambiente di sviluppo. In questo articolo verrà proposto un codice di esempio per interrogare la piattaforma thingspeak in python relativamente ai dati memorizzati in un suo feed. Tra i vari progetti presenti su GitHub ne esistono per semplificare l’interfacciamento con la piattaforma. Il codice proposto utilizzerà solo le librerie urllib per la richiesta delle informazioni alla piattaforma e json per l’interpretazione della risposta.

Codice per la lettura di un feed Thingspeak in Python

import urllib
import json
ndata=5 #numero di dati da richiedere
api_key='api key di lettura'# apy key di lettura del feed
channel_number=' umber del canale'#numero del canale
baseURL='https://api.thingspeak.com/channels/'+channel_number+'/fields/1.json?api_key='+api_key+'&results='+str(ndata) #read channel field
f=urllib.request.urlopen(baseURL)
reply=f.read()
data=json.loads(reply)
index=0
b=data['feeds']
while (index<ndata):
value=b[index]['field1']
time=b[index]['created_at']
entryID=b[index]['entry_id']
print('Field1 data at time: %s entry ID: %s value: %s'%(time,entryID,value))
index=index+1
f.close()

il programma è relativo alla lettura del primo feed (1) del canale. E’ possibile impostare la lettura di altri feed modificando l’url nella parte: ‘1.json’.

il risultato ha la forma:

Field1 data at time: 2019-11-02T21:39:02Z entry ID: 2880 value: 24.00000
Field1 data at time: 2019-11-02T21:39:36Z entry ID: 2881 value: 23.90000
Field1 data at time: 2019-11-02T21:40:12Z entry ID: 2882 value: 24.00000
Field1 data at time: 2019-11-02T21:40:47Z entry ID: 2883 value: 24.00000
Field1 data at time: 2019-11-02T21:41:21Z entry ID: 2884 value: 24.00000