Тип объекта «SGP30» не имеет атрибута «закрыто» - PullRequest
0 голосов
/ 09 февраля 2020

Я хочу отправить в 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()
...