Python ESP32 mqtt应用
使用esp32连接mqtt服务器并接收发送数据
一、WIFI连接
import network
import time
def wifi_connect():
wifi_times=0
wlan=network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('网络连接中...')
wlan.connect(wifi_name,wifi_pwd)
while not wlan.isconnected():
wifi_times+=1
time.sleep(1)
print(wifi_times)
if wifi_times>=30:
wlan.active(False)
break
ip=wlan.ifconfig()
print('网络连接成功!')
print('ip地址:'+ip[0])
二、MQTT连接
from umqtt.simple import MQTTClient
client = MQTTClient('ESP32',mqtt_ip,1883,mqtt_name,mqtt_pwd,60)
def mqtt_connect():
client.set_callback(sub_cb)#设置回调函数
client.connect()
print('mqtt connected')
client.subscribe(‘test’) # 订阅test主题
三、回调函数
def sub_cb(topic,msg):
print(topic,msg)
四、发送数据
client.publish('ESP_001',msg)