电脑远程控制esp32上的LED

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():
            pass
    print('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_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灯,绿灯亮! 

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

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

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

相关文章

SpringBoot项目如何国际化操作,让你可以随意切换语言

1.前言 最近接触的项目需要中文/英文或者其他国家语言的切换,在后台的时候有一个选择,你可以选择中文还是英文,或者其他语言,选择完毕界面语言就都变了,咱不知道前端怎么操作的,但是后台在处理提示语的时候…

Qt/C++推流组件使用说明

2.1 网络推流 公众号:Qt实战,各种开源作品、经验整理、项目实战技巧,专注Qt/C软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发。 公众号:Qt入门和进阶,专门介绍Qt/C相关知识点学…

ppt从零基础到高手【办公】

第一章:文字排版篇01演示文稿内容基密02文字操作规范03文字排版处理04复习&作业解析第二章:图形图片图表篇05图形化表达06图片艺术化07轻松玩转图表08高效工具&母版统一管理09复习&作业解析10轻松一刻-文字图形小技巧速学第三章:…

[dvwa] xss dom

xss dom 0x01 low <script>alert(document.cookie)</script>弹个窗 script被写入html 0x02 medium 过滤<script 考虑使用img标签&#xff0c;其onerror属性在该元素加载src错误时触发 注入元素被写入value&#xff0c;就在value闭合option 和 select标签…

DP:子数组模型

一、最大子数组和 . - 力扣&#xff08;LeetCode&#xff09; 二、环形子数组的最大和 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int maxSubarraySumCircular(vector<int>& nums) {//动态规划思想解决 //环形数组问题&#xff0c;尝试转…

SpringBoot之SpringBoot整合MyBatis

本章详情 使用SpringBoot和MyBatis通过注解的方式操作数据库使用SpringBoot和MyBatis通过XML配置文件的方式操作数据库 项目搭建 1. 打开idea,选择Create New Project 2.选择Spring Initializer,然后点击Next 3.填写组织&#xff0c;坐标等信息&#xff0c;然后点击Next 4.选…

Qt | QObject 类中的成员函数存取属性值与动态属性、用反射机制获取属性的信息

1、注册自定义类型与 QMetaType 类 ①、QMetaType 类用于管理元对象系统中命名的类型,该类用于帮助 QVariant 中的类型以及队列中信号和槽的连接。它将类型名称与类型关联,以便在运行时动态创建和销毁该名称。 ②、QMetaType::Type 枚举类型定义了 QMetaType 支持的类型。其…

婴儿专用洗衣机有必要吗?精选4款品质婴儿洗衣机疯狂安利!

宝宝衣服的清洗对父母来说都很重要&#xff0c;所以挑选一款适合宝宝的小型洗衣机显得尤为重要。也许有许多人认为&#xff0c;为婴儿购买独立的洗衣机是不必要的&#xff0c;但是你是否了解呢&#xff1f;新生婴儿的肌肤要比成人更脆弱&#xff0c;更易受到感染而受到伤害&…

无人零售革新购物体验

无人零售革新购物体验 在智能化技术不断进步的今天&#xff0c;无人零售作为一种整合了尖端科技的新型零售方式&#xff0c;正在快速转变我们的消费体验。这种零售模式&#xff0c;凭借其高效与便捷性&#xff0c;不仅极大地丰富了消费者的购物方式&#xff0c;同时也为零售行…

xss.pwnfunction-Ah That‘s Hawt

<svg/onloadalert%26%2340%3B1%26%2341%3B> <svg/>是一个自闭合形式 &#xff0c;当页面或元素加载完成时&#xff0c;onload 事件会被触发&#xff0c;从而可以执行相应的 JavaScript 函数

flask 访问404

当你的项目有自己的蓝图&#xff0c;有添加自己的前缀&#xff0c;也注册了蓝图。 在访问的路由那里也使用了自己的蓝图&#xff0c;如下图 然后你访问的地址也没问题&#xff0c;但是不管怎么样访问就是返回404&#xff0c;这个时候不要怀疑你上面的哪里配置错误&#xff0c;…

JVM规范中的运行时数据区

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a;每天一个知识点 ✨特色专栏&#xff1a…

[网鼎杯 2020 玄武组]SSRFMe-反弹shell

[网鼎杯 2020 玄武组]SSRFMe 因为用常规方法一直写不出来&#xff0c;所以就换了一种 反弹shell 参考文章 很经典的一道CTF-WriteUP[网鼎杯 2020 玄武组]SSRFMe - FreeBuf网络安全行业门户

大厂Java笔试题之判断字母大小写

/*** 题目&#xff1a;如果一个由字母组成的字符串&#xff0c;首字母是大写&#xff0c;那么就统计该字符串中大写字母的数量&#xff0c;并输出该字符串中所有的大写字母。否则&#xff0c;就输出* 该字符串不是首字母大写*/ public class Demo2 {public static void main(St…

[dvwa] sql injection

sql injection 0x01 low sql语句没有过滤 经典注入&#xff0c;通过逻辑or为真相当于select * from users where true&#xff0c;99换成1也成 用union select 对齐列数&#xff0c;查看数据库信息 1’ union select 1,2# order by探测对齐列数更方便 1’ or 11 order b…

盛最多水的容器(双指针)

11. 盛最多水的容器 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 …

爱因斯坦求和约定 含代码

目录 一、简介 1.自由标 2.哑标 二、torch实现 1.计算迹 2.取矩阵对角线 3.计算外积 4.batch矩阵乘法 5.带有子列表和省略号 6.变换维度 7.双线性变换&#xff0c;类似于torch.nn.functional.bilinear 一、简介 爱因斯坦求和约定(Einstein summation convention)是一…

Execute-Assembly(1)

原理 在《Cobalt Strike 原理分析》一文中&#xff0c;介绍了内存加载程序集(Assembly)的主要有四步&#xff1a; 1 加载CLR环境 2 获取程序域 3 装载程序集 4 执行程序集 在odzhan的Shellcode: Loading .NET Assemblies From Memory所描述的那样&#xff0c;.Net Framework随着…

MySQL 嵌套查询

嵌套查询 是指在一个完整的查询语句之中&#xff0c;包含若干个不同功能的小查询&#xff1b;从而一起完成复杂查询的一种编写形式。包含的查询放在&#xff08;&#xff09;里 &#xff0c; 包含的查询出现的位置&#xff1a; 位置含义SELECT之后把查询结果作为表头使用FROM…

【InternLM】茴香豆:搭建你的RAG智能助理

茴香豆是 InternLM开源的基于 LLM的群聊知识助手&#xff0c;其提供了一整套前后端 web、android、算法源码&#xff0c;支持工业级商用。其最低运行运行成本低至 1.5G 显存&#xff0c;无需训练适用各行业。 1. 技术报告 参照技术报告HuixiangDou: Overcoming Group Chat Sc…