CogletESP-camera-version/docs/ESP32-S3-CAM:接ov3660摄像头-CSDN博客.html
Rdzleo f1c2bfce93 Phase 01 JPEG Dump 诊断 + YVYU 修正 + 矛盾分析汇总
核心变更:
- face_tracker.cc: YUYV→YVYU 序列修正(byte[1]=V, byte[3]=U),
  基于 JPEG Dump 诊断工具验证 OV3660 FORMAT_CTRL00=0x61 实际是 YVYU
- face_tracker.cc: 启动时 base64 打印一帧 JPEG 到串口,用于肉眼验证
- config.h: XCLK 20MHz→10MHz,给飞线信号完整性 2x 裕度
- scripts/auto_capture_jpeg.py: 自动串口抓帧工具(DTR/RTS 复位 + base64 解码)
- scripts/extract_jpeg_from_log.py: 从日志离线提取 JPEG
- Coglet项目分析与开发指南.md: 新增"六点六"章节,汇总 Phase 01
  主要矛盾(画面可辨识≠模型可识别)、YUV→RGB 色偏三层原因、
  esp-dl 模型输入分布敏感性、延迟分析、三方案对比、方案 B 突破口
- docs/: 新增 2 篇 OV3660 相关 CSDN 参考资料

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 11:01:02 +08:00

