import network
import time
import machine # <--- THIS WAS MISSING!
from machine import Pin
import ubinascii
import random
from umqttsimple import MQTTClient # <--- Uses your new file
# --- CONFIGURATION ---
MQTT_BROKER = "broker.hivemq.com"
MQTT_TOPIC = "shafwan19/sensor/data"
CLIENT_ID = ubinascii.hexlify(machine.unique_id()) # This line caused your crash!
# 1. Connect to Wokwi Virtual WiFi
print("Connecting to WiFi...", end="")
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect('Wokwi-GUEST', '')
while not sta_if.isconnected():
print(".", end="")
time.sleep(0.1)
print(" Connected!")
# 2. Connect to MQTT Broker
print("Connecting to MQTT...", end="")
client = MQTTClient(CLIENT_ID, MQTT_BROKER)
client.connect()
print(" Connected!")
# 3. Send Fake Data Loop
while True:
# Simulate a sensor reading (Fake Temperature)
temp = random.uniform(20.0, 70.0)
# Send it to the cloud
msg = str(temp)
print(f"Sending: {msg}")
client.publish(MQTT_TOPIC, msg)
time.sleep(2)