import time
from machine import Pin
from umqtt.simple import MQTTClient
from Wifi_lib import connect_wifi
import dht
import time
PIR = Pin(4, Pin.IN)
#nhac
led1 = Pin(26, Pin.OUT)
led2 = Pin(12, Pin.OUT)
m = dht.DHT22(Pin(15))
# Connect to Wi-Fi
connect_wifi()
# MQTT Server Parameters
MQTT_CLIENT_ID = "hytutyt"
MQTT_BROKER = "broker.hivemq.com"
MQTT_USER = ""
MQTT_PASSWORD = ""
MQTT_SUB_TOPIC = "huycomm"
start_time = time.time()
t = 0
h = 0
def sub_cb(topic, msg):
print((topic, msg))
if msg == b'led1_on':
led1.on()
if msg == b'led1_off':
led1.off()
if msg == b'led2_on':
led2.on()
if msg == b'led2_off':
led2.off()
print("Connecting to MQTT server... ", end="")
client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user=MQTT_USER, password=MQTT_PASSWORD)
client.set_callback(sub_cb)
client.connect()
print("Connected!")
client.subscribe(MQTT_SUB_TOPIC)
while True:
m.measure()
if time.time() - start_time >= 1:
t = m.temperature()
client.publish(MQTT_SUB_TOPIC + "/temperature", str(t))
h = m.humidity()
client.publish(MQTT_SUB_TOPIC + "/humidity", str(h))
start_time += 1
if PIR():
alert = "Someone has opened the door"
client.publish(MQTT_SUB_TOPIC + "/alert", alert)
##choi nhac cho no so
#nhac.on
print(alert)
try:
client.check_msg()
except:
pass