ESP32-Thonny 拍摄图片到SD卡

ops/2024/9/23 22:23:54/

 前言:

 代码运行在Thonny

添加main.py到单片机中: 

可以先运行一下试试:会输出以下信息:

没有问题的话(SD卡挂载成功,摄像头初始化成功)运行一次主程序后,闪光灯会闪烁一下。

代码:

python">import camera
import socket
import time
import uos
from machine import SDCard
from machine import Pin# 挂载sd卡到sd文件夹
try:uos.mount(SDCard(), "/sd")
except Exception as ret:print("挂载失败...", ret)
else:print("挂载成功...")# 初始化摄像头 
camera.init(0, format=camera.JPEG, fb_location=camera.PSRAM)
print("初始化摄像头成功...")# 上翻下翻
camera.flip(1)
#左/右
camera.mirror(0)# 分辨率
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# 特效
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(2)
#-2,2(默认为0). -2灰度
# -2,2 (default 0). -2 grayscale # 亮度
camera.brightness(1)
#-2,2(默认为0). 2亮度
# -2,2 (default 0). 2 brightness# 对比度
camera.contrast(1)
#-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)led = Pin(4, Pin.OUT)try:count = 1while True:buf = camera.capture()  # 大小是640x480  拍摄一张图片
#        tu_name= "图{}.png".format(count)
#       with open(tu_name, "wb") as f:
#            f.write(buf)  # buf中的数据就是图片的数据,所以直接写入到文件就行了
#        print("拍照已完成")sd_name="/sd/tu{}.jpg".format(count)with open(sd_name, "wb") as f:f.write(buf)if count < 2:led.value(1)time.sleep(0.1)led.value(0)time.sleep(0.1)
#        print(sd_name)time.sleep(3)#3scount +=1
finally:      camera.deinit()

结果:

ji代码是在这个网站学习的:

PDF文档下载 (itprojects.cn)


http://www.ppmy.cn/ops/10971.html

相关文章

机器学习——逻辑回归

逻辑回归损失函数选择 逻辑回归通常采用交叉熵损失&#xff08;也称为对数损失&#xff09;而不是均方误差损失的原因主要有以下几点&#xff1a; 概率解释 逻辑回归模型的输出可以被解释为属于某个类别的概率。交叉熵损失直接衡量的是模型预测概率分布与真实标签的概率分布之…

服务器基本故障和排查方法

前言 服务器运维工作中遇到的问题形形色色&#xff0c;无论何种故障&#xff0c;都需要结合具体情况&#xff0c;预防为主的思想&#xff0c;熟悉各种工具和技术手段&#xff0c;养成良好的日志分析习惯&#xff0c;同时建立完善的应急预案和备份恢复策略&#xff0c;才能有效…

代码随想录算法训练营第三十五天| LeetCode860.柠檬水找零、LeetCode406.根据身高重建队列、LeetCode452.用最少数量的箭引爆气球

LeetCode 860 柠檬水找零 题目链接&#xff1a;860. 柠檬水找零 - 力扣&#xff08;LeetCode&#xff09; 【解题思路】 情况1、客户支付5元的钞票——直接收下&#xff0c;不用找零 情况2、客户支付10元钞票&#xff1a; 如果手里有5元钞票&#xff0c;进行找零 如果手里没…

最新AI创作系统ChatGPT网站源码Midjourney-AI绘画系统,Suno-v3-AI音乐生成大模型。

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…

MyBatis<foreach>标签的用法

文章目录 1. foreach 标签2. MyBatis&#xff1c;foreach&#xff1e;标签的使用2.1 批量插入2.2 批量编辑2.3 批量查询2.4 使用 foreach 遍历 map 1. foreach 标签 foreach 可以在 SQL 语句中进行迭代一个集合。foreach元素的属性主要有 item&#xff0c;index&#xff0c;co…

Mybatisplus LambdaQueryWrapper表达式使用DATE_FORMAT比较日期函数

背景&#xff1a; 最近遇到一个问题&#xff0c;数据库保存的日期字段是如下格式 但是我们需要比较的日期为 2020-08-01格式&#xff0c; 所以我们要将日期格式化 使用 Mybatisplus LambdaQueryWrapper的情况下可用下面的方式做参考 LambdaQueryWrapper<SysDicCode> la…

java从零开始的较为平滑的学习流程

这篇文章非常适合以下人群&#xff1a; 初学者&#xff1a;对于刚开始学习 Java 的人来说&#xff0c;这个学习计划提供了一个清晰的起点&#xff0c;帮助大家逐步建立坚实的基础。 个人开发者&#xff1a;个人开发者可能会发现这个计划特别有用&#xff0c;因为它不仅涵盖了技…

服务器基础知识(1)

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;服务器❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 1、什么是服务器 服务器是计算机的一种&#xff0c;它比普通计算机运行更快、负载更高、价格更贵。服务…