import umqtt.simple as mqtt
import machine
import time
# 设置MQTT服务器和端口
MQTT_SERVER = 'iot.xpstem.com'
MQTT_PORT = 1883
MQTT_USER = 'user'
MQTT_PASSWD = '******'
MQTT_TOPIC = 'user/xxx/data'
# 连接到MQTT服务器
def mqtt_connect():
client = mqtt.MQTTClient(client_id='client_001', server=MQTT_SERVER, port=MQTT_PORT, user=MQTT_USER, password=MQTT_PASSWD)
client.connect()
return client
# 连接到MQTT并运行主函数
client = mqtt_connect()
# 主循环
while True:
# 发布消息
client.publish(MQTT_TOPIC, 'Hello MQTT')
time.sleep(60) # 每60秒发送一次消息
请注意,如果您只发布消息,则不需要调用wait_msg()/ check_msg(),也不要订阅消息。
import umqtt.simple as mqtt
import machine
import time
# 设置MQTT服务器和端口
MQTT_SERVER = 'iot.xpstem.com'
MQTT_PORT = 1883
MQTT_USER = 'user'
MQTT_PASSWD = '******'
MQTT_TOPIC = 'user/xxx/ctrl'
# 连接到MQTT服务器
def mqtt_connect():
client = mqtt.MQTTClient(client_id='client_001', server=MQTT_SERVER, port=MQTT_PORT, user=MQTT_USER, password=MQTT_PASSWD)
client.connect()
return client
def on_message(topic, msg):
print((topic, msg))
# 连接到MQTT并运行主函数
client = mqtt_connect()
# 订阅消息,设置回调
client.set_callback(on_message)
client.subscribe(MQTT_TOPIC)
# 主循环
while True:
# 检查是否有消息
client.check_msg()
# 进行其他处理
time.sleep(1)
与MQTT消息相关的所有数据均编码为字节。这包括消息内容和主题名称(即使MQTT规范指出主题名称是UTF-8编码的)。原因很简单:通过网络套接字接收的是二进制数据(字节)
AMR是Autonomous Mobile Robot的缩写,即自主移动机器人,是集环境感知,动态决策规划,行为控制与执行等多功能于一体的综合系统。
本文对比了几款适合物联网开发的盒子硬件参数,供大家参考。
在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。
本方案是一个基于ESP32-CAM + 物联网的图像采集方案。
ESP32-CAM与MicroPython结合可实现摄像头图像采集、视频流传输等功能,不过Micropython官方没有支持ESP32-CAM的固件,需要烧录第三方的专有固件。
相信很多人都有把绿植给养死的经历,可能是浇水过多、忘记浇水、较长时间不在家不能浇水等,本文介绍一种可以灵活定制的智能浇花方案。
MicroPython 在 ESP32 上支持线程(Thread)功能,通过_thread模块实现。线程允许程序并发执行多个任务,适合处理需要同时运行的场景,例如传感器数据采集和网络通信。
本文将介绍如何将 ESP-Touch 协议用于基于 ESP32 的物联网项目/设备,使用 ESP-Touch,您将不再需要对 Wi-Fi 凭据进行硬编码,因为您可以随时轻松更改它。
使用了 MicroPython 库,通过 定时器(Timer) 和 ADC(模数转换器) 功能来实时读取传感器数据。使用定时器可以实现高精度、非阻塞、低资源消耗的周期性任务,保证实时性和可靠性,特别适用于嵌入式系统中的多任务处理和低功耗场景。
本教程将向您展示如何使用micropython脚本设置Pico和TFT触摸显示屏。您将学习如何使用触摸屏控制Pico以及如何在屏幕上显示信息。
ESP-HaloPanel 是一款基于 ESP32-C2 模组开发的超低成本智能家居面板,面板中央配备一个 1.28 寸圆形屏用于显示信息,屏幕周围均匀分布了 6 个触摸按键,用于控制操作。