import network
import time
from umqtt.simple import MQTTClient
# Wi-Fi credentials
ssid = "Wokwi-GUEST"
password = ""
# HiveMQ Broker details
broker = "broker.hivemq.com"
client_id = "esp32_publisher"
topic = "testnkp123"
# Wi-Fi connection
def connect_wifi():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)
while not wlan.isconnected():
print("Connecting to WiFi...")
time.sleep(1)
print("Connected to WiFi:", wlan.ifconfig())
# MQTT publish function
def mqtt_publish():
client = MQTTClient(client_id, broker)
client.connect()
while True:
message = "Hello from ESP32 Publisher!"
client.publish(topic, message)
print("Published:", message)
time.sleep(5) # Publish message every 5 seconds
client.disconnect()
# Main execution
connect_wifi()
mqtt_publish()