from machine import Pin
import dht
import network
import socket
import time
time.sleep(0.1) # Wait for USB to become ready
# sensor = dht.DHT11(Pin(21))
sensor = dht.DHT22(Pin(21))
# Thingspeak Settings
# https://api.thingspeak.com/update?api_key=1KRNSD2ZE8I6N5QU&field1=0
WRITE_API_KEY = "1KRNSD2ZE8I6N5QU"
HOST = "api.thingspeak.com"
path = "/update?api_key=1KRNSD2ZE8I6N5QU&field1=0&field2=0"
# Wifi Settings
ssid = "skilldisk"
password = "password"
print("WiFi connection initiated.")
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect(ssid, password)
print("Connecting to WiFi.")
wifi_connected = sta_if.isconnected()
while not sta_if.isconnected():
print("*", end="")
time.sleep_ms(100)
print("WiFi Connected...")
while True:
sensor.measure()
temperature = sensor.temperature()
humidity = sensor.humidity()
print(f"Temperature = {temperature}")
print(f"Humidity = {humidity}")
print("----------------------------")
ip_address = socket.getaddrinfo(HOST, 80)[0][-1]
# print("IP Address:", ip_address)
path = f"/update?api_key={WRITE_API_KEY}&field1={temperature:0.2f}&field2={humidity:0.2f}"
s = socket.socket()
s.connect(ip_address)
s.send(bytes('GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n' % (path, HOST), 'utf8'))
while True:
data = s.recv(100)
# print(data)
if data:
pass
else:
print("Data Sent")
break
s.close()
time.sleep(17)