from machine import Pin
import dht
import network
import socket
import time
time.sleep(0.1) # Wait for USB to become ready
sensor = dht.DHT22(Pin(19))
# Thingspeak settings
# write_url = "https://api.thingspeak.com/update?api_key=Z628KXBI80NAM9BC&field1=0"
WRITE_API_KEY = "Z628KXBI80NAM9BC"
HOST = "api.thingspeak.com"
path = "/update?api_key=Z628KXBI80NAM9BC&field1=0&field2=0"
# Wifi settings
ssid = "skilldisk"
password = "12345678"
print("Connecting to WIFI...")
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect(ssid, password)
wifi_connected = sta_if.isconnected()
while not sta_if.isconnected():
print("*", end="")
time.sleep_ms(100)
print("Wifi Connected..")
while True:
# Asking sensor to measure the temp and humidity
sensor.measure()
# Read the temp and humidity value
temperature = sensor.temperature()
humidity = sensor.humidity()
print("Temperature = ", temperature)
print("Humidity = ", humidity)
path = f"/update?api_key={WRITE_API_KEY}&field1={temperature:0.2f}&field2={humidity:0.2f}"
ip_address = socket.getaddrinfo(HOST, 80)[0][-1]
print("IP Address: ", ip_address)
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_ms(16000)