ESP32学习(4)——电脑远程控制LED灯

1.思路梳理

        首先需要让ESP32连接上WIFI

        然后创建udp socket

        接着接收udp数据

        最后解析数据,控制LED

2.代码实现

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():
            pass
    print('network config:', wlan.ifconfig())  //打印出网络相关信息,第一个信息很重要
 
def creat_udp_socket():
    udp_socket=socket(AF_INET,SOCK_DGRAM)
    udp_socket.bind(("0.0.0.0",7788))   #绑定一个固定的端口
    return udp_socket

def main():
    do_connect()	#让esp32连接到wifi
    udp_socket=creat_udp_socket()	#创建udp socket
    while 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灯! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/389561.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

optee imx8mm

总仓库 git clone https://github.com/Xsyin/imx8mqevk.git -b container_region 替换imx8mqevk中的optee-client git clone https://github.com/nxp-imx/imx-optee-client.git -b lf-5.15.32_2.0.0 用 5.15.32 kernel 会有如下报错,需要将optee os升级到分支 lf-…

MySQL容器的数据挂载

挂载本地目录或文件 可以发现,数据卷的目录结构较深,如果我们去操作数据卷目录会不太方便。在很多情况下,我们会直接将容器目录与宿主机指定目录挂载。挂载语法与数据卷类似: # 挂载本地目录 -v 本地目录:容器内目录 # 挂载本地…

第9讲重写登录成功和登录失败处理器

重写登录成功和登录失败处理器 common下新建security包,再新建两个类,LoginSuccessHandler和LoginFailureHandler Component public class LoginSuccessHandler implements AuthenticationSuccessHandler {Overridepublic void onAuthenticationSuccess…

请标记你的龙年心愿关键词

昨天外孙陪我游了崇州市白头镇、道民镇(竹艺村),见我心情愉悦,今天再陪我去饱览其他风景名胜,所以笔者——本“人民体验官”特别推广人民日报官方微博文化产品《2024年第一批春花开了》《#大年初七#,标记你…

三种输入输出函数

目录 printf函数 scanf函数 getchar函数 putchar函数 gets函数 puts函数 printf函数 当你需要将数据或文本输出到屏幕或其他输出设备时,C语言提供了一个非常有用的函数,即 printf() 函数。它是标准库中定义的函数,用于格式化输出。 pr…

如何监控另一台电脑屏幕画面?如何远程监控电脑屏幕?

在数字化时代,随着远程工作和协作的普及,电脑屏幕监控的需求也日益增长。无论是出于安全考虑、提高员工工作效率,还是确保企业机密的保密性,电脑屏幕监控都成为了企业不可或缺的管理工具。那么,如何监控另一台电脑屏幕…

怎么恢复电脑重装前的数据?介绍几种有效的方法

在日常生活和工作中,电脑已成为我们不可或缺的工具。然而,有时候我们会遇到一些突发情况,比如电脑系统崩溃需要重新安装系统。在这个过程中,我们可能会失去一些重要的数据,比如照片、文档、视频等。这些数据可能包含着…

第三十一回 武行者醉打孔亮 锦毛虎义释宋江-解压文件但不重复解压

武松发现蜈蚣岭寺庙里一个人搂着女的看月亮,就把那个人和他的道童都杀了。原来那个人叫飞天蜈蚣王道人,那女的是被掳来的,她将一包金银给武松,武松没有要。 就像武松在处理问题时展现出的智慧和决断力,现代IT技术同样…

使用骨传导耳机真的不损伤听力吗?哪些人群适合购买骨传导耳机?

如果是正确的使用骨传导耳机,是不会损伤听力的,因为骨传导耳机采用开放式佩戴,而且传声方式不经过耳道和耳膜,是通过人体骨骼来传递声音,不会损伤耳膜,所以不会损伤听力。 由于骨传导耳机的特殊性&#xff…

SG3225VEN晶体振荡器SPXO

SG3225VEN是爱普生的一款LVDS输出差分晶振,小体积晶振尺寸3.2*2.5mm的石英晶体振荡器,六脚贴片晶振,电源电压2.5V、3.3V,频率范围25mhz ~ 500mhz,工作温度可达到- 40℃~ 105℃,该产品具有超小型&#xff0…

【深入理解BEVFormer】BEVFormer

任务场景 多模态融合和多传感器融合 BEV:鸟瞰图 这个特征空间与每个视角都相关 早期是用后融合,目前比较流行的是特征级融合 自身运动补偿:如果按照像素点进行特征对齐,需要指定偏移量 x y两个方向 特征空间是自己定义的&#xf…

使用REQUESTDISPATCHER对象调用错误页面

使用REQUESTDISPATCHER对象调用错误页面 问题陈述 InfoSuper公司已经创建了一个动态网站。发生错误时,浏览器中显示的堆栈跟踪很难理解。公司的系统分析师David Wong让公司的软件程序员Don Allen创建自定义错误页面。servlet引发异常时,应使用RequestDisapatcher对象向自定义…

【牛客面试必刷TOP101】Day22.BM16 删除有序链表中重复的元素-II和BM21 旋转数组的最小数字

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:牛客面试必刷TOP101 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!&…

OpenAI 最新发布的从文本生成视频模型 Sora 炸裂登场,它能根据文字指令创造逼真且富有想象力的场景

文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 此页面上的所有视频均由 Sora 直接生成,未经修改。 OpenAI - Sora is an AI model that can create realistic and imaginative scenes f…

关于Build Your Own Botnet的尝试

这是一次失败的尝试、 原文地址:关于Build Your Own Botnet的尝试 - Pleasure的博客 下面是正文内容: 前言 我在上一篇关于DDOS的文章种提到过这个项目,而且说明了由于这个项目是在2020年发布并开源的,并且已经有两年没有进行跟…

react+ts【项目实战一】配置项目/路由/redux

文章目录 1、项目搭建1、创建项目1.2 配置项目1.2.1 更换icon1.2.2 更换项目名称1.2.1 配置项目别名 1.3 代码规范1.3.1 集成editorconfig配置1.3.2 使用prettier工具 1.4 项目结构1.5 对css进行重置1.6 注入router1.7 定义TS组件的规范1.8 创建代码片段1.9 二级路由和懒加载1.…

【JS逆向+Python模拟API请求】逆向某一个略微中等的混淆网站,并模拟调用api请求 仅供学习。注:不是源代码混淆,而是一个做代码混淆业务的网站,

逆向日期:2024.02.16 使用工具:Node.js 加密方法:RSA标准库 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标准算法&#xf…

Dynamo读取Revit警告

Hello大家好!我是九哥~ 之前看到群里小伙伴经常会问如何去掉Revit重复的图元,有推荐各种插件的,其实的,Revit本身就会提示你有哪些图元是重复的,就在管理选项卡下面的警告里,即查阅警告信息。 点击警告后…

【JAVA-Day81】 线程休眠: Java 中暂停线程执行的方法 ⏸️

线程休眠: Java 中暂停线程执行的方法 ⏸️💤 线程休眠: Java 中暂停线程执行的方法 ⏸️💤摘要 📝引言 🚀正文 📚一、什么是线程休眠 ⏸️二、线程什么情况下会休眠 ❓三、模拟线程休眠 &#…
最新文章