# Ex.1: WiFi Connection
# Ag Instrumentation & IoT Class 1/2024
# Dept. of Agricultural Engineering, KMITL
#########################################
import network
import time
from umqtt.simple import MQTTClient
WIFI_SSID = 'Wokwi-GUEST' # Default Wokwi SSID
WIFI_PASS = '' # Default Wokwi password
MQTT_BROKER ='mqtt.netpie.io'
MQTT_CLIENT_ID = '3db69250-5fd6-4ed1-863f-5bcc16086a98'
MQTT_TOKEN ='VkfBxZzw4DVoQugSPg8PsbQRtXGyWK2m'
MQTT_SECRET = ''
def on_message(topic,msg):
incoming_message = msg.decode('utf8')
print('{}:{}'.format(topic,incoming_message))
# Connect to WiFi
wlan = network.WLAN(network.STA_IF) # Create a WiFi Station Interface
wlan.active(True) # Activate the interface
wlan.connect(WIFI_SSID, WIFI_PASS) # Ask for a Connection
print('WiFi ', end="")
while not wlan.isconnected(): # Wait for Connection
print(".", end="")
time.sleep(0.5)
print(' ', wlan.ifconfig()[0], '[Connected]') # Print the IP Address
client = MQTTClient(MQTT_CLIENT_ID,MQTT_BROKER,
user=MQTT_TOKEN, password=MQTT_SECRET)
print('MQTT...',MQTT_BROKER, end='')
try:
client.connect()
print('[Connected]')
except:
print('[error]')
client.set_callback(on_message)
client.subscribe('@msg/#')
i=0
while True :
client.check_msg()
client.publish('@msg/sensor',str(i))
time.sleep(3)
i=i+1