首先,我们需要在ESP32上面安装mqtt的库。(MQTT客户端在ESP32上面的实现)
首先确认ESP32-MicroPython已经连接上了热点!!!, 通过REPL控制ESP32。
引入upip
包管理器
>>> import upip
>>> upip.install(‘micropython-umqtt.simple‘)
Installing to: /lib/
Installing micropython-umqtt.simple 1.3.4 from https://files.pythonhosted.org/packages/bd/cf/697e3418b2f44222b3e848078b1e33ee76aedca9b6c2430ca1b1aec1ce1d/micropython-umqtt.simple-1.3.4.tar.gz
这样umqtt.simple这个包就安装好了。
esp32/subscriber.py
from umqtt.simple import MQTTClient
import time
SERVER = ‘192.168.43.16‘
CLIENT_ID = ‘PYESPCAR_A0‘
TOPIC = b‘pyespcar_basic_control‘
def mqtt_callback(topic, msg):
print(‘topic: {}‘.format(topic))
print(‘msg: {}‘.format(msg))
client = MQTTClient(CLIENT_ID, SERVER)
client.set_callback(mqtt_callback)
client.connect()
client.subscribe(TOPIC)
while True:
# 查看是否有数据传入
# 有的话就执行 mqtt_callback
client.check_msg()
time.sleep(1)
esp32/publisher.py
from umqtt.simple import MQTTClient
import time
SERVER = ‘192.168.43.16‘
CLIENT_ID = ‘PYESPCAR_A0‘ # 客户端的ID
TOPIC = b‘pyespcar_basic_control‘ # TOPIC的ID
client = MQTTClient(CLIENT_ID, SERVER)
client.connect()
while True:
client.publish(TOPIC, ‘helloworld‘)
time.sleep(1)
注意在Esp32里面TOPIC
需要是bytes
类型。
现在我们修改 boot.py
原来的
from emp_wifi import Wifi from emp_webrepl import WebREPL from emp_utils import webrepl_pass from emp_utils import post_ip if __name__ == ‘__main__‘: Wifi.connect() try: post_ip(Wifi.ifconfig()[0][0]) except ImportError: pass WebREPL.start(password=webrepl_pass()) from emp_ide import *
新的
from emp_wifi import Wifi from emp_webrepl import WebREPL from emp_utils import webrepl_pass from emp_utils import post_ip import ubinascii import machine #mqtt 服务器相应的信息 mqtt_server = ‘*.*.*.*‘ client_id = b‘Q1‘+ubinascii.hexlify(machine.unique_id()).upper() mqtt_user = b‘Q1‘ mqtt_pwd = b‘‘ topic_sub = client_id topic_pub = b‘Hongwans_EMQ‘ if __name__ == ‘__main__‘: Wifi.connect() try: post_ip(Wifi.ifconfig()[0][0]) except ImportError: pass WebREPL.start(password=webrepl_pass()) from emp_ide import *
野路子学习esp32(十六) MQTT与ESP32-MicroPython @a.宏万
原文:https://www.cnblogs.com/hongwans/p/12784681.html