ESP32调试笔记

目录

  • 基于Thonny和micropython
    • ESP32-CAM开发板无法连接Thonny
    • esp32cam局域网图传
      • esp32代码
      • 上位机代码

基于Thonny和micropython

ESP32-CAM开发板无法连接Thonny

esp32cam有两个模式:下载模式、运行模式
在这里插入图片描述
在这里插入图片描述
两种模式的接线不同 IO0 短路 GND !
正是因为两种模式接线不同,所以这个底板在Thonny中只能用来下载固件
链接: 参考链接

esp32cam局域网图传

不到1秒的延时效果还不错

在这里插入图片描述

esp32代码

要修改对应wifi名字、密码、目标服务器IP

import socket
import network
import camera
import time# 连接wifi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():print('connecting to network...')wlan.connect('wifiname', 'mima') # wifi名字和密码while not wlan.isconnected():pass
print('网络配置:', wlan.ifconfig())# 摄像头初始化
try:camera.init(0, format=camera.JPEG)
except Exception as e:camera.deinit()camera.init(0, format=camera.JPEG)# 其他设置:
# 上翻下翻
camera.flip(1)
#左/右
camera.mirror(1)# 分辨率
camera.framesize(camera.FRAME_HVGA)
# 选项如下:
# FRAME_96X96 FRAME_QQVGA FRAME_QCIF FRAME_HQVGA FRAME_240X240
# FRAME_QVGA FRAME_CIF FRAME_HVGA FRAME_VGA FRAME_SVGA
# FRAME_XGA FRAME_HD FRAME_SXGA FRAME_UXGA FRAME_FHD
# FRAME_P_HD FRAME_P_3MP FRAME_QXGA FRAME_QHD FRAME_WQXGA
# FRAME_P_FHD FRAME_QSXGA
# 有关详细信息,请查看此链接:https://bit.ly/2YOzizz# 特效
camera.speffect(camera.EFFECT_NONE)
#选项如下:
# 效果\无(默认)效果\负效果\ BW效果\红色效果\绿色效果\蓝色效果\复古效果
# EFFECT_NONE (default) EFFECT_NEG \EFFECT_BW\ EFFECT_RED\ EFFECT_GREEN\ EFFECT_BLUE\ EFFECT_RETRO# 白平衡
# camera.whitebalance(camera.WB_HOME)
#选项如下:
# WB_NONE (default) WB_SUNNY WB_CLOUDY WB_OFFICE WB_HOME# 饱和
camera.saturation(0)
#-2,2(默认为0. -2灰度
# -2,2 (default 0). -2 grayscale # 亮度
camera.brightness(0)
#-2,2(默认为0. 2亮度
# -2,2 (default 0). 2 brightness# 对比度
camera.contrast(0)
#-2,2(默认为0.2高对比度
#-2,2 (default 0). 2 highcontrast# 质量
camera.quality(10)
#10-63数字越小质量越高# socket UDP 的创建
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)try:while True:buf = camera.capture()  # 获取图像数据s.sendto(buf, ("20.10.41.35", 9090))  # 向服务器发送图像数据time.sleep(0.1)
except:pass
finally:camera.deinit()

上位机代码

import socket
import cv2
import io
from PIL import Image
import numpy as nps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)
s.bind(("0.0.0.0", 9090))  # 注意这里修复了括号try:while True:try:data, IP = s.recvfrom(100000)if not data:continuebytes_stream = io.BytesIO(data)image = Image.open(bytes_stream)img = np.asarray(image)img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)cv2.imshow("ESP32 Capture Image", img)if cv2.waitKey(1) == ord("q"):breakexcept Exception as e:print(f"An error occurred: {e}")
finally:cv2.destroyAllWindows()s.close()

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cloak斗篷技术:FP独立站的隐身术

FP商家常常面临着一个难题:如何在满足各大主流平台如Facebook、Google、TikTok等严格审核的同时,又能向买家展示真正想要推广的商品内容? Cloak斗篷技术正是为解决这一难题而诞生的。 简而言之,Cloak斗篷技术就如同给网页穿上了一…

[AI in sec]-039 DNS隐蔽信道的检测-特征构建

DNS隐蔽信道是什么 DCC是指利用DNS数据包中的可定义字段秘密传递信息的通道。其中,“DNS 协议”是目前网络上使用的标准域名解析协议;“可定义字段”是DNS 数据包中的 QNAME 字段、RDATA 字段及RawUDP字段。利用DNS数据包可以构建2种信道:存储信道及时间信道。DCC可以被用于…

nginx配置实例-动静分离

目录 一、相关概念 1.1动静分离概念 1.2动静分离的两种实现方法 二、实例配置 2.1 准备工作:在linux系统中准备静态资源,方便后面做测试 2.2 修改nginx配置文件 2.3 在浏览器测试 一、相关概念 1.1动静分离概念 将动态请求跟静态请求分开&#xf…

大模型在金融行业的应用场景和落地路径

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

李沐20_卷积层里的填充和步幅——自学笔记

填充和步幅 给定32✖32的输入图像,应用5✖5大小的卷积核(第一层输出28✖28,第7层输出大小是4✖4,即每一层都-4) 更大的卷积核可以更快地减小输出大小:形状从nk✖nk减少到(nh-kn1)✖(nw-kw1) 1.填充 在输…

理解 Golang 变量在内存分配中的规则

为什么有些变量在堆中分配、有些却在栈中分配? 我们先看来栈和堆的特点: 简单总结就是: 栈:函数局部变量,小数据 堆:大的局部变量,函数内部产生逃逸的变量,动态分配的数据&#x…

