123
unknown
python
2 years ago
1.8 kB
4
Indexable
import sys import Adafruit_DHT import time import csv import requests ThingSpeak_WriteApiKey = 'Q6I298TFCRWYCBPG' detection_period = 5 # Parse command line parameters. sensor_args = { '11': Adafruit_DHT.DHT11, '22': Adafruit_DHT.DHT22, '2302': Adafruit_DHT.AM2302 } if len(sys.argv) == 3 and sys.argv[1] in sensor_args: sensor = sensor_args[sys.argv[1]] pin = sys.argv[2] else: print('Usage: sudo ./Adafruit_DHT.py [11|22|2302] <GPIO pin number>') print('Example: sudo ./Adafruit_DHT.py 2302 4 - Read from an AM2302 connected to GPIO pin #4') sys.exit(1) while(1): humidity, temperature = Adafruit_DHT.read_retry(sensor, pin) #humidity, temperature = get_sensor_data() if humidity is not None and temperature is not None: #with open('hw321.csv', 'a+', newline='') as csvfile: # writer = csv.writer(csvfile) # writer.writerow([time.ctime(),temperature,humidity]) #humidity, temperature = Adafruit_DHT.read_retry(sensor, pin, delay_seconds = 0) #print(time.ctime()+'Temp={0:0.1f}度C Humidity={1:0.1f}%'.format(temperature, humidity)) ThingSpeak_API_URL = f'https://api.thingspeak.com/update?api_key={ThingSpeak_WriteApiKey}&' \ f'field1={"{0:0.1f}".format(temperature)}&' \ f'field2={"{0:0.1f}".format(humidity)}' query = requests.get(ThingSpeak_API_URL) print(f'HTTP: {query.status_code}') # 查看 HTTP 狀態碼,若為 200 表示傳送成功 print(time.ctime()+',', 'temperature:', temperature, '度C,', 'humidity:', humidity, '%') else: #print('Failed to get reading. Try again!') print('Failed to get reading. Try again!') continue time.sleep(detection_period)
Editor is loading...