#EX 6
import network
from time import sleep_ms
from umqtt.simple import MQTTClient
WIFI_SSID = 'Wokwi-GUEST' #default Wokwi SSID ต้องเป๊ะห้ามเปลี่ยน
WIFI_PASS = ''
MQTT_BROKER = 'mqtt.netpie.io'
MQTT_CLIENT_ID = 'ef1aa1de-23c5-4e0e-b24e-0ab9b833d678'
MQTT_TOKEN = 'Bxx9St7ykpmYrnyrpYhxuLcqAUrWHb4F'
MQTT_PASS = ''
#Connect to WiFi
wlan = network.WLAN(network.STA_IF) #Creat a WiFi Station Interface *ห้ามเปลี่ยน
wlan.active(True)
wlan.connect(WIFI_SSID, WIFI_PASS)
print('WIFI ', end = '')
while not wlan.isconnected():
print('.', end = '')
sleep_ms(500)
print(' ', wlan.ifconfig()[0], '[Connected]')
#Connect to MQTT
client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user=MQTT_TOKEN, password=MQTT_PASS)
print('MQTT ...', MQTT_BROKER, end = '')
try:
client.connect()
print('[Connected]')
except:
print('[Error]') #แจ้ง Error เพื่อไม่ให้หลุดโปรแกรม
#Callback function
def on_message(topic,msg):
incoming_message = msg.decode ('utf8')
print('{}: {}'.format(topic, incoming_message))
client.set_callback(on_message)
client.subscribe('@msg/#')
i = 0
while True:
client.check_msg()
client.publish('@msg/sensor', str(i))
i = i+1
sleep_ms(2000)