电脑远程控制esp32上的LED

news/2024/11/24 9:06:03/

1、思路整理

        首先esp32需要连接上wifi

        然后创建udp socket 

        接受udp数据

        最后解析数据,控制LED

2、micropython代码实现

import network
from socket import *
from machine import Pin
p2=Pin(2,Pin.OUT)def do_connect():		#连接wifi wlan = network.WLAN(network.STA_IF)wlan.active(True)if not wlan.isconnected():print('connecting to network...')wlan.connect('lig', '152601')        //这里填你自己的wifi名称和密码while not wlan.isconnected():passprint('network config:', wlan.ifconfig())  //打印出网络相关信息,第一个信息很重要,该esp32分配的ip地址def creat_udp_socket():udp_socket=socket(AF_INET,SOCK_DGRAM)udp_socket.bind(("0.0.0.0",7788))   #绑定一个固定的端口return udp_socketdef main():do_connect()	#让esp32连接到wifiudp_socket=creat_udp_socket()	#创建udp socketwhile True:					#接收udp数据recv_data,send_info=udp_socket.recvfrom(1024) #最大收取1024个字节print("{}发送的数据,{}".format(send_info,recv_data))recv_data_str=recv_data.decode("utf-8")				#解码print("解码后的数据{}".format(recv_data_str))		#打印解码后的数据if recv_data_str=="light on":                  #解析数据 控制LED灯p2.value(1)elif recv_data_str=="light off":p2.value(0)if __name__=='__main__':main()

print('network config:', wlan.ifconfig())打印的信息为一个元组,里面有四个元素,第一个是ESP32的IP地址,这个比较重要,待会要填在网络调试助手中!

3、演示

运行程序后打开网络调试助手

成功使用PC控制LED灯,绿灯亮! 

原文链接:https://blog.csdn.net/guangali/article/details/136124590           


http://www.ppmy.cn/news/1413011.html

相关文章

C语言生成大模型代码

C语言生成大模型代码 在C语言中生成大模型代码并不是一个常见的任务,因为C语言通常用于编写系统级或应用级的程序,而不是用于机器学习或深度学习模型的开发。大模型代码通常指的是深度学习框架(如TensorFlow、PyTorch等)中用于训…

idea中jdk版本的配置

配置JDK版本的步骤如下: 下载JDK安装文件:首先,需要从Oracle官方网站(https://www.oracle.com/java/technologies/javase-jdk8-downloads.html)下载适合您操作系统的JDK版本。 安装JDK:双击下载的安装文件…

【文件IO】JavaIO详解

一.文件的相关概念 什么是文件? 文件是计算机中存储信息的基本单位。文件通常指的是存储在计算机或其他数字存储设备上的一段信息的集合,这些信息可以是文本、图片、音频、视频等不同格式的数据。 文件路径: 文件的路径可以分为两类 相对路径:先指定一个"当前…

数据结构---顺序表实现

目录 1.顺序表 2.动态顺序表的实现 (4)顺序表初始化 (5)顺序表销毁 (6)顺序表的插入 a.尾插 b.头插 (7)顺序表的删除 a.尾删 b.头删 (8)指定位置之…

hive-分桶-索引(初篇)

hvie - 分桶 创建分桶表之前要先设置hive允许进行强制分桶配置 set hive.enforce.bucketingtrue 创建分桶表 create table tmp_bucket(id int,name String) clustered by (id) into 4 buckets 建表 其中x表示分几个桶进行抽样,y表示间隔几个桶进行一次分桶…

非线性滤波相位解缠算法

相位解缠是InSAR数据处理流程中较为关键的步骤,同时也是地表高程模型重建 过程中的主要误差来源之一。迄今为止,针对干涉图的相位解缠问题,已经提出了各 种各样的相位解缠算法,这些算法大致可以分为以下几类:①路径跟踪…

Postman 请求参数传递指南:Query、Path 和 Body 详解

Postman 是一个非常流行的 API 开发环境,它允许开发者测试、开发和文档化他们的 API。在 Postman 中,当你发送一个请求时,你可能需要将参数传递给服务器。这些参数可以通过不同的方式传递,例如 Query Parameters(查询参…

Kotlin基础学习

Kotlin基础学习主要涵盖安装Kotlin编译器、了解基础语法、学习变量声明、类型推断、函数定义以及控制结构等方面。以下是一个简要的Kotlin基础学习指南: 一、安装Kotlin 首先,你需要从JetBrains的官方网站下载并安装Kotlin编译器。同时,你也…