import wifi
from secreet import THINGSBOARD_HOST, ACCESS_TOKEN
import time
import dht
from machine import Pin, SoftI2C, ADC, PWM
import ssd1306
from Detector import Detector
# from client import TBDeviceMqttClient
print("Please Wait....")
#authentication thingsboard
# client = TBDeviceMqttClient(THINGSBOARD_HOST, access_token=ACCESS_TOKEN)
# Connecting to ThingsBoard
# client.connect()
#oled display
i2c = SoftI2C(scl=Pin(22), sda=Pin(21)) #inisiasi pin OLED
oled = ssd1306.SSD1306_I2C(128, 64, i2c, 0x3c)
#DHT22
pin_suhu_val = Pin(15, Pin.IN) #inisiasi pin DHT22
sensor = dht.DHT22(pin_suhu_val)
#Potensio
pot = ADC(Pin(33)) #inisiasi pin potensio kelembaban
pot.atten(ADC.ATTN_11DB) #3.3V
pot.width(ADC.WIDTH_9BIT) #range 0 to 511
while True:
potensio_value = pot.read()
sensor.measure()
suhu = round(sensor.temperature(), 1)
dt = Detector(suhu_val=suhu, kelembaban_val=potensio_value)
sdt = dt.self_detector()
status_suhu = sdt['status_suhu']
status_kelembaban = sdt['status_kelembaban']
status_pompa = sdt['status_pompa']
# Sending telemetry
telemetry = {'suhu': str(suhu),
'status_suhu': status_suhu,
'kelembaban': str(potensio_value),
'status_kelembaban': status_kelembaban,
'status_pompa': status_pompa}
# client.send_telemetry(telemetry)
# client.check_msg()
oled.fill(0)
oled.text(f"Suhu {suhu} C", 0, 10) #menampilkan suhu pada OLED
oled.text(f"Suhu {status_suhu}", 0, 20)
oled.text(f"Kelembaban {potensio_value}%", 0, 30) #menampilkan suhu pada OLED
oled.text(f"Kelembaban {status_kelembaban}", 0, 40)
oled.text(f"Pompa {status_pompa}", 0, 50)
oled.show()
print(sdt)
# client.disconnect()
time.sleep(1)
#buzzer D2
#led relay1
#potensio D33
#oled D21
#oled SCL D22