2667 lines
200 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<link rel="canonical" href="https://blog.csdn.net/diaoliangwang/article/details/159055035"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="renderer" content="webkit"/>
<meta name="force-rendering" content="webkit"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="report" content='{"pid": "blog", "spm":"1001.2101"}'>
<meta name="referrer" content="always">
<meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />
<meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
<meta name="applicable-device" content="pc">
<link href="https://g.csdnimg.cn/static/logo/favicon32.ico" rel="shortcut icon" type="image/x-icon" />
<title>ESP32-S3-CAM接ov3660摄像头-CSDN博客</title>
<script type="application/ld+json">
{"datePublished":"2026-03-15T00:38:53+08:00","@type":"Article","author":[{"@type":"Person","name":"Diaoliangwang","url":"https://blog.csdn.net/Diaoliangwang"}],"dateModified":"2026-03-15T00:38:55+08:00","@context":"https://schema.org","headline":"ESP32-S3-CAM接ov3660摄像头"}
</script>
<script>
(function(){
var el = document.createElement("script");
el.src = "https://s3a.pstatp.com/toutiao/push.js?1abfa13dfe74d72d41d83c86d240de427e7cac50c51ead53b2e79d40c7952a23ed7716d05b4a0f683a653eab3e214672511de2457e74e99286eb2c33f4428830";
el.id = "ttzz";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(el, s);
})(window)
</script>
<meta name="keywords" content="ESP32-S3,智能硬件,OV3660,摄像头,AI-Thinker">
<meta name="csdn-baidu-search" content='{"autorun":true,"install":true,"keyword":"ESP32 OV3660"}'>
<meta name="description" content="文章浏览阅读750次点赞11次收藏16次。功能每5秒钟拍一张照然后通过局域网显示查看拍的照片其实一开始我也不知道居然可以用局域网打开个网址查看摄像头拍的照片偶然一次通过AI给我一段代码检测摄像头的时候发现的居然还有这样的牛逼功能。前提又要增加一个联WiFi的功能。_ov3660">
<link rel="stylesheet" type="text/css" href="https://csdnimg.cn/release/blogv2/dist/pc/css/detail_enter-3956053afb.min.css">
<script type="application/ld+json">{"@context":"https://ziyuan.baidu.com/contexts/cambrian.jsonld","@id":"https://blog.csdn.net/diaoliangwang/article/details/159055035","appid":"1638831770136827","pubDate":"2026-03-14T23:15:26","title":"ESP32-S3-CAM接ov3660摄像头-CSDN博客","upDate":"2026-03-15T00:38:53"}</script>
<link rel="stylesheet" type="text/css" href="https://csdnimg.cn/release/blogv2/dist/pc/themesSkin/skin3-template/skin3-template-762f7595fd.min.css">
<script src="https://g.csdnimg.cn/lib/jquery/1.12.4/jquery.min.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/lib/jquery-migrate/1.4.1/jquery-migrate.js" type="text/javascript"></script>
<script type="text/javascript">
var isCorporate = false;
var username = "Diaoliangwang";
var skinImg = "white";
var blog_address = "https://blog.csdn.net/Diaoliangwang";
var currentUserName = "weixin_40298538";
var isOwner = false;
var loginUrl = "http://passport.csdn.net/account/login?from=https://blog.csdn.net/diaoliangwang/article/details/159055035";
var blogUrl = "https://blog.csdn.net/";
var starMapUrl = "https://ai.csdn.net";
var inscodeHost = "https://inscode.csdn.net";
var paymentBalanceUrl = "https://csdnimg.cn/release/vip-business-components/vipPaymentBalance.js?v=2025122501";
var appBlogDomain = "https://app-blog.csdn.net";
var avatar = "https://profile-avatar.csdnimg.cn/96438752e7564a3e955b453e0f4b9e22_diaoliangwang.jpg!1";
var isCJBlog = false;
var isStarMap = true;
var articleTitle = "ESP32-S3-CAM接ov3660摄像头";
var articleDesc = "文章浏览阅读750次点赞11次收藏16次。功能每5秒钟拍一张照然后通过局域网显示查看拍的照片其实一开始我也不知道居然可以用局域网打开个网址查看摄像头拍的照片偶然一次通过AI给我一段代码检测摄像头的时候发现的居然还有这样的牛逼功能。前提又要增加一个联WiFi的功能。_ov3660";
var articleTitles = "ESP32-S3-CAM接ov3660摄像头-CSDN博客";
var nickName = "爱上珍珠的贝壳";
var articleDetailUrl = "https://blog.csdn.net/Diaoliangwang/article/details/159055035";
var vipUrlV = "https://mall.csdn.net/vip?vipSource=learningVip";
if(window.location.host.split('.').length == 3) {
blog_address = blogUrl + username;
}
var skinStatus = "White";
var blogStaticHost = "https://csdnimg.cn/release/blogv2/"
var payColumn = false
</script>
<meta name="toolbar" content='{"type":"0","fixModel":"1"}'>
<script ript src="https://g.csdnimg.cn/??fixed-sidebar/1.1.7/fixed-sidebar.js" type="text/javascript"></script>
<script src='//g.csdnimg.cn/common/csdn-report/report.js' type='text/javascript'></script>
<link rel="stylesheet" type="text/css" href="https://csdnimg.cn/public/sandalstrap/1.4/css/sandalstrap.min.css">
<style>
.MathJax_Message, .MathJax_Preview{
display: none !important;
}
</style>
<script src="https://dup.baidustatic.com/js/ds.js"></script>
<script type="text/javascript">
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "lgtpix6r85");
</script>
<script src="/cdn_cgi_bs_bot/static/crypto.min.js"></script>
<script src="/cdn_cgi_bs_bot/static/bot-score-v1.js"></script>
<script src="/cdn_cgi_bs_captcha/static/js/waf_captcha_embedded_bs.js"></script>
</head>
<body class="nodata " style="">
<div id="toolbarBox" style="min-height: 48px;"></div>
<script>
var toolbarSearchExt = '{\"id\":159055035,\"landingWord\":[\"ov3660\"],\"queryWord\":\"ESP32 OV3660\",\"tag\":[\"ESP32-S3\",\"智能硬件\",\"OV3660\",\"摄像头\",\"AI-Thinker\"],\"title\":\"ESP32-S3-CAM接ov3660摄像头\"}';
</script>
<script src="https://g.csdnimg.cn/common/csdn-toolbar/csdn-toolbar.js" type="text/javascript"></script>
<script>
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/pc/css/blog_code-01256533b5.min.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/chart-3456820cac.css" />
<link rel="stylesheet" href="https://g.csdnimg.cn/lib/swiper/6.0.4/css/swiper.css" />
<script src="https://g.csdnimg.cn/lib/swiper/6.0.4/js/swiper.js" async></script>
<script>
var articleId = 159055035;
var annotationModuleBootstrapData = {
hasAnnotation: false,
totalCount: 0,
list: [],
categories: []
};
var annotationFeatureEnabled = false;
var privateEduData = [];
var privateData = [];
var crytojs = "https://csdnimg.cn/release/blogv2/dist/components/js/crytojs-ca5b8bf6ae.min.js";
var commentscount = 0;
var commentAuth = 2;
var curentUrl = "https://blog.csdn.net/diaoliangwang/article/details/159055035";
var myUrl = "https://my.csdn.net/";
var isGitCodeBlog = false;
var vipActivityIcon = "";
var isOpenSourceBlog = false;
var isVipArticle = false;
var highlight = ["thinker","esp32","3660","智能硬件","摄像头","cam","ov","ai","接","-","3",":"];//高亮数组
var isRecommendModule = true;
var isBaiduPre = true;
var baiduCount = 2;
var setBaiduJsCount = 10;
var viewCountFormat = 750;
var share_card_url = "https://app-blog.csdn.net/share?article_id=159055035&username=Diaoliangwang"
var mallVipUrl = "https://mall.csdn.net/vip?vipSource=article"
var vipArticleAbStyle = "t_2"
var vipArticleCpStyle = "t_2"
var detailheaderAbCommunity = "control"
var codeAiAbStyle = "exp1"
var runProjectDeepBlogAB = "isRunProject is false"
var gitcodeHighlightWordAB = "exp1"
var asideCknowsEntryAB = "exp1"
var deepblogUrl = ""
deepblogUrl = "https://deepblog.net?utm_source=blog_onekey_run";
var codeAiAbObjStyle = ""
codeAiAbObjStyle = "{\"control\":{\"title\":\"AI写代码\",\"destUrl\":\"https://trae.com.cn?utm_source=community&utm_medium=csdn&utm_campaign=daima\",\"imgUrl\":\"https://i-operation.csdnimg.cn/images/a5fff6f6c9f0464c9a46b130c972952b.png\"},\"exp1\":{\"title\":\"一键获取完整项目代码\",\"runClose\":true,\"destUrl\":\"https://inscode.net?utm_source=blog_code_block\",\"imgUrl\":\"https://i-operation.csdnimg.cn/images/4648c13ca82a446ea1bfb99876a27770.png\",\"blogUrl\":true},\"control_run_project\": {\"title\": \"运行项目并下载源码\",\"destUrl\": \"\",\"imgUrl\":\"https://i-operation.csdnimg.cn/images/46c457a2cf8b4b9b8f17a2ab71461d4a.png\"},\"control_deepblog\": {\"title\": \"AI生成项目\",\"destUrl\": \"https://inscode.net?utm_source=blog_code_block_fixed\",\"imgUrl\":\"https://i-operation.csdnimg.cn/images/9899ea0f099e4e4e8b1fcdb918a27fcd.png\",\"blogUrl\": true},\"exp2\":{\"title\":\"智能体编程\",\"destUrl\":\"https://qoder.com/referral?referral_code=kyKxftaZjisNKOow777DARC0j35axVBq\",\"imgUrl\":\"https://i-operation.csdnimg.cn/images/afa15dc565924b96a783f4db37687511.png\"},\"exp3\":{\"title\":\"AI构建项目\",\"destUrl\":\"https://t.csdnimg.cn/9I17\",\"imgUrl\":\"https://i-operation.csdnimg.cn/images/bf18ebff2c3748d59ea0f95954bb4b4a.png\"}}";
var aiSideSegment = -1;
aiSideSegment = "16";
var articleType = 1;
var baiduKey = "ESP32 OV3660";
var copyPopSwitch = true;
var needInsertBaidu = true;
var recommendRegularDomainArr = ["blog.csdn.net/.+/article/details/","download.csdn.net/download/","edu.csdn.net/course/detail/","ask.csdn.net/questions/","bbs.csdn.net/topics/","www.csdn.net/gather_.+/"]
var codeStyle = "";
var baiduSearchType = "utm_term";
var sharData = "{\"hot\":[{\"id\":1,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a5f4260710904e538002a6ab337939b3.png\"},{\"id\":2,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/188b37199a2c4b74b1d9ffc39e0d52de.png\"},{\"id\":3,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/14ded358b631444581edd98a256bc5af.png\"},{\"id\":4,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/1470f23a770444d986ad551b9c33c5be.png\"},{\"id\":5,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c329f5181dc74f6c9bd28c982bb9f91d.png\"},{\"id\":6,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/ccd8a3305e81460f9c505c95b432a65f.png\"},{\"id\":7,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/bc89d8283389440d97fc4d30e30f45e1.png\"},{\"id\":8,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/452d485b4a654f5592390550d2445edf.png\"},{\"id\":9,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/f8b9939db2ed474a8f43a643015fc8b7.png\"},{\"id\":10,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/6de8864187ab4ed3b1db0856369c36ff.png\"},{\"id\":11,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/673cc3470ff74072acba958dc0c46e2d.png\"},{\"id\":12,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/930c119760ac4491804db80f9c6d4e3f.png\"},{\"id\":13,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/15e6befb05a24233bc2b65e96aa8d972.png\"},{\"id\":14,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/2075fd6822184b95a41e214de4daec13.png\"},{\"id\":15,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/859b1552db244eb6891a809263a5c657.png\"},{\"id\":16,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/0be2f920f1f74290a98921974a9613fd.png\"},{\"id\":17,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/2e97e00b43f14afab494ea55ef3f4a6e.png\"},{\"id\":18,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/ff4ab252f46e444686f5135d6ebbfec0.png\"},{\"id\":19,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/ae029bbe99564e79911657912d36524f.png\"},{\"id\":20,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b3ece39963de440388728e9e7b9bf427.png\"},{\"id\":21,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/6f14651a99ba486e926d63b6fa692997.png\"},{\"id\":22,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/83ceddf050084875a341e32dcceca721.png\"},{\"id\":23,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b90368b8fd5d4c6c8c79a707d877cf7c.png\"},{\"id\":24,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/aeffae14ecf14e079b2616528c9a393b.png\"},{\"id\":25,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c5a06b5a13d44d16bed868fc3384897a.png\"},{\"id\":26,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/08b697658b844b318cea3b119e9541ef.png\"},{\"id\":27,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/68ccb0b8d09346ac961d2b5c1a8c77bf.png\"},{\"id\":28,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a2227a247e37418cbe0ea972ba6a859b.png\"},{\"id\":29,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/3a42825fede748f9993e5bb844ad350d.png\"},{\"id\":30,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/8882abc1dd484224b636966ea38555c3.png\"},{\"id\":31,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/4f6a5f636a3e444d83cf8cc06d87a159.png\"},{\"id\":32,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/1953ef79c56b4407b78d7181bdff11c3.png\"},{\"id\":33,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c04a2a4f772948ed85b5b0380ed36287.png\"},{\"id\":34,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/5b4fecd05091405ea04d8c0f53e9f2c7.png\"},{\"id\":35,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b89f576d700344e280d6ceb2a66c2420.png\"},{\"id\":36,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/1c65780e11804bbd9971ebadb3d78bcf.png\"},{\"id\":37,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/d590db2055f345db9706eb68a7ec151a.png\"},{\"id\":38,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/fe602f80700b4f6fb3c4a9e4c135510e.png\"},{\"id\":39,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/39ff2fcd31e04feba301a071976a0ba7.png\"},{\"id\":40,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/f9b61b3d113f436b828631837f89fb39.png\"},{\"id\":41,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/df1aca5f610c4ad48cd16da88c9c8499.png\"},{\"id\":42,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/d7acf73a1e6b41399a77a85040e10961.png\"},{\"id\":43,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b7f1b63542524b97962ff649ab4e7e23.png\"}],\"vip\":[{\"id\":1,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101150.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101154.png\"},{\"id\":2,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101204.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101208.png\"},{\"id\":3,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101211.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101215.png\"},{\"id\":4,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101218.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101220.png\"},{\"id\":5,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101223.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101226.png\"},{\"id\":6,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100635.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100639.png\"},{\"id\":7,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100642.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100644.png\"},{\"id\":8,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100647.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100649.png\"},{\"id\":9,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100652.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100655.png\"},{\"id\":10,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/55de67481fde4b04b97ad78f11fe369a.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/bb2418fb537e4d78b10d8765ccd810c5.png\"},{\"id\":11,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/579c713394584d128104ef1044023954.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/f420d9fbcf5548079d31b5e809b6d6cd.png\"},{\"id\":12,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/75b7f3155ba642f5a4cc16b7baf44122.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a9030f5877be401f8b340b80b0d91e64.png\"},{\"id\":13,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/0903d33cafa54934be3780aa54ae958d.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/2cd8c8929f5a42fca5da2a0aeb456203.png\"},{\"id\":14,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/949fd7c22884439fbfc3c0e9c3b8dee7.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/dafbea9bd9eb4f3b962b48dc41657f89.png\"},{\"id\":15,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/4119cfddd71d4e6a8a27a18dbb74d90e.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c56310c8b6384d9e85388e4e342ce508.png\"},{\"id\":16,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/121575274da142bcbbbbc2e8243dd411.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/5013993de06542f881018bb9abe2edf7.png\"},{\"id\":17,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/4d97aa6dd4fe4f09a6bef5bdf8a6abcd.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/76f23877b6ad4066ad45ce8e31b4b977.png\"},{\"id\":18,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/fdb619daf21b4c829de63b9ebc78859d.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a1abe5d27a5441f599adfe662f510243.png\"},{\"id\":19,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/676b7707bb11410f8f56bc0ed2b2345c.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/7ac5b467fbf24e1d8c2de3f3332c4f54.png\"},{\"id\":20,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/0becb8cc227e4723b765bdd69a20fd4a.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/fdec85b26091486b9a89d0b8d45c3749.png\"},{\"id\":21,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/1a6c06235ad44941b38c54cbc25a370c.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/410a06cda2d44b0c84578f88275caf70.png\"}],\"map\":{\"hot\":\"热门\",\"vip\":\"VIP\"}}";
var commentListModule = ''
var canRead = true;
var blogMoveHomeArticle = false;
var showSearchText = "";
var articleSource = 1;
var articleReport = '{"pid": "blog", "spm":"1001.2101"}';
var baiduSearchChannel = 'pc_relevant'
var baiduSearchIdentification = '.235^v43^pc_blog_bottom_relevance_base4'
var distRequestId = '1776821883563_35996'
var initRewardObject = {
giver: currentUserName,
anchor: username,
articleId: articleId,
sign: ''
}
var isLikeStatus = false;
var isUnLikeStatus = false;
var studyLearnWord = "";
var unUseCount = 0;
var codeMaxSize = 0;
var overCost = true;
var isCurrentUserVip = false;
var contentViewsHeight = 0;
var contentViewsCount = 0;
var contentViewsCountLimit = 5;
var isShowConcision = true
var lastTime = 0
var postTime = "2026-03-15 00:38:53"
var isCookieConcision = false
var isHasDirectoryModel = false
var isShowSideModel = false
var isShowDirectoryModel = true
function getCookieConcision(sName){
var allCookie = document.cookie.split("; ");
for (var i=0; i < allCookie.length; i++){
var aCrumb = allCookie[i].split("=");
if (sName == aCrumb[0])
return aCrumb[1];
}
return null;
}
if (getCookieConcision('blog_details_concision') && getCookieConcision('blog_details_concision') == 0){
isCookieConcision = true
isShowSideModel = true
isShowDirectoryModel = false
}
</script>
<div class="main_father clearfix d-flex justify-content-center mainfather-concision" style="height:100%;">
<div class="container clearfix container-concision" id="mainBox">
<script>
if (!isCookieConcision) {
$('.main_father').removeClass('mainfather-concision')
$('.main_father .container').removeClass('container-concision')
} else {
$('#mainBox').css('margin-right', '0')
}
</script>
<main>
<script type="text/javascript">
var resourceId = "";
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if( r != null ) return decodeURIComponent( r[2] ); return '';
}
function stripscript(s){
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~@#¥……&*()——|{}【】‘;:”“'。,、?%]")
var rs = "";
for (var i = 0; i < s.length; i++) {
rs = rs+s.substr(i, 1).replace(pattern, '');
}
return rs;
}
var blogHotWords = stripscript(getQueryString('utm_term')).length > 1 ? stripscript(getQueryString('utm_term')) : ''
</script>
<div class="blog-content-box">
<div class="article-header-box" id="article-header-box">
<div class="article-header">
<div class="article-title-box">
<h1 class="title-article" id="articleContentId">ESP32-S3-CAM接ov3660摄像头</h1>
</div>
<div class="article-info-box">
<div class="article-bar-top">
<div class="bar-content active">
<span class="article-type-text original">原创</span>
<span class="time">&nbsp;2026-03-15 00:38:53&nbsp;发布</span>
<span class="border-dian">·</span>
<span class="read-count">750 阅读</span>
<div class="read-count-box is-like like-ab-new" data-type="top">
<span class="border-dian">·</span>
<img class="article-read-img article-heard-img active" style="display:none" id="is-like-imgactive-new" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newHeart2023Active.png" alt="">
<img class="article-read-img article-heard-img" style="display:block" id="is-like-img-new" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newHeart2023Black.png" alt="">
<span class="read-count" id="blog-digg-num" style="color:;">
11
</span>
</div>
<span class="border-dian">·</span>
<a id="blog_detail_zk_collection" class="un-collection" data-report-click='{"mod":"popu_823","spm":"1001.2101.3001.4232","ab":"new"}'>
<img class="article-collect-img article-heard-img un-collect-status isdefault" style="display:inline-block" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollect2.png" alt="">
<img class="article-collect-img article-heard-img collect-status isactive" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollectionActive2.png" alt="">
<span class="get-collection">
16
</span>
</a>
<span class="border-dian">·</span>
<div class="href-article-edit-new">
<span class="href-article-edit-click">CC 4.0 BY-SA版权</span>
<div class="slide-content-box-new">
版权声明:本文为博主原创文章,遵循<a href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener"> CC 4.0 BY-SA </a>版权协议,转载请附上原文出处链接和本声明。
</div>
</div>
</div>
<div class="operating active">
</div>
</div>
<div class="blog-tags-box">
<div class="tags-box artic-tag-box">
<div class="article-tag">
<span class="label">文章标签:</span>
<p>
<a rel="nofollow" data-report-query="spm=1001.2101.3001.4223" data-report-click='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"ESP32-S3","ab":"new","extra":"{\"searchword\":\"ESP32-S3\"}"}' data-report-view='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"ESP32-S3","ab":"new","extra":"{\"searchword\":\"ESP32-S3\"}"}' class="tag-link-new" href="https://so.csdn.net/so/search/s.do?q=ESP32-S3&amp;t=all&amp;o=vip&amp;s=&amp;l=&amp;f=&amp;viparticle=&amp;from_tracking_code=tag_word&amp;from_code=app_blog_art" target="_blank" rel="noopener">#ESP32-S3</a>
<a rel="nofollow" data-report-query="spm=1001.2101.3001.4223" data-report-click='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"智能硬件","ab":"new","extra":"{\"searchword\":\"智能硬件\"}"}' data-report-view='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"智能硬件","ab":"new","extra":"{\"searchword\":\"智能硬件\"}"}' class="tag-link-new" href="https://so.csdn.net/so/search/s.do?q=%E6%99%BA%E8%83%BD%E7%A1%AC%E4%BB%B6&amp;t=all&amp;o=vip&amp;s=&amp;l=&amp;f=&amp;viparticle=&amp;from_tracking_code=tag_word&amp;from_code=app_blog_art" target="_blank" rel="noopener">#智能硬件</a>
<a rel="nofollow" data-report-query="spm=1001.2101.3001.4223" data-report-click='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"OV3660","ab":"new","extra":"{\"searchword\":\"OV3660\"}"}' data-report-view='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"OV3660","ab":"new","extra":"{\"searchword\":\"OV3660\"}"}' class="tag-link-new" href="https://so.csdn.net/so/search/s.do?q=OV3660&amp;t=all&amp;o=vip&amp;s=&amp;l=&amp;f=&amp;viparticle=&amp;from_tracking_code=tag_word&amp;from_code=app_blog_art" target="_blank" rel="noopener">#OV3660</a>
<a rel="nofollow" data-report-query="spm=1001.2101.3001.4223" data-report-click='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"摄像头","ab":"new","extra":"{\"searchword\":\"摄像头\"}"}' data-report-view='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"摄像头","ab":"new","extra":"{\"searchword\":\"摄像头\"}"}' class="tag-link-new" href="https://so.csdn.net/so/search/s.do?q=%E6%91%84%E5%83%8F%E5%A4%B4&amp;t=all&amp;o=vip&amp;s=&amp;l=&amp;f=&amp;viparticle=&amp;from_tracking_code=tag_word&amp;from_code=app_blog_art" target="_blank" rel="noopener">#摄像头</a>
<a rel="nofollow" data-report-query="spm=1001.2101.3001.4223" data-report-click='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"AI-Thinker","ab":"new","extra":"{\"searchword\":\"AI-Thinker\"}"}' data-report-view='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"AI-Thinker","ab":"new","extra":"{\"searchword\":\"AI-Thinker\"}"}' class="tag-link-new" href="https://so.csdn.net/so/search/s.do?q=AI-Thinker&amp;t=all&amp;o=vip&amp;s=&amp;l=&amp;f=&amp;viparticle=&amp;from_tracking_code=tag_word&amp;from_code=app_blog_art" target="_blank" rel="noopener">#AI-Thinker</a>
</p>
</div>
<p class="community-name" id="community-name"></p>
</div>
</div>
</div>
</div>
</div>
<div id="blogHuaweiyunAdvert" class=""></div>
<div class="starmap-box box2" data-spm='3001.11251' data-id='img695a865957d48a6e87b5578c' data-utm-source='bottom' data-report-view='{"spm":"3001.11251","extra":{"openMirrorId":"img695a865957d48a6e87b5578c"}}' data-report-click='{"spm":"3001.11251","extra":{"openMirrorId":"img695a865957d48a6e87b5578c"}}'>
<div class="starmap-content">
<div class="starmap-info-box">
<div class="img-box">
<img src="https://csdn-665-inscode.s3.cn-north-1.jdcloud-oss.com/inscode/202601/anonymous/1767590659585-76718611-R6hFLsm1PAKQgChEmobrMptRx0IpTtAr" alt="CAM++一个可以将说话人语音识别的系统 构建by科哥">
</div>
<div class="info-box">
<div class="title-box">
<p class="title">CAM++一个可以将说话人语音识别的系统 构建by科哥</p>
<div class="tag-box">
<div class="tag-item">AI应用</div>
<div class="tag-item">语音识别</div>
<div class="tag-item">PyTorch</div>
</div>
</div>
<p class="desc" title="CAM++一个可以将说话人语音识别的系统 构建by科哥">CAM++一个可以将说话人语音识别的系统 构建by科哥</p>
</div>
</div>
<div class="starmap-operate-box">
<button class="starmap-operate-btn">一键部署运行</button>
</div>
</div>
</div>
<article class="baidu_pl">
<div id="article_content" class="article_content clearfix">
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-a50b13a894.css">
<div id="content_views" class="htmledit_views atom-one-dark">
<p>越来越意识到&#xff0c;要接硬件之前要先了解这些硬件小伙伴&#xff0c;其实一开始我自己连怎么看摄像头是不是ov3660都不知道&#xff0c;接排线也是恍然大悟。</p>
<h3>Part 1 认识摄像头并连接到主板上</h3>
<h4 style="background-color:transparent">1、认识摄像头</h4>
<p><img alt="" height="369" src="https://i-blog.csdnimg.cn/direct/9410ea07243848f8a8a5033125150e9d.jpeg" width="300" /><img alt="" height="369" src="https://i-blog.csdnimg.cn/direct/9ba3363062484159a1f42a128f4be9bc.jpeg" width="237" /></p>
<h4 style="background-color:transparent">2、通过FPC<strong>柔性排线座连接摄像头</strong></h4>
<p>第一步先接摄像头&#xff0c;买到的是散件&#xff0c;摄像头和板子是分开的&#xff0c;一定要<strong><span style="color:#fe2c24">金色金属面</span></strong>朝下&#xff0c;然后塞进去白色卡座里&#xff0c;再卡住。</p>
<p>1&#xff09;黑色夹片先用手往上掰起来</p>
<p><img alt="" height="365" src="https://i-blog.csdnimg.cn/direct/fb97d4710e75406c9ec30a9c3d9fa116.png" width="400" /></p>
<p>2&#xff09;摄像头排线金色面朝下&#xff0c;黑色面朝上&#xff0c;插入卡槽中间&#xff0c;两边是白色底座&#xff0c;大概可以插进去2个毫米左右</p>
<p><img alt="" height="329" src="https://i-blog.csdnimg.cn/direct/88486d9bc2f344ce8895ce41fa7a3ea0.png" width="400" /></p>
<p>3&#xff09;黑色夹片扣下扣紧即可</p>
<p><img alt="" height="417" src="https://i-blog.csdnimg.cn/direct/a3b16999c98c467497c00ae2d79a3f9e.png" width="400" /></p>
<h4>三、认识<strong>柔性排线座</strong></h4>
<p>突然发现那个黑色卡子上有文字&#xff0c;44和24P&#xff0c;查了下&#xff0c;又涨知识了&#xff0c;原来那个黑色卡子的名字叫 柔性排线座。</p>
<p>这是<strong>FPC/FFC连接器&#xff08;柔性排线座&#xff09;</strong>的规格标识</p>
<p style="background-color:transparent">标识解读</p>
<table><thead><tr><th>标识</th><th>含义</th><th>说明</th></tr></thead><tbody><tr><td><strong>44</strong></td><td><strong>排线宽度 4.4mm</strong></td><td>指FFC/FPC排线的<strong>总宽度</strong>&#xff08;含导体部分&#xff09;</td></tr><tr><td><strong>24P</strong></td><td><strong>24 Pin&#xff08;24针脚&#xff09;</strong></td><td>连接器有24个金属触点/引脚</td></tr></tbody></table>
<p>具体含义</p>
<p><strong>44&#xff08;4.4mm宽度&#xff09;</strong></p>
<ul><li>
<p>这是<strong>排线规格代码</strong>&#xff0c;表示适配的FFC/FPC软排线总宽度为 <strong>4.4mm</strong></p>
</li><li>
<p>常见的还有 5.0mm、6.0mm、8.0mm 等规格</p>
</li><li>
<p>这个尺寸必须匹配&#xff0c;否则排线插不进去或接触不良</p>
</li></ul>
<p><strong>24P&#xff08;24 Pins&#xff09;</strong></p>
<ul><li>
<p>表示这个连接器有 <strong>24个引脚/通道</strong></p>
</li><li>
<p>用于连接摄像头模组的24根信号线&#xff08;包括电源、地线、MIPI/CSI数据 lanes、时钟、控制信号等&#xff09;</p>
</li></ul>
<p>关于这个连接器</p>
<p>这是 <strong>ESP32-S3-CAM 的摄像头接口座</strong>&#xff0c;用于连接 OV2640/OV5640 等摄像头模组。</p>
<p>ESP32-S3-CAM 通常有两个独立的接口&#xff1a;</p>
<ul><li>
<p>&#x1f4f7; <strong>摄像头接口</strong>&#xff08;图片中的这个&#xff0c;24Pin FPC座&#xff09;</p>
</li><li>
<p>&#x1f4be; <strong>SD卡槽</strong>&#xff08;一般在板子另一侧&#xff0c;通常是自弹式或推入式卡槽&#xff09;</p>
</li></ul>
<p>常见摄像头排线规格对照</p>
<table><thead><tr><th>标识</th><th>排线宽度</th><th>常见用途</th></tr></thead><tbody><tr><td>44-24P</td><td>4.4mm / 24pin</td><td>OV2640 小模组</td></tr><tr><td>50-24P</td><td>5.0mm / 24pin</td><td>OV5640 等</td></tr><tr><td>60-30P</td><td>6.0mm / 30pin</td><td>高分辨率模组</td></tr></tbody></table>
<h3 style="background-color:transparent">Part 2 写摄像头自检代码</h3>
<h4>1、自检功能定义</h4>
<p>功能&#xff1a;每5秒钟拍一张照&#xff0c;然后通过局域网显示查看拍的照片</p>
<p>其实一开始我也不知道居然可以用局域网打开个网址查看摄像头拍的照片&#xff0c;偶然一次通过AI给我一段代码检测摄像头的时候发现的&#xff0c;居然还有这样的牛逼功能。前提又要增加一个联WiFi的功能。</p>
<h4>2、WiFi注意事项</h4>
<p><span style="color:#fe2c24"><strong>注意&#xff1a;用手机开个热点就可以&#xff0c;但是WiFi热点必须是2.4G的&#xff0c;ESP32-S3这个型号的板子都只支持2.4G频段&#xff0c;WiFi命名和密码都不要太高级&#xff0c;简单点就行&#xff0c;小写字母加数字组合足够&#xff0c;比如我自己的设置的&#xff1a;WiFi名称&#xff1a;  fksijie 密码&#xff1a;112233445566</strong></span></p>
<h4>3、用AI写自检代码</h4>
<p>热点设置好以后&#xff0c;让AI写一段摄像头自检代码&#xff0c;AI建议用Kimi写代码&#xff0c;豆包经过我的验证&#xff0c;成功率比较低&#xff0c;用多了Kimi后发现&#xff0c;居然免费版每天还有问题个数上限&#xff0c;没办法&#xff0c;选择了第一个付费档位充值一个月&#xff0c;为了节约时间&#xff0c;花点钱也就花点钱吧&#xff01;&#xff01;&#xff01;</p>
<p>提示词&#xff1a;我用ESP32-S3-CAM连接了一个ov3660摄像头&#xff0c;给我一段自检代码&#xff0c;每五秒拍一张照&#xff0c;通过局域网查看拍到的照片</p>
<pre>
<code class="language-cpp">#include &lt;Arduino.h&gt;
#include &lt;WiFi.h&gt;
#include &lt;WebServer.h&gt;
#include &lt;esp_camera.h&gt;
// &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; AI-Thinker ESP32-S3-CAM 引脚配置 &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
#define CAM_PWDN -1
#define CAM_RESET -1
#define CAM_XCLK 15
#define CAM_SIOD 4
#define CAM_SIOC 5
#define CAM_D7 16
#define CAM_D6 17
#define CAM_D5 18
#define CAM_D4 12
#define CAM_D3 10
#define CAM_D2 8
#define CAM_D1 9
#define CAM_D0 11
#define CAM_VSYNC 6
#define CAM_HREF 7
#define CAM_PCLK 13
// &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; Freenove ESP32-S3-CAM 引脚配置 &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
// #define CAM_PWDN -1
// #define CAM_RESET -1
// #define CAM_XCLK 15
// #define CAM_SIOD 4
// #define CAM_SIOC 5
// #define CAM_D7 11 // Freenove: D7&#61;GPIO11 (AI-Thinker: GPIO16)
// #define CAM_D6 9 // Freenove: D6&#61;GPIO9 (AI-Thinker: GPIO17)
// #define CAM_D5 8 // Freenove: D5&#61;GPIO8 (AI-Thinker: GPIO18)
// #define CAM_D4 10 // Freenove: D4&#61;GPIO10 (AI-Thinker: GPIO12)
// #define CAM_D3 12 // Freenove: D3&#61;GPIO12 (AI-Thinker: GPIO10)
// #define CAM_D2 18 // Freenove: D2&#61;GPIO18 (AI-Thinker: GPIO8)
// #define CAM_D1 17 // Freenove: D1&#61;GPIO17 (AI-Thinker: GPIO9)
// #define CAM_D0 16 // Freenove: D0&#61;GPIO16 (AI-Thinker: GPIO11)
// #define CAM_VSYNC 6
// #define CAM_HREF 7
// #define CAM_PCLK 13
// 替换为您的 WiFi 信息
const char* ssid &#61; &#34;fksijie&#34;;
const char* password &#61; &#34;112233445566&#34;;
WebServer server(80);
// 照片存储缓冲区
camera_fb_t * fb &#61; NULL;
// 拍照时间控制
unsigned long lastCaptureTime &#61; 0;
const unsigned long captureInterval &#61; 5000; // 10秒间隔
// 最新照片数据
uint8_t* lastPhotoBuffer &#61; NULL;
size_t lastPhotoLength &#61; 0;
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println(&#34;ESP32-S3-CAM OV3660 启动中...&#34;);
// 初始化摄像头
if (!initCamera()) {
Serial.println(&#34;摄像头初始化失败&#xff0c;重启...&#34;);
delay(2000);
ESP.restart();
}
// 连接 WiFi
WiFi.begin(ssid, password);
Serial.print(&#34;连接 WiFi&#34;);
while (WiFi.status() !&#61; WL_CONNECTED) {
delay(500);
Serial.print(&#34;.&#34;);
}
Serial.println();
Serial.print(&#34;WiFi 已连接&#xff0c;IP: &#34;);
Serial.println(WiFi.localIP());
// 设置 Web 服务器路由
server.on(&#34;/&#34;, handleRoot);
server.on(&#34;/capture&#34;, handleCapture);
server.on(&#34;/photo&#34;, handlePhoto);
server.on(&#34;/stream&#34;, handleStream);
server.begin();
Serial.println(&#34;Web 服务器已启动&#34;);
Serial.print(&#34;访问 http://&#34;);
Serial.println(WiFi.localIP());
}
void loop() {
server.handleClient();
// 每隔10秒自动拍照
unsigned long currentTime &#61; millis();
if (currentTime - lastCaptureTime &gt;&#61; captureInterval) {
lastCaptureTime &#61; currentTime;
capturePhoto();
Serial.println(&#34;自动拍照完成&#34;);
}
}
// &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; 摄像头初始化 &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
bool initCamera() {
camera_config_t config;
config.ledc_channel &#61; LEDC_CHANNEL_0;
config.ledc_timer &#61; LEDC_TIMER_0;
config.pin_pwdn &#61; CAM_PWDN;
config.pin_reset &#61; CAM_RESET;
config.pin_xclk &#61; CAM_XCLK;
config.pin_sccb_sda &#61; CAM_SIOD;
config.pin_sccb_scl &#61; CAM_SIOC;
config.pin_d7 &#61; CAM_D7;
config.pin_d6 &#61; CAM_D6;
config.pin_d5 &#61; CAM_D5;
config.pin_d4 &#61; CAM_D4;
config.pin_d3 &#61; CAM_D3;
config.pin_d2 &#61; CAM_D2;
config.pin_d1 &#61; CAM_D1;
config.pin_d0 &#61; CAM_D0;
config.pin_vsync &#61; CAM_VSYNC;
config.pin_href &#61; CAM_HREF;
config.pin_pclk &#61; CAM_PCLK;
config.xclk_freq_hz &#61; 20000000; // 20MHz XCLK
config.pixel_format &#61; PIXFORMAT_JPEG; // JPEG 格式
// OV3660 支持 3MP (2048x1536)&#xff0c;但建议先用较低分辨率测试
config.frame_size &#61; FRAMESIZE_UXGA; // 1600x1200&#xff0c;可改为 FRAMESIZE_SXGA (1280x1024)
config.jpeg_quality &#61; 12; // 0-63&#xff0c;越低质量越高
config.fb_count &#61; 2; // 双缓冲
// 初始化摄像头
esp_err_t err &#61; esp_camera_init(&amp;config);
if (err !&#61; ESP_OK) {
Serial.printf(&#34;摄像头初始化失败&#xff0c;错误码: 0x%x\n&#34;, err);
return false;
}
// 获取传感器对象&#xff0c;调整设置
sensor_t * s &#61; esp_camera_sensor_get();
if (s) {
// 水平翻转&#xff08;根据实际需要调整&#xff09;
s-&gt;set_hmirror(s, 0);
// 垂直翻转
s-&gt;set_vflip(s, 0);
// 亮度 -2 到 2
s-&gt;set_brightness(s, 0);
// 对比度 -2 到 2
s-&gt;set_contrast(s, 0);
// 饱和度 -2 到 2
s-&gt;set_saturation(s, 0);
// 如果是 OV3660&#xff0c;可以设置更高增益
s-&gt;set_gainceiling(s, GAINCEILING_16X);
Serial.println(&#34;摄像头传感器配置完成&#34;);
Serial.printf(&#34;传感器 PID: 0x%x\n&#34;, s-&gt;id.PID);
}
Serial.println(&#34;摄像头初始化成功&#34;);
return true;
}
// &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; 拍照函数 &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
void capturePhoto() {
// 释放之前的缓冲区
if (lastPhotoBuffer !&#61; NULL) {
free(lastPhotoBuffer);
lastPhotoBuffer &#61; NULL;
}
// 获取一帧
fb &#61; esp_camera_fb_get();
if (!fb) {
Serial.println(&#34;拍照失败&#xff1a;获取帧缓冲区失败&#34;);
return;
}
// 复制照片数据
lastPhotoLength &#61; fb-&gt;len;
lastPhotoBuffer &#61; (uint8_t*)malloc(lastPhotoLength);
if (lastPhotoBuffer !&#61; NULL) {
memcpy(lastPhotoBuffer, fb-&gt;buf, lastPhotoLength);
Serial.printf(&#34;拍照成功: %d bytes, 分辨率: %dx%d\n&#34;,
lastPhotoLength, fb-&gt;width, fb-&gt;height);
} else {
Serial.println(&#34;内存分配失败&#34;);
}
// 释放帧缓冲区
esp_camera_fb_return(fb);
fb &#61; NULL;
}
// &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; Web 页面&#xff1a;主页 &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
void handleRoot() {
String html &#61; R&#34;rawliteral(
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset&#61;&#34;UTF-8&#34;&gt;
&lt;meta name&#61;&#34;viewport&#34; content&#61;&#34;width&#61;device-width, initial-scale&#61;1.0&#34;&gt;
&lt;title&gt;ESP32-S3-CAM OV3660&lt;/title&gt;
&lt;style&gt;
body {
font-family: Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 20px;
background: #1a1a1a;
color: #fff;
text-align: center;
}
h1 { color: #00d4ff; }
.photo-container {
margin: 20px 0;
background: #2a2a2a;
padding: 20px;
border-radius: 10px;
min-height: 300px;
}
img {
max-width: 100%;
height: auto;
border-radius: 5px;
box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
.info {
color: #aaa;
margin: 10px 0;
}
.btn {
background: #00d4ff;
color: #000;
border: none;
padding: 12px 24px;
font-size: 16px;
border-radius: 5px;
cursor: pointer;
margin: 5px;
transition: 0.3s;
}
.btn:hover { background: #00a8cc; }
.status {
display: inline-block;
width: 10px;
height: 10px;
border-radius: 50%;
background: #0f0;
margin-right: 5px;
animation: pulse 2s infinite;
}
&#64;keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.3; }
}
#timer {
font-size: 24px;
color: #00d4ff;
margin: 10px 0;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;&#x1f4f7; ESP32-S3-CAM OV3660&lt;/h1&gt;
&lt;div class&#61;&#34;info&#34;&gt;
&lt;span class&#61;&#34;status&#34;&gt;&lt;/span&gt;自动拍照中&#xff08;每5秒&#xff09;
&lt;/div&gt;
&lt;div id&#61;&#34;timer&#34;&gt;下次拍照: 5秒&lt;/div&gt;
&lt;div class&#61;&#34;photo-container&#34;&gt;
&lt;img id&#61;&#34;photo&#34; src&#61;&#34;/photo&#34; alt&#61;&#34;最新照片&#34;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;button class&#61;&#34;btn&#34; onclick&#61;&#34;refreshPhoto()&#34;&gt;&#x1f504; 立即刷新&lt;/button&gt;
&lt;button class&#61;&#34;btn&#34; onclick&#61;&#34;toggleAuto()&#34;&gt;⏸ 暂停/继续&lt;/button&gt;
&lt;button class&#61;&#34;btn&#34; onclick&#61;&#34;captureNow()&#34;&gt;&#x1f4f8; 立即拍照&lt;/button&gt;
&lt;/div&gt;
&lt;div class&#61;&#34;info&#34; id&#61;&#34;photoInfo&#34;&gt;等待照片...&lt;/div&gt;
&lt;script&gt;
let autoRefresh &#61; true;
let countdown &#61; 5;
// 自动倒计时
setInterval(() &#61;&gt; {
if (autoRefresh &amp;&amp; countdown &gt; 0) {
countdown--;
document.getElementById(&#39;timer&#39;).textContent &#61; &#39;下次拍照: &#39; &#43; countdown &#43; &#39;&#39;;
}
if (countdown &#61;&#61;&#61; 0) {
refreshPhoto();
countdown &#61; 5;
}
}, 1000);
// 刷新照片
function refreshPhoto() {
const img &#61; document.getElementById(&#39;photo&#39;);
const timestamp &#61; new Date().getTime();
img.src &#61; &#39;/photo?t&#61;&#39; &#43; timestamp;
document.getElementById(&#39;photoInfo&#39;).textContent &#61; &#39;更新时间: &#39; &#43; new Date().toLocaleTimeString();
}
// 立即拍照
function captureNow() {
fetch(&#39;/capture&#39;)
.then(r &#61;&gt; r.text())
.then(t &#61;&gt; {
countdown &#61; 5;
refreshPhoto();
});
}
// 暂停/继续自动刷新
function toggleAuto() {
autoRefresh &#61; !autoRefresh;
document.getElementById(&#39;timer&#39;).style.display &#61; autoRefresh ? &#39;block&#39; : &#39;none&#39;;
}
// 初始加载
refreshPhoto();
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
)rawliteral&#34;;
server.send(200, &#34;text/html&#34;, html);
}
// &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; Web 页面&#xff1a;立即拍照 &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
void handleCapture() {
capturePhoto();
if (lastPhotoBuffer !&#61; NULL) {
server.send(200, &#34;text/plain&#34;, &#34;拍照成功: &#34; &#43; String(lastPhotoLength) &#43; &#34; bytes&#34;);
} else {
server.send(500, &#34;text/plain&#34;, &#34;拍照失败&#34;);
}
}
// &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; Web 页面&#xff1a;获取照片 &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
void handlePhoto() {
if (lastPhotoBuffer &#61;&#61; NULL) {
server.send(404, &#34;text/plain&#34;, &#34;暂无照片&#xff0c;请等待自动拍照或手动触发&#34;);
return;
}
server.sendHeader(&#34;Cache-Control&#34;, &#34;no-cache, no-store, must-revalidate&#34;);
server.sendHeader(&#34;Pragma&#34;, &#34;no-cache&#34;);
server.sendHeader(&#34;Expires&#34;, &#34;0&#34;);
server.send_P(200, &#34;image/jpeg&#34;, (const char*)lastPhotoBuffer, lastPhotoLength);
}
// &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; Web 页面&#xff1a;视频流&#xff08;MJPEG&#xff09; &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
void handleStream() {
WiFiClient client &#61; server.client();
String response &#61; &#34;HTTP/1.1 200 OK\r\n&#34;;
response &#43;&#61; &#34;Content-Type: multipart/x-mixed-replace; boundary&#61;frame\r\n\r\n&#34;;
client.print(response);
while (client.connected()) {
fb &#61; esp_camera_fb_get();
if (!fb) continue;
response &#61; &#34;--frame\r\n&#34;;
response &#43;&#61; &#34;Content-Type: image/jpeg\r\n\r\n&#34;;
client.print(response);
client.write(fb-&gt;buf, fb-&gt;len);
client.print(&#34;\r\n&#34;);
esp_camera_fb_return(fb);
delay(100); // 约10fps
}
}</code></pre>
<h4>4、摄像头引脚配置</h4>
<p>代码开头就是一堆的变量定义&#xff0c;一开始我也不知道是什么意思&#xff0c;AI解释后才知道&#xff0c;是GPIO口的定义&#xff0c;这里我才逐渐醒悟过来&#xff0c;从淘宝店买板子的时候&#xff0c;一般会介绍哪个针脚接主板上哪个引脚&#xff0c;但是SD卡和摄像头&#xff0c;是没有介绍的&#xff0c;可能是要查看具体的引脚定义&#xff0c;这里一开始我不知道&#xff0c;摄像头引脚都是靠运气试出来的&#xff0c;后来我才发现&#xff0c;原来ESP32-S3这类板子有两种类型&#xff0c;一种是AI-Thinker版本&#xff0c;一种是Freenove &#xff0c;AI的解释如下&#xff1a;</p>
<p>Freenove 有两款产品 &#xff1a;</p>
<ul><li>
<p><strong>ESP32-S3-WROOM</strong>&#xff1a;带摄像头接口&#xff0c;但引脚定义与 AI-Thinker 不同</p>
</li><li>
<p><strong>ESP32-S3-CAM</strong>&#xff1a;通常指 AI-Thinker 形式的板子</p>
</li></ul>
<p><img alt="" height="359" src="https://i-blog.csdnimg.cn/direct/93d5de3a114b416b846d6ae33466f04f.png" width="400" /></p>
<p>从板子上看到印的是<strong>ESP32-S3-CAM</strong></p>
<p>所以摄像头的参数配置应该按照 AI-Thinker版本来配置&#xff0c;不能按照Freenove版本来配置&#xff0c;二者在控制信号上相同&#xff0c;但是数据段不同。</p>
<h5>Freenove vs AI-Thinker 引脚差异对比</h5>
<table><thead><tr><th>引脚</th><th>AI-Thinker</th><th><strong>Freenove</strong></th><th>说明</th></tr></thead><tbody><tr><td>CAM_D7</td><td>GPIO 16</td><td><strong>GPIO 11</strong></td><td>⚠️ 不同</td></tr><tr><td>CAM_D6</td><td>GPIO 17</td><td><strong>GPIO 9</strong></td><td>⚠️ 不同</td></tr><tr><td>CAM_D5</td><td>GPIO 18</td><td><strong>GPIO 8</strong></td><td>⚠️ 不同</td></tr><tr><td>CAM_D4</td><td>GPIO 12</td><td><strong>GPIO 10</strong></td><td>⚠️ 不同</td></tr><tr><td>CAM_D3</td><td>GPIO 10</td><td><strong>GPIO 12</strong></td><td>⚠️ 不同</td></tr><tr><td>CAM_D2</td><td>GPIO 8</td><td><strong>GPIO 18</strong></td><td>⚠️ 不同</td></tr><tr><td>CAM_D1</td><td>GPIO 9</td><td><strong>GPIO 17</strong></td><td>⚠️ 不同</td></tr><tr><td>CAM_D0</td><td>GPIO 11</td><td><strong>GPIO 16</strong></td><td>⚠️ 不同</td></tr><tr><td>CAM_XCLK</td><td>GPIO 15</td><td>GPIO 15</td><td>✅ 相同</td></tr><tr><td>CAM_SIOD</td><td>GPIO 4</td><td>GPIO 4</td><td>✅ 相同</td></tr><tr><td>CAM_SIOC</td><td>GPIO 5</td><td>GPIO 5</td><td>✅ 相同</td></tr><tr><td>CAM_VSYNC</td><td>GPIO 6</td><td>GPIO 6</td><td>✅ 相同</td></tr><tr><td>CAM_HREF</td><td>GPIO 7</td><td>GPIO 7</td><td>✅ 相同</td></tr><tr><td>CAM_PCLK</td><td>GPIO 13</td><td>GPIO 13</td><td>✅ 相同</td></tr></tbody></table>
<p>AI给我做了个对比&#xff0c;因为手头没有丝印是ESP32-S3-WROOM的板子&#xff0c;所以也没法验证。</p>
<p>但经过测试&#xff0c;确实用AI-Thinker 标准这套引脚定义的参数才能运行成功&#xff0c;用Freenove这套参数会提示   拍照失败&#xff1a;获取帧缓冲区失败</p>
<table><thead><tr><th>特征</th><th>我这块板子</th><th>真正的 Freenove ESP32-S3-WROOM</th></tr></thead><tbody><tr><td><strong>摄像头数据线</strong></td><td>D0-D7 使用 GPIO 8-12,16-18 (AI-Thinker 标准)</td><td>D0-D7 使用 GPIO 8,9,10,11,12,16,17,18 (顺序不同) </td></tr><tr><td><strong>控制信号</strong></td><td>GPIO 4,5,6,7,13,15 (与 Freenove 相同)</td><td>GPIO 4,5,6,7,13,15</td></tr></tbody></table>
<p>这个时候再来看看代码里引脚的定义&#xff1a;</p>
<pre>
<code class="language-cpp">// &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; AI-Thinker ESP32-S3-CAM 引脚配置 &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
#define CAM_PWDN -1
#define CAM_RESET -1
#define CAM_XCLK 15
#define CAM_SIOD 4
#define CAM_SIOC 5
#define CAM_D7 16
#define CAM_D6 17
#define CAM_D5 18
#define CAM_D4 12
#define CAM_D3 10
#define CAM_D2 8
#define CAM_D1 9
#define CAM_D0 11
#define CAM_VSYNC 6
#define CAM_HREF 7
#define CAM_PCLK 13
// &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61; Freenove ESP32-S3-CAM 引脚配置 &#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;
// #define CAM_PWDN -1
// #define CAM_RESET -1
// #define CAM_XCLK 15
// #define CAM_SIOD 4
// #define CAM_SIOC 5
// #define CAM_D7 11 // Freenove: D7&#61;GPIO11 (AI-Thinker: GPIO16)
// #define CAM_D6 9 // Freenove: D6&#61;GPIO9 (AI-Thinker: GPIO17)
// #define CAM_D5 8 // Freenove: D5&#61;GPIO8 (AI-Thinker: GPIO18)
// #define CAM_D4 10 // Freenove: D4&#61;GPIO10 (AI-Thinker: GPIO12)
// #define CAM_D3 12 // Freenove: D3&#61;GPIO12 (AI-Thinker: GPIO10)
// #define CAM_D2 18 // Freenove: D2&#61;GPIO18 (AI-Thinker: GPIO8)
// #define CAM_D1 17 // Freenove: D1&#61;GPIO17 (AI-Thinker: GPIO9)
// #define CAM_D0 16 // Freenove: D0&#61;GPIO16 (AI-Thinker: GPIO11)
// #define CAM_VSYNC 6
// #define CAM_HREF 7
// #define CAM_PCLK 13</code></pre>
<h4>5、代码运行结果</h4>
<pre>
<code class="language-bash">Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3818,len:0x508
load:0x403c9700,len:0x4
load:0x403c9704,len:0xad0
load:0x403cc700,len:0x29e4
entry 0x403c9880
ESP32-S3-CAM OV3660 启动中...
摄像头传感器配置完成
传感器 PID: 0x3660
摄像头初始化成功
连接 WiFi....
WiFi 已连接&#xff0c;IP: 10.172.134.242
Web 服务器已启动
访问 http://10.172.134.242
拍照成功: 49139 bytes, 分辨率: 1600x1200
自动拍照完成
拍照成功: 49190 bytes, 分辨率: 1600x1200
自动拍照完成
拍照成功: 49270 bytes, 分辨率: 1600x1200
自动拍照完成</code></pre>
<p><strong>访问  http://10.172.134.242</strong></p>
<p>浏览器打开 输入上面网址&#xff0c;即可看到拍的图片。</p>
<p><img alt="" height="476" src="https://i-blog.csdnimg.cn/direct/aed7b6afde0545cd8b05225c5c0d1034.png" width="600" /></p>
<h4>6、AI说板子是混合克隆板</h4>
<p>前面帖子里我测试出来的SD卡的引脚是Freenove标准&#xff0c;但是这次摄像头的引脚测试出来又是AI-Thinker标准&#xff0c;很奇怪&#xff0c;我也问了下AI&#xff0c;答案是 板子是混合版。</p>
<table><thead><tr><th>功能模块</th><th>实际使用的引脚标准</th><th>说明</th></tr></thead><tbody><tr><td><strong>摄像头 (Camera)</strong></td><td><strong>AI-Thinker</strong></td><td>D0-D7 使用 GPIO 8-12,16-18</td></tr><tr><td><strong>SD卡 (SD Card)</strong></td><td><strong>Freenove</strong></td><td>使用 GPIO 38,39,40&#xff08;与摄像头无冲突&#xff09;</td></tr><tr><td><strong>控制信号</strong></td><td><strong>两者相同</strong></td><td>XCLK/SCCB/VSYNC 等使用 GPIO 4,5,6,7,13,15</td></tr></tbody></table>
<p>AI还给出了为什么要这样设计的答案&#xff0c;好像很有道理&#xff0c;但作为硬件小白&#xff0c;当前我还无法判断真假&#xff0c;新记录下来再说。</p>
<h4>7、为什么板子要这样设计&#xff1f;</h4>
<p>这是一个聪明的 <strong>兼容性优化设计</strong>&#xff1a;</p>
<ol><li>
<p><strong>摄像头用 AI-Thinker 标准</strong>&#xff1a;因为 OV2640/3660 摄像头模组最普及&#xff0c;AI-Thinker 的引脚定义是社区标准</p>
</li><li>
<p><strong>SD卡用 Freenove 标准</strong>&#xff1a;避开 AI-Thinker SD卡的引脚冲突问题&#xff08;GPIO 15 与 CAM_XCLK 冲突&#xff09;</p>
</li></ol>
<p>这样设计的好处&#xff1a;</p>
<ul><li>
<p>✅ 摄像头兼容性最强&#xff08;AI-Thinker 示例代码直接可用&#xff09;</p>
</li><li>
<p>✅ SD卡不占用摄像头引脚&#xff08;GPIO 38-40 专用&#xff09;</p>
</li><li>
<p>✅ 可以同时使用摄像头 &#43; SD卡 无冲突</p>
</li></ul>
</div>
</div>
</article>
<div class="starmap-box box2" data-spm='3001.11252' data-id='img695a865957d48a6e87b5578c' data-utm-source='bottom' data-report-view='{"spm":"3001.11252","extra":{"openMirrorId":"img695a865957d48a6e87b5578c"}}' data-report-click='{"spm":"3001.11252","extra":{"openMirrorId":"img695a865957d48a6e87b5578c"}}'>
<p class="starmap-title">您可能感兴趣的与本文相关的镜像</p>
<div class="starmap-content">
<div class="starmap-info-box">
<div class="img-box">
<img src="https://csdn-665-inscode.s3.cn-north-1.jdcloud-oss.com/inscode/202601/anonymous/1767590659585-76718611-R6hFLsm1PAKQgChEmobrMptRx0IpTtAr" alt="CAM++一个可以将说话人语音识别的系统 构建by科哥">
</div>
<div class="info-box">
<div class="title-box">
<p class="title">CAM++一个可以将说话人语音识别的系统 构建by科哥</p>
<div class="tag-box">
<div class="tag-item">AI应用</div>
<div class="tag-item">语音识别</div>
<div class="tag-item">PyTorch</div>
</div>
</div>
<p class="desc" title="CAM++一个可以将说话人语音识别的系统 构建by科哥">CAM++一个可以将说话人语音识别的系统 构建by科哥</p>
</div>
</div>
<div class="starmap-operate-box">
<button class="starmap-operate-btn">一键部署运行</button>
</div>
</div>
</div>
<script>
$(function() {
setTimeout(function () {
var mathcodeList = document.querySelectorAll('.htmledit_views img.mathcode');
if (mathcodeList.length > 0) {
for (let i = 0; i < mathcodeList.length; i++) {
if (mathcodeList[i].complete) {
if (mathcodeList[i].naturalWidth === 0 || mathcodeList[i].naturalHeight === 0) {
var alt = mathcodeList[i].alt;
alt = '\\(' + alt + '\\)';
var curSpan = $('<span class="img-codecogs"></span>');
curSpan.text(alt);
$(mathcodeList[i]).before(curSpan);
$(mathcodeList[i]).remove();
}
} else {
mathcodeList[i].onerror = function() {
var alt = mathcodeList[i].alt;
alt = '\\(' + alt + '\\)';
var curSpan = $('<span class="img-codecogs"></span>');
curSpan.text(alt);
$(mathcodeList[i]).before(curSpan);
$(mathcodeList[i]).remove();
};
}
}
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
}
}, 500)
});
</script>
</div>
<div class="directory-boxshadow-dialog" style="display:none;">
<div class="directory-boxshadow-dialog-box">
</div>
<div class="vip-limited-time-offer-box-new" id="vip-limited-time-offer-box-new">
<img class="limited-img limited-img-new" src="https://csdnimg.cn/release/blogv2/dist/pc/img/vip-limited-close-newWhite.png">
<div class="vip-limited-time-top">
确定要放弃本次机会?
</div>
<span class="vip-limited-time-text">福利倒计时</span>
<div class="limited-time-box-new">
<span class="time-hour"></span>
<i>:</i>
<span class="time-minite"></span>
<i>:</i>
<span class="time-second"></span>
</div>
<div class="limited-time-vip-box">
<p>
<img class="coupon-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/vip-limited-close-roup.png">
<span class="def">立减 ¥</span>
<span class="active limited-num"></span>
</p>
<span class="">普通VIP年卡可用</span>
</div>
<a class="limited-time-btn-new" href="https://mall.csdn.net/vip" data-report-click='{"spm":"1001.2101.3001.9621"}' data-report-query='spm=1001.2101.3001.9621'>立即使用</a>
</div>
</div>
<div class="more-toolbox-new more-toolbar" id="toolBarBox">
<div class="left-toolbox">
<div class="toolbox-left">
<div class="profile-box">
<a class="profile-href" target="_blank" href="https://blog.csdn.net/Diaoliangwang"><img class="profile-img" src="https://profile-avatar.csdnimg.cn/96438752e7564a3e955b453e0f4b9e22_diaoliangwang.jpg!1">
<span class="profile-name">
爱上珍珠的贝壳
</span>
</a>
</div>
<div class="profile-attend">
<a class="tool-attend tool-bt-button tool-bt-attend" href="javascript:;" data-report-view='{"mod":"1592215036_002","spm":"1001.2101.3001.4232","extend1":"关注"}'>关注</a>
<a class="tool-item-follow active-animation" style="display:none;">关注</a>
</div>
</div>
<div class="toolbox-middle">
<ul class="toolbox-list">
<li class="tool-item tool-item-size tool-active is-like" id="is-like" data-type="bottom">
<a class="tool-item-href">
<img style="display:none;" id="is-like-imgactive-animation-like" class="animation-dom active-animation" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarThumbUpactive.png" alt="">
<img class="isactive" style="display:none" id="is-like-imgactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/like-active.png" alt="">
<img class="isdefault" style="display:block" id="is-like-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/like.png" alt="">
<span id="spanCount" class="count ">
11
</span>
</a>
<div class="tool-hover-tip"><span class="text space">点赞</span></div>
</li>
<li class="tool-item tool-item-size tool-active is-unlike" id="is-unlike">
<a class="tool-item-href">
<img class="isactive" style="margin-right:0px;display:none" id="is-unlike-imgactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/unlike-active.png" alt="">
<img class="isdefault" style="margin-right:0px;display:block" id="is-unlike-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/unlike.png" alt="">
<span id="unlikeCount" class="count "></span>
</a>
<div class="tool-hover-tip"><span class="text space"></span></div>
</li>
<li class="tool-item tool-item-size tool-active is-collection ">
<a class="tool-item-href" href="javascript:;" data-report-click='{"mod":"popu_824","spm":"1001.2101.3001.4130","ab":"new"}'>
<img style="display:none" id="is-collection-img-collection" class="animation-dom active-animation" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/collect-active.png" alt="">
<img class="isdefault" id="is-collection-img" style="display:block" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/collect.png" alt="">
<img class="isactive" id="is-collection-imgactive" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newCollectActive.png" alt="">
<span class="count get-collection " data-num="16" id="get-collection">
16
</span>
</a>
<div class="tool-hover-tip collect">
<div class="collect-operate-box">
<span class="collect-text" id="is-collection">
收藏
</span>
</div>
</div>
<div class="tool-active-list">
<div class="text">
觉得还不错?
<span class="collect-text" id="tool-active-list-collection">
一键收藏
</span>
<img id="tool-active-list-close" src="https://csdnimg.cn/release/blogv2/dist/pc/img/collectionCloseWhite.png" alt="">
</div>
</div>
</li>
<li class="tool-item tool-item-size tool-active tool-item-comment">
<div class="guide-rr-first">
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/guideRedReward01.png" alt="">
<button class="btn-guide-known">知道了</button>
</div>
<a class="tool-item-href go-side-comment" data-report-click='{"spm":"1001.2101.3001.7009"}'>
<img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/comment.png" alt="">
<span class="count">
0
</span>
</a>
<div class="tool-hover-tip"><span class="text space">评论</span></div>
</li>
<li class="tool-item tool-item-size tool-active tool-QRcode" data-type="article" id="tool-share">
<a class="tool-item-href" href="javascript:;" data-report-view='{"spm":"3001.4129","extra":{"type":"blogdetail"}}'>
<img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/share.png" alt="">
<span class="count">分享</span>
</a>
<div class="QRcode" id="tool-QRcode">
<div class="share-bg-box">
<div class="share-content">
<a id="copyPosterUrl" data-type="link" class="btn-share">复制链接</a>
</div>
<div class="share-content">
<a class="btn-share" data-type="qq">分享到 QQ</a>
</div>
<div class="share-content">
<a class="btn-share" data-type="weibo">分享到新浪微博</a>
</div>
<div class="share-code">
<div class="share-code-box" id='shareCode'></div>
<div class="share-code-text">
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/share/icon-wechat.png" alt="">扫一扫
</div>
</div>
</div>
</div>
</li>
<li class="tool-item tool-item-size tool-active is-more" id="is-more">
<a class="tool-item-href">
<img class="isdefault" style="margin-right:0px;display:block" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/more.png" alt="">
<span class="count"></span>
</a>
<div class="more-opt-box">
<div class="mini-box">
<a class="tool-item-href" id="toolReportBtnHide">
<img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/report.png" alt="">
<span class="count">举报</span>
</a>
</div>
<div class="normal-box">
<a class="tool-item-href" id="toolReportBtnHideNormal">
<img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/toolbar/report.png" alt="">
<span class="count">举报</span>
</a>
</div>
</div>
</li>
</ul>
</div>
<div class="toolbox-right">
</div>
</div>
</div>
<script type=text/javascript crossorigin src="https://csdnimg.cn/release/phoenix/production/qrcode-7c90a92189.min.js"></script>
<script type="text/javascript" crossorigin src="https://g.csdnimg.cn/common/csdn-login-box/csdn-login-box.js"></script>
<script type="text/javascript" crossorigin src="https://g.csdnimg.cn/collection-box/2.1.2/collection-box.js"></script>
<div id="dmp_ad_58" style="width:100%;overflow-x:hidden">
<div id="kp_box_58" data-pid="58"><iframe src="https://kunpeng-sc.csdnimg.cn/?timestamp=1645783940/#/preview1/3889897?positionId=58&adBlockFlag=0&adId=1093542&queryWord=ESP32-S3-CAM接ov3660摄像头&spm=1001.2101.3001.5002&articleId=159055035" frameborder="0" width= "100%" height= "75px" scrolling="no" ></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=58&adBlockFlag=0&adId=1093542&a=1093542&c=3889897&k=ESP32-S3-CAM接ov3660摄像头&spm=1001.2101.3001.5002&articleId=159055035&d=1&t=3&u=f1b68517920d4f68ad45f3a3761064b7" style="display: block;width: 0px;height: 0px;"><script src="https://kunpeng-render.csdnimg.cn/publisher/latest/closeAdFrame.js"></script></div>
</div>
<script src="https://csdnimg.cn/release/blogv2/dist/components/js/pc_wap_commontools-55fb7fc975.min.js" type="text/javascript" async></script>
<div class="second-recommend-box recommend-box ">
<div class="recommend-item-box type_blog clearfix" data-url="https://handsome-man.blog.csdn.net/article/details/146138482" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.1","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~PaidSort-1-146138482-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"1","strategy":"2~default~BlogCommendFromBaidu~PaidSort","dest":"https://handsome-man.blog.csdn.net/article/details/146138482"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://handsome-man.blog.csdn.net/article/details/146138482" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.1","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~PaidSort-1-146138482-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"1","strategy":"2~default~BlogCommendFromBaidu~PaidSort","dest":"https://handsome-man.blog.csdn.net/article/details/146138482"}' data-report-query='spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7EPaidSort-1-146138482-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7EPaidSort-1-146138482-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1">Arduino、<em>ESP32</em>驱动<em>OV</em><em>3660</em><em>摄像头</em>实现物体轮廓识别(<em>摄像头</em>支持红外夜视、边缘<em>AI</em>计算)</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/m0_38106923" target="_blank"><span class="blog-title">不脱发的程序猿</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">03-09</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
1339
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://handsome-man.blog.csdn.net/article/details/146138482" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.1","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~PaidSort-1-146138482-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"1","strategy":"2~default~BlogCommendFromBaidu~PaidSort","dest":"https://handsome-man.blog.csdn.net/article/details/146138482"}' data-report-query='spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7EPaidSort-1-146138482-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7EPaidSort-1-146138482-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1"><em>ESP32</em><em>-</em>S<em>3</em> <em>AI</em>智能<em>摄像头</em>模块是一款专为智能家居和物联网应用打造的高性能边缘<em>AI</em>开发模组。它集成了<em>摄像头</em>、麦克风、音频功放、环境光传感器和夜视补光灯,无需依赖云端即可实现本地化<em>AI</em>推理。</div>
</a>
</div>
</div>
</div>
</div>
<a id="commentBox" name="commentBox"></a>
<div id="pcCommentBox" class="comment-box comment-box-new2 login-comment-box-new" style="display:none">
<div class="has-comment" style="display:block">
<div class="one-line-box">
<div class="has-comment-tit go-side-comment">
<span class="count">0</span>&nbsp;条评论
</div>
<div class="has-comment-con comment-operate-item"></div>
<a class="has-comment-bt-right go-side-comment focus">写评论</a>
</div>
</div>
</div>
<div class="recommend-box insert-baidu-box recommend-box-style ">
<div class="recommend-item-box no-index" style="display:none"></div>
<div class="recommend-item-box type_blog clearfix" data-url="https://handsome-man.blog.csdn.net/article/details/146139062" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.2","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~PaidSort-2-146139062-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"2","strategy":"2~default~OPENSEARCH~PaidSort","dest":"https://handsome-man.blog.csdn.net/article/details/146139062"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://handsome-man.blog.csdn.net/article/details/146139062" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.2","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~PaidSort-2-146139062-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"2","strategy":"2~default~OPENSEARCH~PaidSort","dest":"https://handsome-man.blog.csdn.net/article/details/146139062"}' data-report-query='spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-2-146139062-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-2-146139062-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1">Arduino、<em>ESP32</em>驱动<em>OV</em><em>3660</em><em>摄像头</em>实现EdgeImpulse图像识别<em>摄像头</em>支持红外夜视、边缘<em>AI</em>计算)</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/m0_38106923" target="_blank"><span class="blog-title">不脱发的程序猿</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">03-09</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
1432
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://handsome-man.blog.csdn.net/article/details/146139062" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.2","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~PaidSort-2-146139062-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"2","strategy":"2~default~OPENSEARCH~PaidSort","dest":"https://handsome-man.blog.csdn.net/article/details/146139062"}' data-report-query='spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-2-146139062-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-2-146139062-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1"><em>ESP32</em><em>-</em>S<em>3</em> <em>AI</em>智能<em>摄像头</em>模块是一款专为智能家居和物联网应用打造的高性能边缘<em>AI</em>开发模组。它集成了<em>摄像头</em>、麦克风、音频功放、环境光传感器和夜视补光灯,无需依赖云端即可实现本地化<em>AI</em>推理。</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://youyouhome.blog.csdn.net/article/details/155161877" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.3","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Ctr-3-155161877-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"3","strategy":"2~default~BlogCommendFromBaidu~Ctr","dest":"https://youyouhome.blog.csdn.net/article/details/155161877"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://youyouhome.blog.csdn.net/article/details/155161877" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.3","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Ctr-3-155161877-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"3","strategy":"2~default~BlogCommendFromBaidu~Ctr","dest":"https://youyouhome.blog.csdn.net/article/details/155161877"}' data-report-query='spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ECtr-3-155161877-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ECtr-3-155161877-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1"><em>ESP32</em><em>-</em>S<em>3</em><em>-</em><em>CAM</em><em>OV</em><em>3660</em>视频不流畅优化</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/m0_60688978" target="_blank"><span class="blog-title">随笔</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">11-23</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
2543
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://youyouhome.blog.csdn.net/article/details/155161877" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.3","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Ctr-3-155161877-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"3","strategy":"2~default~BlogCommendFromBaidu~Ctr","dest":"https://youyouhome.blog.csdn.net/article/details/155161877"}' data-report-query='spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ECtr-3-155161877-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ECtr-3-155161877-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1"><em>ESP32</em><em>-</em>S<em>3</em><em>-</em><em>CAM</em><em>OV</em><em>3660</em>视频不流畅处理方案</div>
</a>
</div>
</div>
</div>
<dl id="recommend-item-box-tow" class="recommend-item-box type_blog clearfix">
</dl>
<div class="recommend-item-box type_blog clearfix" data-url="https://devpress.csdn.net/v1/article/detail/148380148" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.4","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~activity-4-148380148-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"4","strategy":"2~default~OPENSEARCH~activity","dest":"https://devpress.csdn.net/v1/article/detail/148380148"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://devpress.csdn.net/v1/article/detail/148380148" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.4","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~activity-4-148380148-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"4","strategy":"2~default~OPENSEARCH~activity","dest":"https://devpress.csdn.net/v1/article/detail/148380148"}' data-report-query='spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Eactivity-4-148380148-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Eactivity-4-148380148-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1"><em>ESP32</em><em>-</em>S<em>3</em> N16R8 <em>CAM</em>开发板+<em>OV</em>5640<em>摄像头</em></div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/A3138246926" target="_blank"><span class="blog-title">A3138246926的博客</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">06-02</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
3660
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://devpress.csdn.net/v1/article/detail/148380148" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.4","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~activity-4-148380148-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"4","strategy":"2~default~OPENSEARCH~activity","dest":"https://devpress.csdn.net/v1/article/detail/148380148"}' data-report-query='spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Eactivity-4-148380148-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Eactivity-4-148380148-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1">本文介绍了<em>ESP32</em><em>-</em>S<em>3</em>开发板使用Arduino IDE的配置方法。首先选择正确的开发板型号&quot;<em>ESP32</em>s<em>3</em> Dev Module&quot;,然后通过示例代码测试适配性。重点讲解了<em>Cam</em>eraWebServer例程的修改要点需调整宏定义匹配开发板型号并修改<em>摄像头</em>参数防止过热(引脚定义在<em>cam</em>era_pin.h中。最后提醒烧录完成后若看不到图像可尝试切换不同分辨率设置。文中包含多张操作界面截图清晰展示了配置过程中的关键步骤和参数设置位置。</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/qq_34428953/article/details/132780783" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.5","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-5-132780783-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"5","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_34428953/article/details/132780783"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://blog.csdn.net/qq_34428953/article/details/132780783" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.5","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-5-132780783-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"5","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_34428953/article/details/132780783"}' data-report-query='spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-132780783-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-132780783-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1">物联网不求人<em>-</em>自制<em>ESP32</em>微型NAS</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/qq_34428953" target="_blank"><span class="blog-title">默言博客</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">09-09</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
3685
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://blog.csdn.net/qq_34428953/article/details/132780783" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.5","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-5-132780783-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"5","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_34428953/article/details/132780783"}' data-report-query='spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-132780783-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-132780783-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1">本教程将SD卡的操作与Webserver相结合实现了一个简单的NAS功能值得注意的是该项目主要是给单片机用的&ldquo;NAS&rdquo;用来记录一些传感器数据与图像主要用途是当做一个特殊的带图像界面的物联网数据记录仪通过自定义的html代码与API的结合可以实现诸如数据可视化数据分析以及图床等功能。对于可联网设备可以通过API方式访问设备其他不能自主联网的设备如UNONano等则可以使用串口通讯进行连<em></em>此部分自行编写附录参考程序仅包含作为NAS的基础功能</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/qq_57498082/article/details/127110673" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.6","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6-127110673-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"6","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_57498082/article/details/127110673"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://blog.csdn.net/qq_57498082/article/details/127110673" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.6","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6-127110673-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"6","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_57498082/article/details/127110673"}' data-report-query='spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-127110673-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-127110673-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1"><em>esp32</em><em>-</em>pico<em>-</em>d4问题</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/qq_57498082" target="_blank"><span class="blog-title">qq_57498082的博客</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">09-29</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
1678
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://blog.csdn.net/qq_57498082/article/details/127110673" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.6","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6-127110673-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"6","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_57498082/article/details/127110673"}' data-report-query='spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-127110673-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-127110673-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1"><em>esp32</em><em>-</em>pico<em>-</em>d4连<em></em><em>OV</em><em>3660</em><em>摄像头</em>,程序使用的是示例程序,但一直报错不知道为什么。</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/qq_58044110/article/details/143261987" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.7","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-7-143261987-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"7","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_58044110/article/details/143261987"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://blog.csdn.net/qq_58044110/article/details/143261987" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.7","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-7-143261987-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"7","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_58044110/article/details/143261987"}' data-report-query='spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-143261987-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-143261987-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1"><em>ESP32</em><em>-</em><em>Cam</em><em>OV</em><em>3660</em>花屏原因和解决方法</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/qq_58044110" target="_blank"><span class="blog-title">qq_58044110的博客</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">10-27</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
2688
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://blog.csdn.net/qq_58044110/article/details/143261987" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.7","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-7-143261987-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"7","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_58044110/article/details/143261987"}' data-report-query='spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-143261987-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-143261987-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1">而电容防抖滤波只是针对其做为按键输入的输入引脚来说的,但是驱动<em>摄像头</em>则是作为输出,故出现该现象;这篇文章主要是为了对自己工作遇到的问题进行一个记录,相关解释和解决方法也是由公司的一个大佬说明和提出的,我只是对此问题进行记录,以免下次遇到相同问题,同时也给其他遇到同样问题的同行提出一个解决参考,如果涉及到相关版权,公司隐私等问题,请随时联系我进行删帖处理,如果上述解释和说明有错误的地方,也可以联系我进行修改,希望大家嘴下留情,我只是一个刚刚入行的小白,甚至还不一定入行了,望大家海涵!</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/katerdaisy/article/details/127064855" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.8","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-127064855-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"8","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/katerdaisy/article/details/127064855"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://blog.csdn.net/katerdaisy/article/details/127064855" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.8","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-127064855-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"8","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/katerdaisy/article/details/127064855"}' data-report-query='spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-127064855-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-127064855-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1">改写<em>ESP32</em><em>CAM</em>官方例程创建httpserver任务实现网页视频播放</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/katerdaisy" target="_blank"><span class="blog-title">katerdaisy的博客</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">09-27</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
2091
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://blog.csdn.net/katerdaisy/article/details/127064855" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.8","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-127064855-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"8","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/katerdaisy/article/details/127064855"}' data-report-query='spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-127064855-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-127064855-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1">改写<em>ESP32</em><em>CAM</em>官方例程将官方例程中的start<em>Cam</em>eraServer()替换为自己写的http_test_task。在浏览器中输入<em>esp32</em>地址就可以播放视频。</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/niruxi0401/article/details/119814185" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.9","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-9-119814185-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"9","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/niruxi0401/article/details/119814185"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://blog.csdn.net/niruxi0401/article/details/119814185" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.9","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-9-119814185-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"9","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/niruxi0401/article/details/119814185"}' data-report-query='spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-119814185-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-119814185-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1">最简单DIY基于<em>ESP32</em><em>CAM</em>的物联网相机系统⑥用上位机VS201<em>3</em> MFC实现WIFI图传</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/niruxi0401" target="_blank"><span class="blog-title">niruxi0401的博客</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">08-20</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
5059
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://blog.csdn.net/niruxi0401/article/details/119814185" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.9","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-9-119814185-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"9","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/niruxi0401/article/details/119814185"}' data-report-query='spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-119814185-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-119814185-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1">第一篇最简单DIY基于<em>ESP32</em><em>CAM</em>的物联网相机系统①(用网页实现拍照图传)
第二篇最简单DIY基于<em>ESP32</em><em>CAM</em>的物联网相机系统②在JAVAWEB服务器实现图片查看器
第三篇最简单DIY基于<em>ESP32</em><em>CAM</em>的物联网相机系统③在JSP服务器图传相片给所有客户端欣赏
第四篇最简单DIY基于<em>ESP32</em><em>CAM</em>的物联网相机系统④(用调试串口助手实现串口图传)
第五篇最简单DIY基于<em>ESP32</em><em>CAM</em>的物联网相机系统⑤(用1<em>3</em>06OLED实现WIFI黑白屏照相机)
第五篇最简单DIY</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_download clearfix" data-url="https://download.csdn.net/download/m0_38106923/87800496" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.10","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-download-2~default~OPENSEARCH~Rate-10-87800496-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"10","strategy":"2~default~OPENSEARCH~Rate","dest":"https://download.csdn.net/download/m0_38106923/87800496"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://download.csdn.net/download/m0_38106923/87800496" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.10","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-download-2~default~OPENSEARCH~Rate-10-87800496-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"10","strategy":"2~default~OPENSEARCH~Rate","dest":"https://download.csdn.net/download/m0_38106923/87800496"}' data-report-query='spm=1001.2101.3001.6650.10&utm_medium=distribute.pc_relevant.none-task-download-2%7Edefault%7EOPENSEARCH%7ERate-10-87800496-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-download-2%7Edefault%7EOPENSEARCH%7ERate-10-87800496-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1"><em>ESP32</em>驱动<em>OV</em><em>3660</em><em>摄像头</em>实现物体轮廓识别(<em>摄像头</em>支持红外夜视、边缘<em>AI</em>计算)</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info display-flex">
<span class="info-block">05-19</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://download.csdn.net/download/m0_38106923/87800496" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.10","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-download-2~default~OPENSEARCH~Rate-10-87800496-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"10","strategy":"2~default~OPENSEARCH~Rate","dest":"https://download.csdn.net/download/m0_38106923/87800496"}' data-report-query='spm=1001.2101.3001.6650.10&utm_medium=distribute.pc_relevant.none-task-download-2%7Edefault%7EOPENSEARCH%7ERate-10-87800496-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-download-2%7Edefault%7EOPENSEARCH%7ERate-10-87800496-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1"><em>ESP32</em>驱动<em>OV</em><em>3660</em><em>摄像头</em>实现物体轮廓识别(<em>摄像头</em>支持红外夜视、边缘<em>AI</em>计算) 项目详情请参见https<em>:</em>//handsome<em>-</em>man.blog.csdn.net/article/det<em>ai</em>ls/1461<em>3</em>8482 一分价钱一分货,项目代码可顺利编译运行~</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_download clearfix" data-url="https://download.csdn.net/download/dsbhgkrgherk/10726493" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.11","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-download-2~default~OPENSEARCH~Rate-11-10726493-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"11","strategy":"2~default~OPENSEARCH~Rate","dest":"https://download.csdn.net/download/dsbhgkrgherk/10726493"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://download.csdn.net/download/dsbhgkrgherk/10726493" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.11","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-download-2~default~OPENSEARCH~Rate-11-10726493-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"11","strategy":"2~default~OPENSEARCH~Rate","dest":"https://download.csdn.net/download/dsbhgkrgherk/10726493"}' data-report-query='spm=1001.2101.3001.6650.11&utm_medium=distribute.pc_relevant.none-task-download-2%7Edefault%7EOPENSEARCH%7ERate-11-10726493-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-download-2%7Edefault%7EOPENSEARCH%7ERate-11-10726493-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1"><em>esp32</em> <em>ov</em>7670 <em>摄像头</em></div>
</a>
</div>
<div class="info-box display-flex">
<div class="info display-flex">
<span class="info-block">10-17</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://download.csdn.net/download/dsbhgkrgherk/10726493" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.11","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-download-2~default~OPENSEARCH~Rate-11-10726493-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"11","strategy":"2~default~OPENSEARCH~Rate","dest":"https://download.csdn.net/download/dsbhgkrgherk/10726493"}' data-report-query='spm=1001.2101.3001.6650.11&utm_medium=distribute.pc_relevant.none-task-download-2%7Edefault%7EOPENSEARCH%7ERate-11-10726493-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-download-2%7Edefault%7EOPENSEARCH%7ERate-11-10726493-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1"><em>ESP32</em> <em>OV</em>7670<em>摄像头</em>相关知识点 <em>ESP32</em>是一款功能强大的微控制器由Espressif Systems开发集成了Wi<em>-</em>Fi和蓝牙双重无线通信功能适用于物联网(IoT)应用。它拥有丰富的GPIO通用输入/输出)引脚、高性能的<em>3</em>2位双核...</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_chatgpt clearfix" data-url="https://wenku.csdn.net/answer/5nbr839ze8" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.12","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-chatgpt-2~default~OPENSEARCH~Rate-12-5nbr839ze8-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"12","strategy":"2~default~OPENSEARCH~Rate","dest":"https://wenku.csdn.net/answer/5nbr839ze8"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://wenku.csdn.net/answer/5nbr839ze8" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.12","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-chatgpt-2~default~OPENSEARCH~Rate-12-5nbr839ze8-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"12","strategy":"2~default~OPENSEARCH~Rate","dest":"https://wenku.csdn.net/answer/5nbr839ze8"}' data-report-query='spm=1001.2101.3001.6650.12&utm_medium=distribute.pc_relevant.none-task-chatgpt-2%7Edefault%7EOPENSEARCH%7ERate-12-5nbr839ze8-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-chatgpt-2%7Edefault%7EOPENSEARCH%7ERate-12-5nbr839ze8-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1">写段micropython <em>esp32</em> <em>ov</em><em>3660</em>代码</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info display-flex">
<span class="info-block">12-17</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://wenku.csdn.net/answer/5nbr839ze8" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.12","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-chatgpt-2~default~OPENSEARCH~Rate-12-5nbr839ze8-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"12","strategy":"2~default~OPENSEARCH~Rate","dest":"https://wenku.csdn.net/answer/5nbr839ze8"}' data-report-query='spm=1001.2101.3001.6650.12&utm_medium=distribute.pc_relevant.none-task-chatgpt-2%7Edefault%7EOPENSEARCH%7ERate-12-5nbr839ze8-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-chatgpt-2%7Edefault%7EOPENSEARCH%7ERate-12-5nbr839ze8-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1">首先,我们需要了解一下<em>ESP32</em><em>ov</em><em>3660</em>模块。 <em>ESP32</em>是一款高性能的Wi<em>-</em>Fi和蓝牙双模系统级芯片具有完整的TCP/IP协议栈和微控制器功能。<em>ov</em><em>3660</em>是一款集成了<em>OV</em>5640传感器的图像处理器模块可以用于实现机器视觉应用...</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://devpress.csdn.net/v1/article/detail/146280454" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.13","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-13-146280454-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"13","strategy":"2~default~BlogCommendFromBaidu~activity","dest":"https://devpress.csdn.net/v1/article/detail/146280454"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://devpress.csdn.net/v1/article/detail/146280454" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.13","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-13-146280454-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"13","strategy":"2~default~BlogCommendFromBaidu~activity","dest":"https://devpress.csdn.net/v1/article/detail/146280454"}' data-report-query='spm=1001.2101.3001.6650.13&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-13-146280454-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-13-146280454-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1"><em>ESP32</em><em>CAM</em><em>-</em>基于Arduino开发一</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/m0_64953766" target="_blank"><span class="blog-title">m0_64953766的博客</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">03-15</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
737
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://devpress.csdn.net/v1/article/detail/146280454" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.13","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-13-146280454-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"13","strategy":"2~default~BlogCommendFromBaidu~activity","dest":"https://devpress.csdn.net/v1/article/detail/146280454"}' data-report-query='spm=1001.2101.3001.6650.13&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-13-146280454-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-13-146280454-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1">复制网址打开点击开始流start stream),可出现窗口)修改注释(用的是<em>ESP32</em> Dev Module这款1.Arduino安装可以不用安装最新版修改对应的<em>摄像头</em>型号(<em>OV</em><em>3660</em>_PID2.<em>3</em>编译上传打开串口调试注意波特率2.<em>ESP32</em><em>CAM</em>开发。修改wifi账户和密码。</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://handsome-man.blog.csdn.net/article/details/146138951" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.14","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-14-146138951-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"14","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://handsome-man.blog.csdn.net/article/details/146138951"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://handsome-man.blog.csdn.net/article/details/146138951" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.14","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-14-146138951-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"14","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://handsome-man.blog.csdn.net/article/details/146138951"}' data-report-query='spm=1001.2101.3001.6650.14&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-146138951-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-146138951-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1">Arduino、<em>ESP32</em>驱动<em>OV</em><em>3660</em><em>摄像头</em>实现yol<em>oV</em>5物体分类<em>摄像头</em>支持红外夜视、边缘<em>AI</em>计算)</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/m0_38106923" target="_blank"><span class="blog-title">不脱发的程序猿</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">03-09</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
1662
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://handsome-man.blog.csdn.net/article/details/146138951" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.14","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-14-146138951-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"14","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://handsome-man.blog.csdn.net/article/details/146138951"}' data-report-query='spm=1001.2101.3001.6650.14&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-146138951-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-146138951-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1"><em>ESP32</em><em>-</em>S<em>3</em> <em>AI</em>智能<em>摄像头</em>模块是一款专为智能家居和物联网应用打造的高性能边缘<em>AI</em>开发模组。它集成了<em>摄像头</em>、麦克风、音频功放、环境光传感器和夜视补光灯,无需依赖云端即可实现本地化<em>AI</em>推理。</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://yifeng.blog.csdn.net/article/details/148295784" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.15","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-15-148295784-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"15","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://yifeng.blog.csdn.net/article/details/148295784"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://yifeng.blog.csdn.net/article/details/148295784" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.15","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-15-148295784-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"15","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://yifeng.blog.csdn.net/article/details/148295784"}' data-report-query='spm=1001.2101.3001.6650.15&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-148295784-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-148295784-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1"><em>esp32</em><em>cam</em>视频流APP实时显示(app inventor)</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/weixin_38807927" target="_blank"><span class="blog-title"></span></a>
</div>
<div class="info display-flex">
<span class="info-block time">05-29</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
1197
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://yifeng.blog.csdn.net/article/details/148295784" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.15","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-15-148295784-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"15","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://yifeng.blog.csdn.net/article/details/148295784"}' data-report-query='spm=1001.2101.3001.6650.15&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-148295784-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-148295784-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1">若该文为原创文章转载请注明原文出处。想做实时监控通过APP实时查看实现类似小车监控功能。采用的是<em>ESP32</em> <em>Cam</em>板子,</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://phmatthaus.blog.csdn.net/article/details/143828537" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.16","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-16-143828537-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"16","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://phmatthaus.blog.csdn.net/article/details/143828537"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://phmatthaus.blog.csdn.net/article/details/143828537" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.16","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-16-143828537-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"16","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://phmatthaus.blog.csdn.net/article/details/143828537"}' data-report-query='spm=1001.2101.3001.6650.16&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-143828537-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-143828537-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1"><em>ESP32</em><em>-</em>S<em>3</em>模组上跑通<em>esp32</em><em>-</em><em>cam</em>era25</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/phmatthaus" target="_blank"><span class="blog-title">phmatthaus的专栏</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">11-22</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
777
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://phmatthaus.blog.csdn.net/article/details/143828537" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.16","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-16-143828537-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"16","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://phmatthaus.blog.csdn.net/article/details/143828537"}' data-report-query='spm=1001.2101.3001.6650.16&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-143828537-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-143828537-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1"><em>ESP32</em><em>-</em>S<em>3</em>模组上跑通<em>esp32</em><em>-</em><em>cam</em>era25</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/qq_56338777/article/details/157652308" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.17","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-157652308-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"17","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_56338777/article/details/157652308"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://blog.csdn.net/qq_56338777/article/details/157652308" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.17","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-157652308-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"17","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_56338777/article/details/157652308"}' data-report-query='spm=1001.2101.3001.6650.17&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-157652308-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-157652308-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1">玩转 <em>ESP32</em>S<em>3</em><em>-</em><em>CAM</em>PlatformIO 配置 PSRAM 并实现<em>摄像头</em>图像采集</div>
<div class="tag">最新发布</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/qq_56338777" target="_blank"><span class="blog-title">qq_56338777的博客</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">02-02</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
1162
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://blog.csdn.net/qq_56338777/article/details/157652308" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.17","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-157652308-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"17","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/qq_56338777/article/details/157652308"}' data-report-query='spm=1001.2101.3001.6650.17&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-157652308-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-157652308-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1">摘要本文详细介绍了如何在PlatformIO中配置<em>ESP32</em>S<em>3</em><em>-</em><em>CAM</em>开发板的PSRAM和<em>摄像头</em>功能。首先通过platformio.ini文件进行硬件适配重点设置PSRAM类型为OPI<em></em>并启用BOARD_HAS_PSRAM编译宏。然后提供完整的测试代码实现PSRAM检测、<em>摄像头</em>初始化640&times;480 JPEG格式和内存监控功能确保8MB PSRAM能有效支持图像采集。配置要点包括正确设置引脚定义、帧缓冲区存储位置和分区表选择<em>ESP32</em>S<em>3</em><em>-</em><em>CAM</em>的图像处理应用提供完整解决方案。</div>
</a>
</div>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/gitblog_00876/article/details/141007033" data-report-view='{"ab":"new","spm":"1001.2101.3001.6650.18","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-18-141007033-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"18","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/gitblog_00876/article/details/141007033"}'>
<div class="content-box">
<div class="content-blog display-flex">
<div class="title-box">
<a href="https://blog.csdn.net/gitblog_00876/article/details/141007033" class="tit" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.18","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-18-141007033-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"18","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/gitblog_00876/article/details/141007033"}' data-report-query='spm=1001.2101.3001.6650.18&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-18-141007033-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-18-141007033-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="left ellipsis-online ellipsis-online-1">【亲测免费】 推荐一款强大的<em>ESP32</em><em>摄像头</em>驱动:<em>ESP32</em><em>-</em><em>Cam</em>era</div>
</a>
</div>
<div class="info-box display-flex">
<div class="info">
<a href="https://blog.csdn.net/gitblog_00876" target="_blank"><span class="blog-title">gitblog_00876的博客</span></a>
</div>
<div class="info display-flex">
<span class="info-block time">08-08</span>
<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
1570
</span>
</div>
</div>
</div>
<div class="desc-box">
<a href="https://blog.csdn.net/gitblog_00876/article/details/141007033" target="_blank" data-report-click='{"ab":"new","spm":"1001.2101.3001.6650.18","mod":"popu_387","extra":"{\"highlightScore\":0.0,\"utm_medium\":\"distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-18-141007033-blog-159055035.235^v43^pc_blog_bottom_relevance_base4\",\"dist_request_id\":\"1776821883563_35996\"}","dist_request_id":"1776821883563_35996","ab_strategy":"landing_bge_commercial_hanlp_download_sign","index":"18","strategy":"2~default~BlogCommendFromBaidu~Rate","dest":"https://blog.csdn.net/gitblog_00876/article/details/141007033"}' data-report-query='spm=1001.2101.3001.6650.18&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-18-141007033-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-18-141007033-blog-159055035.235%5Ev43%5Epc_blog_bottom_relevance_base4'>
<div class="desc ellipsis-online ellipsis-online-1">在物联网和嵌入式系统领域中,<em>ESP32</em>芯片以其高性价比和丰富的功能受到广泛青睐。今天,我要向大家强烈推荐的是**<em>ESP32</em><em>-</em><em>Cam</em>era**一个由Espressif官方开发的<em>ESP32</em>系列SoC兼容图像传感器驱动库。
## 项目介绍
<em>ESP32</em><em>-</em><em>Cam</em>era旨在为广泛的图像传感器提供支持并集成了一系列工具帮助开发者将捕获的数据转换成常见的BMP和JPEG格式使图像处理更加便捷。它不仅覆盖...</div>
</a>
</div>
</div>
</div>
</div>
<div class="blog-footer-bottom" style="margin-top:10px;"></div>
<script src="https://g.csdnimg.cn/common/csdn-footer/csdn-footer.js" data-isfootertrack="false" type="text/javascript"></script>
<script type="text/javascript">
window.csdn.csdnFooter.options = {
el: '.blog-footer-bottom',
type: 2
}
</script> </main>
<aside class="blog_container_aside ">
<div id="asideProfile" class="aside-box active">
<div class="profile-intro d-flex">
<div class="avatar-box d-flex justify-content-center flex-column">
<a href="https://blog.csdn.net/Diaoliangwang" target="_blank" data-report-click='{"mod":"popu_379","spm":"3001.4121","dest":"https://blog.csdn.net/Diaoliangwang","ab":"new"}'>
<img src="https://profile-avatar.csdnimg.cn/96438752e7564a3e955b453e0f4b9e22_diaoliangwang.jpg!1" class="avatar_pic">
</a>
</div>
<div class="user-info d-flex flex-column profile-intro-name-box">
<div class="profile-intro-name-boxTop">
<a href="https://blog.csdn.net/Diaoliangwang" target="_blank" class="" id="uid" title="爱上珍珠的贝壳" data-report-click='{"mod":"popu_379","spm":"3001.4122","dest":"https://blog.csdn.net/Diaoliangwang","ab":"new"}'>
<span class="name" username="Diaoliangwang">爱上珍珠的贝壳</span>
</a>
</div>
<div class="profile-intro-name-boxFooter-new">
<p class="profile-intro-name-leve">
<span>
博客等级
</span>
<img class="level" src="https://csdnimg.cn/identity/blog4.png">
</p>
<span class="profile-intro-name-years" title="已加入 CSDN 17年">码龄17年</span>
</div>
</div>
</div>
<div class="profile-intro-rank-information">
<dl>
<a href="https://blog.csdn.net/Diaoliangwang" data-report-click='{"mod":"1598321000_001","spm":"3001.4310"}' data-report-query="t=1">
<dd><span >44</span></dd>
<dt>原创</dt>
</a>
</dl>
<dl title="69">
<dd>69</dd>
<dt>点赞</dt>
</dl>
<dl title="109">
<dd>109</dd>
<dt>收藏</dt>
</dl>
<dl id="fanBox" title="30">
<dd><span id="fan">30</span></dd>
<dt>粉丝</dt>
</dl>
</div>
<div class="profile-intro-name-boxOpration">
<div class="opt-letter-watch-box">
<a class="personal-watch bt-button" id="btnAttent" >关注</a>
</div>
<div class="opt-letter-watch-box">
<a rel="nofollow" class="bt-button personal-letter" href="https://im.csdn.net/chat/Diaoliangwang" target="_blank" rel="noopener">私信</a>
</div>
</div>
</div>
<div class="swiper-remuneration-container" id="swiper-remuneration-container">
<div class="swiper-wrapper">
<!-- 这里可以添加多个Swiper幻灯片 -->
<div class="swiper-slide">
<a data-report-click='{"spm":"3001.9728","extra":{"index":"0"}}' data-report-swiper='{"spm":"3001.9728","extra":{"index":"0"}}' href="https://mp.csdn.net/vip?utm_source=902253762" target="_blank">
<img src="https://i-operation.csdnimg.cn/images/553f4616dcf04c6681b8b31a614d5cbe.png" alt="">
</a>
</div>
<div class="swiper-slide">
<a data-report-click='{"spm":"3001.9728","extra":{"index":"1"}}' data-report-swiper='{"spm":"3001.9728","extra":{"index":"1"}}' href="https://blog.csdn.net/blogdevteam/article/details/159927751?utm_source=1160366079" target="_blank">
<img src="https://i-operation.csdnimg.cn/images/b9a16c5abef246139d3e473e5efb8b61.png" alt="">
</a>
</div>
</div>
<div class="swiper-remuneration-pagination"></div>
<!-- 如果需要导航按钮 -->
<div class="swiper-remuneration-button-prev"></div>
<div class="swiper-remuneration-button-next"></div>
</div>
<div id="asideHotArticle" class="aside-box">
<h3 class="aside-title">热门文章</h3>
<div class="aside-content">
<ul class="hotArticle-list">
<li>
<a href="https://blog.csdn.net/Diaoliangwang/article/details/81836997" target="_blank" data-report-click='{"mod":"popu_541","spm":"3001.4139","dest":"https://blog.csdn.net/Diaoliangwang/article/details/81836997","ab":"new"}'>
uiautomatorviewer.bat各种报错的另类解决办法
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
<span class="read">17007</span>
</a>
</li>
<li>
<a href="https://blog.csdn.net/Diaoliangwang/article/details/27072015" target="_blank" data-report-click='{"mod":"popu_541","spm":"3001.4139","dest":"https://blog.csdn.net/Diaoliangwang/article/details/27072015","ab":"new"}'>
android远程控制----通过后台服务实现系统点击事件模拟
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
<span class="read">8340</span>
</a>
</li>
<li>
<a href="https://blog.csdn.net/Diaoliangwang/article/details/26976581" target="_blank" data-report-click='{"mod":"popu_541","spm":"3001.4139","dest":"https://blog.csdn.net/Diaoliangwang/article/details/26976581","ab":"new"}'>
android远程控制---从PC端写数据到android系统驱动让android系统
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
<span class="read">5176</span>
</a>
</li>
<li>
<a href="https://blog.csdn.net/Diaoliangwang/article/details/51920836" target="_blank" data-report-click='{"mod":"popu_541","spm":"3001.4139","dest":"https://blog.csdn.net/Diaoliangwang/article/details/51920836","ab":"new"}'>
基于Opencv的Android图像处理Eclipse和ndk
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
<span class="read">4802</span>
</a>
</li>
<li>
<a href="https://blog.csdn.net/Diaoliangwang/article/details/18039153" target="_blank" data-report-click='{"mod":"popu_541","spm":"3001.4139","dest":"https://blog.csdn.net/Diaoliangwang/article/details/18039153","ab":"new"}'>
java用加号切割字符串出现的问题
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
<span class="read">4575</span>
</a>
</li>
</ul>
</div>
</div>
<div id="asideCategory" class="aside-box aside-box-column flexible-box-new">
<h3 class="aside-title">分类专栏</h3>
<div class="aside-content" id="aside-content">
<ul>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_1351988.html" data-report-click='{"mod":"popu_537","spm":"3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_1351988.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="title oneline">
ASP.Net开发
</span>
</a>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_1351989.html" data-report-click='{"mod":"popu_537","spm":"3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_1351989.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="title oneline">
asp.net
</span>
</a>
<span class="special-column-num">1篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_1351990.html" data-report-click='{"mod":"popu_537","spm":"3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_1351990.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="title oneline">
web前端
</span>
</a>
<span class="special-column-num">2篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_1848413.html" data-report-click='{"mod":"popu_537","spm":"3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_1848413.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="title oneline">
java
</span>
</a>
<span class="special-column-num">18篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_1917877.html" data-report-click='{"mod":"popu_537","spm":"3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_1917877.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="title oneline">
IOS
</span>
</a>
<span class="special-column-num">5篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_2150965.html" data-report-click='{"mod":"popu_537","spm":"3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_2150965.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="title oneline">
项目管理
</span>
</a>
<span class="special-column-num">1篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_2180339.html" data-report-click='{"mod":"popu_537","spm":"3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_2180339.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="title oneline">
Android
</span>
</a>
<span class="special-column-num">17篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_2194457.html" data-report-click='{"mod":"popu_537","spm":"3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_2194457.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="title oneline">
数据库sqlite
</span>
</a>
<span class="special-column-num">1篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_2535337.html" data-report-click='{"mod":"popu_537","spm":"3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_2535337.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="title oneline">
面试
</span>
</a>
<span class="special-column-num">1篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_6009731.html" data-report-click='{"mod":"popu_537","spm":"3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_6009731.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="title oneline">
Ubuntu
</span>
</a>
<span class="special-column-num">1篇</span>
</li>
</ul>
</div>
<p class="text-center">
<a class="flexible-btn-new" data-report-click='{"spm":"3001.10779","strategy":"展开全部"}' data-maxheight="0" data-minheight="208px" data-fbox="#aside-content" data-flag="flag"><span class="text">展开全部</span> <img class="look-more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/arrowup-line-bot-White.png" alt=""></a>
<a class="flexible-btn-new-close" data-report-click='{"spm":"3001.10779","strategy":"收起"}' data-minheight="208px" data-fbox="#aside-content" data-scroll="true" data-flag="flag"><span class="text">收起</span> <img class="look-more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/arrowup-line-top-White.png" alt=""></a>
</p>
</div>
<div class="article-previous" id="article-previous">
<dl data-report-click='{"spm":"3001.10752","extend1":"上一篇"}' data-report-view='{"spm":"3001.10752","extend1":"上一篇"}'>
<dt>
上一篇:
</dt>
<dd>
<a href="https://blog.csdn.net/Diaoliangwang/article/details/159049218" data-report-query="spm=3001.10752">
ESP32-S3-CAM接MAX98357A+喇叭播放音频
</a>
</dd>
</dl>
<dl class="next" data-report-click='{"spm":"3001.10796","extend1":"下一篇"}' data-report-view='{"spm":"3001.10796","extend1":"下一篇"}'>
<dt>
下一篇:
</dt>
<dd >
<a href="https://blog.csdn.net/Diaoliangwang/article/details/159078301" data-report-query="spm=3001.10796">
ESP32-S3-CAM认识引脚
</a>
</dd>
</dl>
</div>
<div id="asideHotArticle" class="aside-box">
<h3 class="aside-title">大家在看</h3>
<div class="aside-content">
<ul class="hotArticle-list">
<li>
<a href="https://blog.csdn.net/bjxlykj/article/details/160392974" target="_blank" data-report-click='{"spm":"3001.10093","dest":"https://blog.csdn.net/bjxlykj/article/details/160392974","strategy":"202_1052723-4059079_RCMD","ab":"new"}' data-report-view='{"spm":"3001.10093","dest":"https://blog.csdn.net/bjxlykj/article/details/160392974","strategy":"202_1052723-4059079_RCMD","ab":"new"}'>
维谛ER22020/T整流模块用户手册
</a>
</li>
<li>
<a href="https://blog.csdn.net/2603_95554134/article/details/160392317" target="_blank" data-report-click='{"spm":"3001.10093","dest":"https://blog.csdn.net/2603_95554134/article/details/160392317","strategy":"202_1052723-4059009_RCMD","ab":"new"}' data-report-view='{"spm":"3001.10093","dest":"https://blog.csdn.net/2603_95554134/article/details/160392317","strategy":"202_1052723-4059009_RCMD","ab":"new"}'>
KH-5224-8P8C RJ45 插座,工业级网络连接更稳更强
</a>
</li>
<li>
<a href="https://blog.csdn.net/sinat_40826162/article/details/160316539" target="_blank" data-report-click='{"spm":"3001.10093","dest":"https://blog.csdn.net/sinat_40826162/article/details/160316539","strategy":"202_1052723-4059037_RCMD","ab":"new"}' data-report-view='{"spm":"3001.10093","dest":"https://blog.csdn.net/sinat_40826162/article/details/160316539","strategy":"202_1052723-4059037_RCMD","ab":"new"}'>
如何选择Embedding模型
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
<span class="read">389</span>
</a>
</li>
<li>
<a href="https://blog.csdn.net/famous_pengfei/article/details/160392648" target="_blank" data-report-click='{"spm":"3001.10093","dest":"https://blog.csdn.net/famous_pengfei/article/details/160392648","strategy":"202_1052723-4059018_RCMD","ab":"new"}' data-report-view='{"spm":"3001.10093","dest":"https://blog.csdn.net/famous_pengfei/article/details/160392648","strategy":"202_1052723-4059018_RCMD","ab":"new"}'>
Win11 系统卡顿 / 异常救星!联想官方重置教程,安全恢复新机状态
</a>
</li>
<li>
<a href="https://blog.csdn.net/bjxlykj/article/details/160275078" target="_blank" data-report-click='{"spm":"3001.10093","dest":"https://blog.csdn.net/bjxlykj/article/details/160275078","strategy":"202_1052723-4059014_RCMD","ab":"new"}' data-report-view='{"spm":"3001.10093","dest":"https://blog.csdn.net/bjxlykj/article/details/160275078","strategy":"202_1052723-4059014_RCMD","ab":"new"}'>
维谛EMU10触摸屏监控模块用户手册
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
<span class="read">80</span>
</a>
</li>
</ul>
</div>
</div>
<div id="asideArchive" class="aside-box" style="display:block!important; width:300px;">
<h3 class="aside-title">最新文章</h3>
<div class="aside-content">
<ul class="inf_list clearfix">
<li class="clearfix">
<a href="https://blog.csdn.net/Diaoliangwang/article/details/160090415" target="_blank" data-report-click='{"mod":"popu_382","spm":"3001.4136","dest":"https://blog.csdn.net/Diaoliangwang/article/details/160090415","ab":"left"}' data-report-view='{"mod":"popu_382","spm":"3001.4136","dest":"https://blog.csdn.net/Diaoliangwang/article/details/160090415","ab":"left"}'>ESP32-S3-CAM豆包语音识别文字后控制小车终章——语音控制+L298N模块驱动小车</a>
</li>
<li class="clearfix">
<a href="https://blog.csdn.net/Diaoliangwang/article/details/160090403" target="_blank" data-report-click='{"mod":"popu_382","spm":"3001.4136","dest":"https://blog.csdn.net/Diaoliangwang/article/details/160090403","ab":"left"}' data-report-view='{"mod":"popu_382","spm":"3001.4136","dest":"https://blog.csdn.net/Diaoliangwang/article/details/160090403","ab":"left"}'>ESP32-S3-CAM豆包语音识别文字后控制小车——认识L298N驱动模块</a>
</li>
<li class="clearfix">
<a href="https://blog.csdn.net/Diaoliangwang/article/details/160088967" target="_blank" data-report-click='{"mod":"popu_382","spm":"3001.4136","dest":"https://blog.csdn.net/Diaoliangwang/article/details/160088967","ab":"left"}' data-report-view='{"mod":"popu_382","spm":"3001.4136","dest":"https://blog.csdn.net/Diaoliangwang/article/details/160088967","ab":"left"}'>ESP32-S3-CAM豆包语音识别文字后控制小车——增加mic拾音后通过豆包语音识别后转文字输出</a>
</li>
</ul>
<div class="archive-bar"></div>
<div class="archive-box">
<div class="archive-list-item"><a href="https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2026&amp;month=04" target="_blank" data-report-click='{"mod":"popu_538","spm":"3001.4138","ab":"new","dest":"https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2026&amp;month=04"}'><span class="year">2026年</span><span class="num">13篇</span></a></div>
<div class="archive-list-item"><a href="https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2018&amp;month=11" target="_blank" data-report-click='{"mod":"popu_538","spm":"3001.4138","ab":"new","dest":"https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2018&amp;month=11"}'><span class="year">2018年</span><span class="num">2篇</span></a></div>
<div class="archive-list-item"><a href="https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2016&amp;month=07" target="_blank" data-report-click='{"mod":"popu_538","spm":"3001.4138","ab":"new","dest":"https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2016&amp;month=07"}'><span class="year">2016年</span><span class="num">1篇</span></a></div>
<div class="archive-list-item"><a href="https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2015&amp;month=10" target="_blank" data-report-click='{"mod":"popu_538","spm":"3001.4138","ab":"new","dest":"https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2015&amp;month=10"}'><span class="year">2015年</span><span class="num">4篇</span></a></div>
<div class="archive-list-item"><a href="https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2014&amp;month=11" target="_blank" data-report-click='{"mod":"popu_538","spm":"3001.4138","ab":"new","dest":"https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2014&amp;month=11"}'><span class="year">2014年</span><span class="num">30篇</span></a></div>
<div class="archive-list-item"><a href="https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2013&amp;month=02" target="_blank" data-report-click='{"mod":"popu_538","spm":"3001.4138","ab":"new","dest":"https://blog.csdn.net/Diaoliangwang?type=blog&amp;year=2013&amp;month=02"}'><span class="year">2013年</span><span class="num">1篇</span></a></div>
</div>
</div>
</div>
<div class="starmap-box box3 aside-box" data-spm='3001.11253' data-id='img695a865957d48a6e87b5578c' data-utm-source='side' data-report-view='{"spm":"3001.11253","extra":{"openMirrorId":"img695a865957d48a6e87b5578c"}}' data-report-click='{"spm":"3001.11253","extra":{"openMirrorId":"img695a865957d48a6e87b5578c"}}'>
<div class="mark-info">
<i class="icon-star"></i>官方同款运行环境
</div>
<div class="info-box">
<p class="title">CAM++一个可以将说话人语音识别的系统 构建by科哥</p>
<p class="desc" title="CAM++一个可以将说话人语音识别的系统 构建by科哥">CAM++一个可以将说话人语音识别的系统 构建by科哥</p>
<div class="tag-box">
<div class="tag-item">AI应用</div>
<div class="tag-item">语音识别</div>
<div class="tag-item">PyTorch</div>
<div class="tag-item">Cuda</div>
<div class="tag-item">Conda</div>
<div class="tag-item">Python</div>
</div>
</div>
<div class="attr-box">
<div class="attr-item">
<label>
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/starmap/icon-gpu.png" alt="显存大小">显存大小
</label>
<p>24GB</p>
</div>
<div class="attr-item">
<label>
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/starmap/icon-cpu.png" alt="CPU">CPU
</label>
<p>10核心</p>
</div>
<div class="attr-item">
<label>
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/starmap/icon-memery.png" alt="内存">内存
</label>
<p>120GB</p>
</div>
<div class="attr-item">
<label>
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/starmap/icon-system.png" alt="系统盘/数据盘">系统盘/数据盘
</label>
<p>40GB</p>
</div>
</div>
<div class="operate-box">
<button class="btn-go-deploy">一键部署</button>
</div>
<p class="notice">无需本地环境部署,可直接运行</p>
</div>
<!-- 详情页显示目录 -->
<div class="aside-box cknows-side-card js-aside-cknows">
<div class="cknows-side-header">
<div class="cknows-side-header-row">
<div class="cknows-side-logo-wrap">
<img class="cknows-side-logo" src="https://csdnimg.cn/release/blogv2/dist/pc/img/c-blog-slidelogo-White.png" alt="C知道">
</div>
<p class="cknows-side-brand">· AI 阅读助手</p>
</div>
</div>
<div class="swiper cknows-side-swiper">
<div class="swiper-wrapper cknows-swiper-wrapper"></div>
<div class="cknows-side-pagination swiper-pagination"></div>
</div>
</div>
<!--文章目录-->
<div id="asidedirectory" class="aside-box">
<div class='groupfile groupfile-active' id="directory">
<h3 class="aside-title">目录</h3>
<div class="align-items-stretch group_item" id="align-items-stretch">
<div class="pos-box">
<div class="scroll-box">
<div class="toc-box"></div>
</div>
</div>
</div>
<p class="flexible-btn-new active" id="flexible-btn-groupfile" data-report-click='{"spm":"3001.10780","strategy":"展开全部"}' data-minheight="117px" data-maxheight="446px" data-fbox="#align-items-stretch"><span class="text">展开全部</span> <img class="look-more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/arrowup-line-bot-White.png" alt=""></p>
<p class="flexible-btn-new-close active" data-report-click='{"spm":"3001.10780","strategy":"收起"}' data-minheight="117px" data-maxheight="446px" data-fbox="#align-items-stretch"><span class="text">收起</span> <img class="look-more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/arrowup-line-top-White.png" alt=""></p>
</div>
</div>
<div class="gitcode-qc-left-box aside-box" data-report-click='{"spm":"3001.11256", "extra":"{\"position\":\"left\"}"}'></div>
</aside>
<script>
$("a.flexible-btn").click(function(){
$(this).parents('div.aside-box').removeClass('flexible-box');
$(this).parents("p.text-center").remove();
})
</script>
<script type="text/javascript" src="https://g.csdnimg.cn/user-tooltip/2.7/user-tooltip.js"></script>
<script type="text/javascript" src="https://g.csdnimg.cn/user-medal/2.0.0/user-medal.js"></script>
</div>
<div class="recommend-right align-items-stretch clearfix" id="rightAside" data-type="recommend">
<aside class="recommend-right_aside">
<div class="rightside-fixed-hide">
<div class="starmap-box box3 aside-box" data-spm='3001.11253' data-id='img695a865957d48a6e87b5578c' data-utm-source='side' data-report-view='{"spm":"3001.11253","extra":{"openMirrorId":"img695a865957d48a6e87b5578c"}}' data-report-click='{"spm":"3001.11253","extra":{"openMirrorId":"img695a865957d48a6e87b5578c"}}'>
<div class="mark-info">
<i class="icon-star"></i>官方同款运行环境
</div>
<div class="info-box">
<p class="title">CAM++一个可以将说话人语音识别的系统 构建by科哥</p>
<p class="desc" title="CAM++一个可以将说话人语音识别的系统 构建by科哥">CAM++一个可以将说话人语音识别的系统 构建by科哥</p>
<div class="tag-box">
<div class="tag-item">AI应用</div>
<div class="tag-item">语音识别</div>
<div class="tag-item">PyTorch</div>
<div class="tag-item">Cuda</div>
<div class="tag-item">Conda</div>
<div class="tag-item">Python</div>
</div>
</div>
<div class="attr-box">
<div class="attr-item">
<label>
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/starmap/icon-gpu.png" alt="显存大小">显存大小
</label>
<p>24GB</p>
</div>
<div class="attr-item">
<label>
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/starmap/icon-cpu.png" alt="CPU">CPU
</label>
<p>10核心</p>
</div>
<div class="attr-item">
<label>
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/starmap/icon-memery.png" alt="内存">内存
</label>
<p>120GB</p>
</div>
<div class="attr-item">
<label>
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/starmap/icon-system.png" alt="系统盘/数据盘">系统盘/数据盘
</label>
<p>40GB</p>
</div>
</div>
<div class="operate-box">
<button class="btn-go-deploy">一键部署</button>
</div>
<p class="notice">无需本地环境部署,可直接运行</p>
</div>
</div>
<div id="recommend-right" >
<div class="aside-box cknows-side-card js-aside-cknows">
<div class="cknows-side-header">
<div class="cknows-side-header-row">
<div class="cknows-side-logo-wrap">
<img class="cknows-side-logo" src="https://csdnimg.cn/release/blogv2/dist/pc/img/c-blog-slidelogo-White.png" alt="C知道">
</div>
<p class="cknows-side-brand">· AI 阅读助手</p>
</div>
</div>
<div class="swiper cknows-side-swiper">
<div class="swiper-wrapper cknows-swiper-wrapper"></div>
<div class="cknows-side-pagination swiper-pagination"></div>
</div>
</div>
<div class='flex-column aside-box groupfile groupfile-active ' id="groupfile">
<div class="groupfile-div">
<h3 class="aside-title">目录</h3>
<div class="align-items-stretch group_item" id="align-items-stretch-right">
<div class="pos-box">
<div class="scroll-box">
<div class="toc-box"></div>
</div>
</div>
</div>
<p class="flexible-btn-new" id="flexible-btn-groupfile" data-report-click='{"spm":"3001.10782","strategy":"展开全部"}' data-traigger="true" data-minheight="117px" data-maxheight="446px" data-fbox="#align-items-stretch-right"><span class="text">展开全部</span> <img class="look-more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/arrowup-line-bot-White.png" alt=""></p>
<p class="flexible-btn-new-close close" data-report-click='{"spm":"3001.10782","strategy":"收起"}' data-traigger="true" data-minheight="117px" data-maxheight="446px" data-fbox="#align-items-stretch-right"><span class="text">收起</span> <img class="look-more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/arrowup-line-top-White.png" alt=""></p>
</div>
</div>
<div class="gitcode-qc-right-box aside-box" data-report-click='{"spm":"3001.11256", "extra":"{\"position\":\"right\"}"}'></div>
<div id="recommendAdBox">
<div id="kp_box_479" data-pid="479"><div class="wwads-cn wwads-vertical" data-id="149" style="max-width:300px;margin-top:0;margin-bottom:10px;background-color: #fff;"></div>
<style>.wwads-img img {width: 150px; margin-top:10px}</style>
<script type="text/javascript" charset="UTF-8" src="https://cdn.wwads.cn/js/makemoney.js" async></script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=479&adId=1071044&adBlockFlag=0&a=1071044&c=0&k=ESP32-S3-CAM接ov3660摄像头&spm=1001.2101.3001.4834&articleId=159055035&d=1&t=3&u=d96e823cc5ce4dedb94f66c609e634c9" style="display: block;width: 0px;height: 0px;"></div>
</div>
<div class="article-previous" id="article">
<dl data-report-click='{"spm":"3001.10752","extend1":"上一篇"}' data-report-view='{"spm":"3001.10752","extend1":"上一篇"}'>
<dt>
上一篇:
</dt>
<dd>
<a href="https://blog.csdn.net/Diaoliangwang/article/details/159049218" data-report-query="spm=3001.10752">
ESP32-S3-CAM接MAX98357A+喇叭播放音频
</a>
</dd>
</dl>
<dl class="next" data-report-click='{"spm":"3001.10796","extend1":"下一篇"}' data-report-view='{"spm":"3001.10796","extend1":"下一篇"}'>
<dt>
下一篇:
</dt>
<dd >
<a href="https://blog.csdn.net/Diaoliangwang/article/details/159078301" data-report-query="spm=3001.10796">
ESP32-S3-CAM认识引脚
</a>
</dd>
</dl>
</div>
<div class='aside-box kind_person d-flex flex-column flexible-box-new' >
<h3 class="aside-title">分类专栏</h3>
<div class="align-items-stretch kindof_item" id="kind_person_column">
<div class="aside-content" id="aside-content-column">
<ul>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_1351988.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_1351988.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="">
ASP.Net开发
</span>
</a>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_1351989.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_1351989.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="">
asp.net
</span>
</a>
<span class="special-column-num">1篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_1351990.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_1351990.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="">
web前端
</span>
</a>
<span class="special-column-num">2篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_1848413.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_1848413.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="">
java
</span>
</a>
<span class="special-column-num">18篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_1917877.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_1917877.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="">
IOS
</span>
</a>
<span class="special-column-num">5篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_2150965.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_2150965.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="">
项目管理
</span>
</a>
<span class="special-column-num">1篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_2180339.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_2180339.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="">
Android
</span>
</a>
<span class="special-column-num">17篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_2194457.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_2194457.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="">
数据库sqlite
</span>
</a>
<span class="special-column-num">1篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_2535337.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_2535337.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="">
面试
</span>
</a>
<span class="special-column-num">1篇</span>
</li>
<li>
<a class="clearfix special-column-name" href="https://blog.csdn.net/diaoliangwang/category_6009731.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/diaoliangwang/category_6009731.html","ab":"new"}'>
<div class="special-column-bar "></div>
<img src="https://i-blog.csdnimg.cn/columns/default/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
<span class="">
Ubuntu
</span>
</a>
<span class="special-column-num">1篇</span>
</li>
</ul>
</div>
<p class="text-center">
<a class="flexible-btn-new" data-report-click='{"spm":"3001.10783","strategy":"展开全部"}' data-traigger="true" data-maxheight="0" data-minheight="208px" data-fbox="#aside-content-column" data-flag="flag"><span class="text">展开全部</span> <img class="look-more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/arrowup-line-bot-White.png" alt=""></a>
<a class="flexible-btn-new-close" data-report-click='{"spm":"3001.10783","strategy":"收起"}'data-traigger="true" data-minheight="208px" data-fbox="#aside-content-column" data-scroll="true" data-flag="flag"><span class="text">收起</span> <img class="look-more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/arrowup-line-top-White.png" alt=""></a>
</p>
</div>
</div>
</div>
</aside>
</div>
<div class="recommend-right1 align-items-stretch clearfix" id="rightAsideConcision" data-type="recommend">
<aside class="recommend-right_aside">
<div id="recommend-right-concision" >
<div class='flex-column aside-box groupfile' id="groupfileConcision">
<div class="groupfile-div1">
<h3 class="aside-title">目录</h3>
<div class="align-items-stretch group_item">
<div class="pos-box">
<div class="scroll-box">
<div class="toc-box"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</aside>
</div>
</div>
<div class="mask-dark"></div>
<div class="skin-boxshadow"></div>
<div class="directory-boxshadow"></div>
<div class="comment-side-box-shadow comment-side-tit-close" id="commentSideBoxshadow">
<div class="comment-side-content">
<div class="comment-side-tit">
<span class="comment-side-tit-count">评论</span>
<img class="comment-side-tit-close" src="https://csdnimg.cn/release/blogv2/dist/pc/img/closeBt.png"></div>
<div id="pcCommentSideBox" class="comment-box comment-box-new2 " style="display:block">
<div class="comment-edit-box d-flex">
<div class="user-img">
<a href="https://blog.csdn.net/weixin_40298538" target="_blank">
<img src="https://profile-avatar.csdnimg.cn/default.jpg!1">
</a>
</div>
<form id="commentform">
<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="欢迎高质量的评论,低质的评论会被折叠" maxlength="1000"></textarea>
<div class="comment-reward-box" style="background-image: url('https://img-home.csdnimg.cn/images/20230131025301.png');">
<a class="btn-remove-reward"></a>
<div class="form-reward-box">
<div class="info">
成就一亿技术人!
</div>
<div class="price-info">
拼手气红包<span class="price">6.0元</span>
</div>
</div>
</div>
<div class="comment-operate-box">
<div class="comment-operate-l">
<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
</div>
<div class="comment-operate-c">
&nbsp;
</div>
<div class="comment-operate-r">
<div class="comment-operate-item comment-reward">
<img class="comment-operate-img" data-url="https://csdnimg.cn/release/blogv2/dist/pc/img/" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentReward.png" alt="红包">
<span class="comment-operate-tip">添加红包</span>
</div>
<div class="comment-operate-item comment-emoticon">
<img class="comment-operate-img" data-url="https://csdnimg.cn/release/blogv2/dist/pc/img/" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentEmotionIcon.png" alt="表情包">
<span class="comment-operate-tip">插入表情</span>
<div class="comment-emoticon-box comment-operate-isshow">
<div class="comment-emoticon-img-box"></div>
</div>
</div>
<div class="comment-operate-item comment-code">
<img class="comment-operate-img" data-url="https://csdnimg.cn/release/blogv2/dist/pc/img/" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentCodeIcon.png" alt="表情包">
<span class="comment-operate-tip">代码片</span>
<div class="comment-code-box comment-operate-isshow">
<ul id="commentCode">
<li><a data-code="html">HTML/XML</a></li>
<li><a data-code="objc">objective-c</a></li>
<li><a data-code="ruby">Ruby</a></li>
<li><a data-code="php">PHP</a></li>
<li><a data-code="csharp">C</a></li>
<li><a data-code="cpp">C++</a></li>
<li><a data-code="javascript">JavaScript</a></li>
<li><a data-code="python">Python</a></li>
<li><a data-code="java">Java</a></li>
<li><a data-code="css">CSS</a></li>
<li><a data-code="sql">SQL</a></li>
<li><a data-code="plain">其它</a></li>
</ul>
</div>
</div>
<div class="comment-operate-item">
<input type="hidden" id="comment_replyId" name="comment_replyId">
<input type="hidden" id="article_id" name="article_id" value="159055035">
<input type="hidden" id="comment_userId" name="comment_userId" value="">
<input type="hidden" id="commentId" name="commentId" value="">
<a data-report-click='{"mod":"1582594662_003","spm":"1001.2101.3001.4227","ab":"new"}'>
<input type="submit" class="btn-comment btn-comment-input" value="评论">
</a>
</div>
</div>
</div>
</form>
</div>
<div class="comment-list-container">
<div class="comment-list-box comment-operate-item">
</div>
<div id="lookFlodComment" class="look-flod-comment">
<span class="count"></span>&nbsp;条评论被折叠&nbsp;<a class="look-more-flodcomment">查看</a>
</div>
<div class="opt-box text-center">
<div class="btn btn-sm btn-link-blue" id="btnMoreComment"></div>
</div>
</div>
</div>
<div id="pcFlodCommentSideBox" class="pc-flodcomment-sidebox">
<div class="comment-fold-tit"><span id="lookUnFlodComment" class="back"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentArrowLeftWhite.png" alt=""></span>被折叠的&nbsp;<span class="count"></span>&nbsp;条评论
<a href="https://blogdev.blog.csdn.net/article/details/122245662" class="tip" target="_blank">为什么被折叠?</a>
<a href="https://bbs.csdn.net/forums/FreeZone" class="park" target="_blank">
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/iconPark.png">到【灌水乐园】发言</a>
</div>
<div class="comment-fold-content"></div>
<div id="lookBadComment" class="look-bad-comment side-look-comment">
<a class="look-more-comment">查看更多评论<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentArrowDownWhite.png" alt=""></a>
</div>
</div>
</div>
<div class="comment-rewarddialog-box">
<div class="form-box">
<div class="title-box">
添加红包
<a class="btn-form-close"></a>
</div>
<form id="commentRewardForm">
<div class="ipt-box">
<label for="txtName">祝福语</label>
<div class="ipt-btn-box">
<input type="text" name="name" id="txtName" autocomplete="off" maxlength="50">
<a class="btn-ipt btn-random"></a>
</div>
<p class="notice">请填写红包祝福语或标题</p>
</div>
<div class="ipt-box">
<label for="txtSendAmount">红包数量</label>
<div class="ipt-txt-box">
<input type="text" name="sendAmount" maxlength="4" id="txtSendAmount" placeholder="请填写红包数量(最小10个)" autocomplete="off">
<span class="after-txt"></span>
</div>
<p class="notice">红包个数最小为10个</p>
</div>
<div class="ipt-box">
<label for="txtMoney">红包总金额</label>
<div class="ipt-txt-box error">
<input type="text" name="money" maxlength="5" id="txtMoney" placeholder="请填写总金额(最低5元)" autocomplete="off">
<span class="after-txt"></span>
</div>
<p class="notice">红包金额最低5元</p>
</div>
<div class="balance-info-box">
<label>余额支付</label>
<div class="balance-info">
当前余额<span class="balance">3.43</span>
<a href="https://i.csdn.net/#/wallet/balance/recharge" class="link-charge" target="_blank">前往充值 ></a>
</div>
</div>
<div class="opt-box">
<div class="pay-info">
需支付:<span class="price">10.00</span>
</div>
<button type="button" class="ml-auto btn-cancel">取消</button>
<button type="button" class="ml8 btn-submit" disabled="true">确定</button>
</div>
</form>
</div>
</div>
<div class="rr-guide-box">
<div class="rr-first-box">
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/guideRedReward02.png" alt="">
<button class="btn-guide-known next">下一步</button>
</div>
<div class="rr-second-box">
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/guideRedReward03.png" alt="">
<button class="btn-guide-known known">知道了</button>
</div>
</div>
</div>
<div class="redEnvolope" id="redEnvolope">
<div class="env-box">
<div class="env-container">
<div class="pre-open" id="preOpen">
<div class="top">
<header>
<img class="clearTpaErr" :src="redpacketAuthor.avatar" alt="" />
<div class="author">成就一亿技术人!</div>
</header>
<div class="bot-icon"></div>
</div>
<footer>
<div class="red-openbtn open-start"></div>
<div class="tip">
领取后你会自动成为博主和红包主的粉丝
<a class="rule" target="_blank">规则</a>
</div>
</footer>
</div>
<div class="opened" id="opened">
<div class="bot-icon">
<header>
<a class="creatorUrl" href="" target="_blank">
<img class="clearTpaErr" src="https://profile-avatar.csdnimg.cn/default.jpg!2" alt="" />
</a>
<div class="author">
<div class="tt">hope_wisdom</div> 发出的红包
</div>
</header>
</div>
<div class="receive-box">
<header></header>
<div class="receive-list">
</div>
</div>
</div>
</div>
<div class="close-btn"></div>
</div>
</div>
<div class="pay-code">
<div class="pay-money">实付<span class="pay-money-span" data-nowprice='' data-oldprice=''></span></div>
<div class="content-blance"><a class="blance-bt" href="javascript:;">使用余额支付</a></div>
<div class="content-code">
<div id="payCode" data-id="">
<div class="renovate">
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/pay-time-out.png">
<span>点击重新获取</span>
</div>
</div>
<div class="pay-style"><span><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/weixin.png"></span><span><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/zhifubao.png"></span><span><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/jingdong.png"></span><span class="text">扫码支付</span></div>
</div>
<div class="bt-close">
<svg t="1567152543821" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10924" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12">
<defs>
<style type="text/css"></style>
</defs>
<path d="M512 438.378667L806.506667 143.893333a52.032 52.032 0 1 1 73.6 73.621334L585.621333 512l294.485334 294.485333a52.074667 52.074667 0 0 1-73.6 73.642667L512 585.621333 217.514667 880.128a52.053333 52.053333 0 1 1-73.621334-73.642667L438.378667 512 143.893333 217.514667a52.053333 52.053333 0 1 1 73.621334-73.621334L512 438.378667z" fill="" p-id="10925"></path>
</svg>
</div>
<div class="pay-balance">
<input type="radio" class="pay-code-radio" data-type="details">
<span class="span">钱包余额</span>
<span class="balance" style="color:#FC5531;font-size:14px;">0</span>
<div class="pay-code-tile">
<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/pay-help.png" alt="">
<div class="pay-code-content">
<div class="span">
<p class="title">抵扣说明:</p>
<p> 1.余额是钱包充值的虚拟货币按照1:1的比例进行支付金额的抵扣。<br> 2.余额无法直接购买下载可以购买VIP、付费专栏及课程。</p>
</div>
</div>
</div>
</div>
<a class="pay-balance-con" href="https://i.csdn.net/#/wallet/balance/recharge" target="_blank"><img src="https://csdnimg.cn/release/blogv2/dist/pc/img/recharge.png" alt=""><span>余额充值</span></a>
</div>
<div style="display:none;">
<img src="" onerror='setTimeout(function(){if(!/(csdn.net|iteye.com|baiducontent.com|googleusercontent.com|360webcache.com|sogoucdn.com|bingj.com|baidu.com)$/.test(window.location.hostname)){window.location.href="\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x73\x64\x6e\x2e\x6e\x65\x74"}},3000);'>
</div>
<div class="keyword-dec-box" id="keywordDecBox"></div>
</body>
<!-- 富文本柱状图 -->
<link rel="stylesheet" href="https://csdnimg.cn/release/blog_editor_html/release1.6.12/ckeditor/plugins/chart/chart.css" />
<script type="text/javascript" src="https://csdnimg.cn/release/blog_editor_html/release1.6.12/ckeditor/plugins/chart/lib/chart.min.js"></script>
<script type="text/javascript" src="https://csdnimg.cn/release/blog_editor_html/release1.6.12/ckeditor/plugins/chart/widget2chart.js"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/components/js/axios-83fa28cedf.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/components/js/pc_wap_highlight-8defd55d6e.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/components/js/pc_wap_common-3c7b273c43.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/components/js/edit_copy_code-43c2d050a0.min.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/lib/cboxEditor/1.1.6/embed-editor.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="https://g.csdnimg.cn/lib/cboxEditor/1.1.6/embed-editor.min.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/blog_editor_html/release1.6.12/ckeditor/plugins/codesnippet/lib/highlight/styles/atom-one-dark.css">
<script src="https://g.csdnimg.cn/user-accusation/1.0.6/user-accusation.js" type="text/javascript"></script>
<script>
// 全局声明
if (window.csdn === undefined) {
window.csdn = {};
}
var sideToolbarOpt = {}
$(function() {
$(document).on('click', "#toolReportBtnHideNormal,#toolReportBtnHide", function() {
window.csdn.loginBox.key({
biz: 'blog',
subBiz: 'other_service',
cb: function() {
window.csdn.feedback({
"type": 'blog',
"rtype": 'article',
"rid": articleId,
"reportedName": username,
"submitOptions": {
"title": articleTitle,
"contentUrl": articleDetailUrl
},
"callback": function() {
showToast({
text: "感谢您的举报,我们会尽快审核!",
bottom: '10%',
zindex: 9000,
speed: 500,
time: 1500
})
}
})
}
})
});
})
window.csdn.sideToolbar = {
options: {
...sideToolbarOpt,
theme: 'white',
}
}
</script>
<script src="https://g.csdnimg.cn/baidu-search/1.0.12/baidu-search.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/download/old_static/js/qrcode.js"></script>
<script src="https://g.csdnimg.cn/lib/qrcode/1.0.0/qrcode.min.js"></script>
<script src="https://g.csdnimg.cn/user-ordercart/3.0.1/user-ordercart.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/user-ordertip/5.0.3/user-ordertip.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/order-payment/4.0.5/order-payment.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/pc/js/common-f7813d62bc.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/pc/js/detail-e9c2039a7d.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/pc/js/column-6c0f4f56fb.min.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/side-toolbar/3.6/side-toolbar.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/copyright/1.0.4/copyright.js" type="text/javascript"></script>
<script>
$(".MathJax").remove();
if ($('div.markdown_views pre.prettyprint code.hljs').length > 0) {
$('div.markdown_views')[0].className = 'markdown_views';
}
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$', '$'], ['\\(', '\\)']],
displayMath: [['$$', '$$'], ['\\[', '\\]']],
processEscapes: true,
processClass: "mathjax",
ignoreClass: "title-article|no-mathjax",
preview: "none"
},
// 优先使用 HTML-CSS 而非 NativeMML
"HTML-CSS": {
preferredFont: "STIX", // 使用 STIX 字体
availableFonts: ["STIX", "TeX"],
webFont: "STIX-Web",
scale: 100, // 放大 20%
minScaleAdjust: 100,
linebreaks: {
automatic: true,
width: "90% container"
},
matchFontHeight: true,
styles: {
".MathJax": {
"font-weight": "500 !important" // 加粗
}
}
},
// 禁用 NativeMML浏览器原生渲染质量不好
NativeMML: {
scale: 100
},
// 设置优先级HTML-CSS > SVG > NativeMML
menuSettings: {
renderer: "HTML-CSS"
},
messageStyle: "none"
});
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
</script>
<script src="https://g.csdnimg.cn/static/mathjax-2.7.9/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" crossorigin src="https://g.csdnimg.cn/common/csdn-login-box/csdn-login-box.js"></script></html>