前面几节课,我们学会了点亮LED、让LED呼吸、连接WiFi、发送数据。学到这里,很多同学心里会冒出一个念头:这些技能组合起来,能做出什么真正有用的东西?
今天这节课,就是前面所有知识的集大成之作 ------用电脑远程控制ESP32上的LED灯。
简单来说,就是你的电脑和ESP32连接到同一个路由器,你在电脑上发一条指令,ESP32收到后就会执行对应的操作------让灯亮,它就亮;让灯灭,它就灭。
这看起来只是一个"开关灯"的演示,但它的底层逻辑,和智能家居里手机远程控制空调、远程开关窗帘、远程打开门锁的原理是一模一样的。
学完这节课,你就掌握了物联网远程控制的核心模型。
第一步:找到课程,理解整体思路
打开逗脑IDE,点击顶部 "教程" ,在 "硬件" → "ESP32 + MicroPython" 分类下,找到第五节课------PC远程控制LED灯。

打开课件,首先看到的是整体思路图解:
电脑(发送指令) → 路由器(转发数据) → ESP32(接收并执行)
整个系统的通信流程是这样的:
- ESP32和电脑都连接到同一个WiFi路由器
- ESP32启动UDP服务,监听指定端口
- 电脑通过网络调试助手,向ESP32发送指令(如"light on")
- ESP32收到指令后,控制LED灯点亮或熄灭

这个模型非常简单清晰,但它的应用范围极广------所有局域网远程控制的设备,用的都是这个逻辑。
第二步:一键打开代码,改个WiFi信息就行
继续往下翻课件,你会看到完整的项目代码 。点击代码块右上角的 "打开" 按钮,代码自动加载到编辑器中。
python
# 整体流程
# 1. 链接wifi
# 2. 启动网络功能(UDP)
# 3. 接收网络数据
# 4. 处理接收的数据
import socket
import time
import network
import machine
def do_connect():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('connecting to network...')
wlan.connect('dongfeiqiu', 'wangmingdong1225')
i = 1
while not wlan.isconnected():
print("正在链接...{}".format(i))
i += 1
time.sleep(1)
print('network config:', wlan.ifconfig())
def start_udp():
# 2. 启动网络功能(UDP)
# 2.1. 创建udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 2.2. 绑定本地信息
udp_socket.bind(("0.0.0.0", 7788))
return udp_socket
def main():
# 1. 链接wifi
do_connect()
# 2. 创建UDP
udp_socket = start_udp()
# 3. 创建灯对象
led = machine.Pin(2, machine.Pin.OUT)
# 4. 接收网络数据
while True:
recv_data, sender_info = udp_socket.recvfrom(1024)
print("{}发送{}".format(sender_info, recv_data))
recv_data_str = recv_data.decode("utf-8")
try:
print(recv_data_str)
except Exception as ret:
print("error:", ret)
# 5. 处理接收的数据
if recv_data_str == "light on":
print("这里是要灯亮的代码...")
led.value(1)
elif recv_data_str == "light off":
print("这里是要灯灭的代码...")
led.value(0)
if __name__ == "__main__":
main()
需要修改的只有一处: wlan.connect()里面的WiFi名称和密码,改成你自己的。
代码的逻辑非常清晰,每一步都有注释说明。就算你是零基础,顺着注释看下来,也能大概理解程序在做什么。
第三步:保存到开发板,启动服务
代码改好了,按 Ctrl + S 保存,选择你的ESP32开发板设备 ,给文件命名(比如remote_control.py),点击保存。

保存成功后,点击运行按钮。底部终端会开始打印连接日志:
正在连接WiFi...
正在连接...第1次
正在连接...第2次
连接成功!IP地址: ('192.168.1.103', '255.255.255.0', ...)

