Я хочу отправить в Thingspeak данные, которые я получаю от датчиков моего Raspberry pi. Я действительно не знаю, как использовать python, поэтому я только «смешиваю» некоторые коды, которые я нашел в Интернете.
Этот код работает один раз, и данные отправляются один раз, но «l oop» останавливается и появляется ошибка в заголовке. наверняка что-то не так с "с". я не знаю, как закрыть файл. Можете ли вы мне помочь? это код:
import httplib
import urllib
import time
import sys
import Adafruit_DHT
from sgp30 import SGP30
from smbus import SMBus
key = "xxxxxxx"
smbus = SMBus(1)
def sensors():
with SGP30(smbus) as chip:
while True:
aq = chip.measure_air_quality()
VOC = aq.voc_ppb
CO2 = aq.co2_ppm
hum, temp = Adafruit_DHT.read_retry(11, 4)
params = urllib.urlencode({'field1': temp, 'field2': hum,'field3': VOC, 'field4': CO2,'key':key })
headers = {"Content-typZZe": "application/x-www-form-urlencoded","Accept": "text/plain"}
conn = httplib.HTTPConnection("api.thingspeak.com:80")
try:
conn.request("POST", "/update", params, headers)
response = conn.getresponse()
print (temp, hum, VOC, CO2)
print (response.status, response.reason)
data = response.read()
conn.close()
except:
print ("connection failed")
break
chip.closed
if __name__ == "__main__":
while True:
sensors()