
前面几节课我们学会了点亮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. 处理接收的数据importsocketimporttimeimportnetworkimportmachinedefdo_connect():wlannetwork.WLAN(network.STA_IF)wlan.active(True)ifnotwlan.isconnected():print(connecting to network...)wlan.connect(dongfeiqiu,wangmingdong1225)i1whilenotwlan.isconnected():print(正在链接...{}.format(i))i1time.sleep(1)print(network config:,wlan.ifconfig())defstart_udp():# 2. 启动网络功能UDP# 2.1. 创建udp套接字udp_socketsocket.socket(socket.AF_INET,socket.SOCK_DGRAM)# 2.2. 绑定本地信息udp_socket.bind((0.0.0.0,7788))returnudp_socketdefmain():# 1. 链接wifido_connect()# 2. 创建UDPudp_socketstart_udp()# 3. 创建灯对象ledmachine.Pin(2,machine.Pin.OUT)# 4. 接收网络数据whileTrue:recv_data,sender_infoudp_socket.recvfrom(1024)print({}发送{}.format(sender_info,recv_data))recv_data_strrecv_data.decode(utf-8)try:print(recv_data_str)exceptExceptionasret:print(error:,ret)# 5. 处理接收的数据ifrecv_data_strlight on:print(这里是要灯亮的代码...)led.value(1)elifrecv_data_strlight 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”而是整个远程控制系统的架构。以后做任何物联网项目这个模型都能复用。全程回顾步骤操作效果找到课程教程→硬件→ESP32MicroPython→第五课了解远程控制整体思路打开代码点击“打开”按钮完整代码进入编辑器修改WiFi信息填写自家WiFi名称和密码适配你的网络环境保存到开发板CtrlS → 选择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的时候你会真正感受到——物联网原来我也能做。有任何问题或建议欢迎在评论区留言告诉我们。