VueRouter的介绍:什么是路由呢?VueRouter的作用及使用,VueRouter的使用分为5个步骤和特定的2步

1.什么是路由呢? 路由就是路径和组件之间的映射关系,当我们路径变化的时候,就要切换对应的组件。 在前端中解决路径与组件之间的映射关系,官方提供了VueRouter这个插件 2.VueRouter的作用及使用 作用:修改地址栏路…

ios苹果ipa文件app内测分发有哪些操作流程

哈喽,大家好,咕噜淼淼又来和大家见面啦,在iOS应用开发过程中,进行内测分发是非常重要的一环,它能帮助开发者发现并修复应用中的问题,提升用户体验。上两期咱们一起探讨了一下App内测分发的目的及优势&#…

【计算机考研】408有多难?复习到什么程度才能120+?

备考计算机考研的408统考是一件需要花费精力和时间的事情,我想分享一些基于个人经验的备考策略,希望能帮助到大家。 首先,我将备考过程划分为三轮进行。在第一轮复习阶段,我每天安排3小时的时间学习机组原理和操作系统&#xff0…

Android Binder——ServiceManager初始化(六)

上一篇文章介绍到 servicemanager 的 main 函数中主要做了四件事: 1)初始化 binder 驱动。 2)将自身以“manager”添加到 servicemanager 中的 map 集合中。 3)注册成为 binder 驱动的上下问管理者。 4)给 Looper 设置 callback,进入无限循环,处理 client 端发来的请求。…

Linux 函数学习

1、Linux poll 函数 int poll(struct pollfd *fds, nfds_t nfds, int timeout); fds&#xff1a; 需要轮询的fd集合 nfds&#xff1a;需要轮询的fds数量 timeout&#xff1a;超时时间 返回值&#xff1a;0 超时&#xff0c;<0 发生异常&#xff0c;> 0 存在数据变化 …

【LeetCode热题100】153. 寻找旋转排序数组中的最小值(二分)

一.题目要求 已知一个长度为 n 的数组&#xff0c;预先按照升序排列&#xff0c;经由 1 到 n 次 旋转 后&#xff0c;得到输入数组。例如&#xff0c;原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到&#xff1a; 若旋转 4 次&#xff0c;则可以得到 [4,5,6,7,0,1,2]若旋转 7…

几行代码搞懂静态类和静态方法

视频链接: 视频 代码链接: 源码 在C#中&#xff0c;静态类&#xff08;Static Class&#xff09;和静态方法&#xff08;Static Method&#xff09;是面向对象编程中的重要概念。它们允许你创建不依赖于对象实例的方法和属性&#xff0c;而是直接通过类名来访问。 静态类 静…

python学习笔记——类

1. 类和对象**** 类、类属性、类方法不需要实例化就可以直接访问 实例相关&#xff0c;如实例属性、实例方法必须实例化后才可以访问 1.1. 类、类属性、实例属性、私有属性**** 1.1.1. 定义**** 类就是拥有相同属性和功能对象的集合 动物&#xff1a;猫、狗、鸡 人类&…

【AIGC调研系列】AI大模型结合迁移学习进行微调的应用

AI大模型结合迁移学习进行微调的应用主要体现在通过预训练模型快速适应新任务&#xff0c;提高模型性能和准确性。迁移学习允许我们利用在其他任务上学到的知识来加速新任务的学习过程&#xff0c;从而减少对大量标注数据的依赖&#xff0c;提高训练效率[1][2][3]。在AI领域&am…

Python mixin

Python 中的 Mixin 类是一种特殊的继承机制,它允许我们在不修改类层次结构的情况下,向一个类添加额外的功能。Mixin 类通常包含一些可复用的方法或属性,可以被其他类继承和使用。 Mixin 类的主要特点如下: 可复用性: Mixin 类包含可重用的方法或属性,可以被多个类继承和使用,提…

Vue使用高德地图

1.在高德平台注册账号 2.我的 > 管理管理中添加Key 3.安装依赖 npm i amap/amap-jsapi-loader --save 或 yarn add amap/amap-jsapi-loader --save 4.导入 AMapLoade import AMapLoader from amap/amap-jsapi-loader; 5.直接上代码&#xff0c;做好了注释&#xff08;初始化…

在内网环境下成功安装Vue Devtools的曲折历程与解决方案

经过一系列周折的探索&#xff0c;笔者在尝试将Vue Devtools扩展程序接入内网环境下的Chrome浏览器过程中遭遇了种种挑战&#xff0c;常规的在线安装途径均未能奏效。然而&#xff0c;功夫不负有心人&#xff0c;最终发掘了一种有效的方法&#xff0c;使得内网安装成为可能。 …

[AIGC] MySQL连接查询全面解析

在数据库操作中&#xff0c;经常需要从多个表中获取数据&#xff0c;并对这些数据进行合并处理。在MySQL中&#xff0c;我们通常会使用“连接&#xff08;JOIN&#xff09;”操作来实现这一需求。 文章目录 什么是连接查询MySQL支持的连接查询类型 什么是连接查询 连接查询是S…

3. Django 初探路由

3. 初探路由 一个完整的路由包含: 路由地址, 视图函数(或者视图类), 可选变量和路由命名. 本章讲述Django的路由编写规则与使用方法, 内容分为: 路由定义规则, 命名空间与路由命名, 路由的使用方式.3.1 路由定义规则 路由称为URL (Uniform Resource Locator, 统一资源定位符)…