import uasyncio as asyncio
from mqtt import mqtt
from config import *
from yolobit import *
import tasks
async def main():
print("Khởi động hệ thống...")
display.show(Image.HAPPY)
mqtt.connect_wifi(WIFI_SSID, WIFI_PASS)
mqtt.connect_broker(server=MQTT_SERVER, username=MQTT_USER, password=MQTT_KEY)
mqtt.on_receive_message('Button_fan', tasks.on_message)
mqtt.on_receive_message('Button_led', tasks.on_message)
mqtt.on_receive_message('tem_upper', tasks.on_message)
# Đăng ký các tác vụ chạy song song
asyncio.create_task(tasks.task_read_sensors())
asyncio.create_task(tasks.task_fan())
asyncio.create_task(tasks.task_door())
asyncio.create_task(tasks.task_led())
asyncio.create_task(tasks.task_mqtt_publish())
while True:
await asyncio.sleep(10)
if __name__ == "__main__":
try:
asyncio.run(main())
except KeyboardInterrupt:
print("Đã dừng bởi người dùng.")
except Exception as e:
print("Hệ thống gặp lỗi: ", e)