零基础学ESP32电脑控制LED灯

前面几节课,我们学会了点亮LED、让LED呼吸、连接WiFi、发送数据。学到这里,很多同学心里会冒出一个念头:这些技能组合起来,能做出什么真正有用的东西?

今天这节课,就是前面所有知识的集大成之作——用电脑远程控制ESP32上的LED灯。

简单来说,就是你的电脑和ESP32连接到同一个路由器,你在电脑上发一条指令,ESP32收到后就会执行对应的操作——让灯亮,它就亮;让灯灭,它就灭。

这看起来只是一个“开关灯”的演示,但它的底层逻辑,和智能家居里手机远程控制空调、远程开关窗帘、远程打开门锁的原理是一模一样的。

学完这节课,你就掌握了物联网远程控制的核心模型。

第一步:找到课程,理解整体思路

打开逗脑IDE,点击顶部“教程”,在“硬件” → “ESP32 + MicroPython”分类下,找到第五节课——PC远程控制LED灯。

打开课件,首先看到的是整体思路图解:

电脑(发送指令) → 路由器(转发数据) → ESP32(接收并执行)
整个系统的通信流程是这样的:

ESP32和电脑都连接到同一个WiFi路由器

ESP32启动UDP服务,监听指定端口

电脑通过网络调试助手,向ESP32发送指令(如“light on”)

ESP32收到指令后,控制LED灯点亮或熄灭

这个模型非常简单清晰,但它的应用范围极广——所有局域网远程控制的设备,用的都是这个逻辑。

第二步:一键打开代码,改个WiFi信息就行

继续往下翻课件,你会看到完整的项目代码。点击代码块右上角的“打开”按钮,代码自动加载到编辑器中。

# 整体流程# 1. 链接wifi# 2. 启动网络功能(UDP)# 3. 接收网络数据# 4. 处理接收的数据import socketimport timeimport networkimport machinedef 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_socketdef 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的时候,你会真正感受到——物联网,原来我也能做。

有任何问题或建议,欢迎在评论区留言告诉我们。

发表评论