看到这个IP地址,说明ESP32已经成功连上WiFi,正在等待电脑发指令了。
第四步:电脑端准备------打开网络调试助手
现在轮到电脑这边了。我们需要一个工具来向ESP32发送指令。
打开网络调试助手(课件里提供了下载链接),按照以下步骤配置:
第一步:配置协议和端口
- 协议类型: 选择 UDP
- 本机IP: 自动获取(不用管)
- 端口: 默认即可
第二步:填写目标地址
- 目标IP: 填写刚才终端里打印出来的ESP32 IP地址(比如
192.168.1.103) - 目标端口: 填写 7788(一定要和ESP32代码里绑定的端口一致)
第三步:设置字符编码
注意! 网络调试助手默认的字符编码可能不是UTF-8,需要修改一下,否则中文或特殊字符可能乱码。在软件设置里把字符编码改为 UTF-8。

第四步:点击"打开连接",开始监听。

第五步:发送指令,远程控制!
一切准备就绪,现在就是见证奇迹的时刻了!
控制开灯:
在网络调试助手的发送框中输入 light on ,点击 "发送"。

注意看屏幕右下角实时捕捉的开发板画面------ESP32上的蓝色LED灯,亮了!

控制关灯:
接下来,在调试助手的发送框中输入 light off ,再次点击 "发送"。
开发板上的蓝色LED灯应声熄灭。


这个模型能做什么?
你可能会想:这不就是个远程开关灯吗?有什么大不了的?
格局打开------
这个"电脑→路由器→ESP32"的通信模型,是一切局域网远程控制的基础。只要把指令内容换一下,就能实现各种不同的功能:
| 指令内容 | ESP32执行的动作 | 对应的实际应用 |
|---|---|---|
light on |
点亮LED | 智能灯泡远程开灯 |
light off |
熄灭LED | 智能灯泡远程关灯 |
fan on |
舵机转动 | 智能风扇开启 |
open |
舵机旋转90° | 智能门锁开门 |
read temp |
读取传感器 | 远程获取温湿度 |
你还可以把电脑换成手机,把局域网换成互联网------就变成了手机远程控制家里的设备 ,这就是智能家居的雏形。
今天这节课,你学到的不是"控制一颗LED",而是整个远程控制系统的架构。 以后做任何物联网项目,这个模型都能复用。
全程回顾
| 步骤 | 操作 | 效果 |
|---|---|---|
| 找到课程 | 教程→硬件→ESP32+MicroPython→第五课 | 了解远程控制整体思路 |
| 打开代码 | 点击"打开"按钮 | 完整代码进入编辑器 |
| 修改WiFi信息 | 填写自家WiFi名称和密码 | 适配你的网络环境 |
| 保存到开发板 | Ctrl+S → 选择ESP32设备 | 代码上传完成 |
| 点击运行 | 点击运行按钮 | 终端打印IP地址,ESP32开始监听 |
| 配置调试工具 | UDP + 7788端口 + 目标IP | 电脑准备发送指令 |
| 发送开灯指令 | 输入light on点击发送 |
LED亮起 |
| 发送关灯指令 | 输入light off点击发送 |
LED熄灭 |
整个过程中,你修改的只有两处:
- WiFi名称和密码(改成你自己的)
- 调试工具里的目标IP地址(填终端打印出来的那个)
其他的,全部由课程代码和IDE替你完成了。
课程体系一览
到今天为止,我们已经完成了ESP32 + MicroPython系列的前五节课:
| 课程 | 知识点 | 成果 |
|---|---|---|
| 第一课 | GPIO数字输出 | 点亮LED |
| 第二课 | 延时控制 | LED闪烁 |
| 第三课 | PWM模拟输出 | 呼吸灯 |
| 第四课 | WiFi连接 + UDP通信 | ESP32联网,发送数据 |
| 第五课 | 综合应用 | 电脑远程控制LED |
从点亮一颗灯,到远程控制一颗灯------你只用了五节课。
每节课都配有原理讲解 + 完整代码 + 视频教程,全部在逗脑IDE里,打开就能学,打开就能运行。
去官网(www.dounao.cn )下载逗脑IDE,找一块ESP32开发板,把这几节课从头到尾走一遍。当你用电脑点亮千里之外(其实就在你手边)那颗LED的时候,你会真正感受到------物联网,原来我也能做。
有任何问题或建议,欢迎在评论区留言告诉我们。