import time from machine import Pin from umqtt.simple import MQTTClient import network import time from math import sin # Received messages from subscriptions will be delivered to this callback def sub_cb(topic, msg): print((topic, msg)) if msg == b'on': print("turn LED on") #can do some hardware control here elif msg == b'off': print("turn LED off") # Replace details in code below def main(server="192.168.1.XX"): # Fill in your WiFi network name (ssid) and password here: wifi_ssid = "XXXXXXXXX" wifi_password = "XXXXXXXXX" # Connect to WiFi wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(wifi_ssid, wifi_password) while wlan.isconnected() == False: print('Waiting for connection...') time.sleep(1) print("Connected to WiFi") #client name should be unique c = MQTTClient("pico_board", server, 1883) c.set_callback(sub_cb) c.connect() c.subscribe(b"godot/#") while True: if True: # Blocking wait for message c.wait_msg() else: # Non-blocking wait for message c.check_msg() # Then need to sleep to avoid 100% CPU usage (in a real # app other useful actions would be performed instead) time.sleep(1) c.disconnect() if __name__ == "__main__": main()