ESP32CAM物联网教学01

ESP32CAM物联网教学01

拍照 + 视频

这么小的一个开发板都带上摄像头了,能拍照?能视频吗?现在就跟着我做起来。

  • 初识ESP32CAM

我们到淘宝搜索“ESP32Cam”,就能买到这样一块开发板。

ESP32Cam是双核处理器,提供WIFI和蓝牙两种连接模式,还自带一个摄像头。

安装摄像头的时候,可以用我们的指甲按照图上所示的方向,插入黑色卡扣和开发板之间的缝隙,然后轻轻的向外一扣,黑色卡扣会向外翻转90度成直立状态;把摄像头插入卡座;最后按压黑色卡扣,回到原状,摄像头就安装好了。

  • 准备材料

我的电脑是Windows10,安装了Arduino IDE 2.3.2和米思齐mixly 2.0。至于这两个软件怎么安装,大家可以百度一下,然后到官网就可以下载到最新版本了。

我们还需要购买一个ESP32CAM模块,一个烧录底座(最好是挑选两边各有一排针座和排针的那种),一条手机数据线。

  • 安装ESP32开发板驱动库

打开Arduino IDE,点击左侧工具栏中的开发板按钮,在搜索栏中输入“esp”,找到“ESP32 by Espressif”,选择版本,点击安装。这样就能安装ESP开发板驱动库文件了。

如图所示,我已经在电脑中安装了2.0.17版本了。需要注意的是,这个是境外的网站连接,下载的速度很慢,最好是深夜的时候避开上网高峰去下载,如果下载中断,可以继续再点几次,直到下载成功。

  • 下载CH340串口驱动

网上搜索并下载一个“CH340”的串口驱动程序,点击安装到电脑中。

把ESP32Cam开发板插到底座上,用手机数据线连接到电脑的USB口。打开Arduino IDE,点击Tools——Port菜单,如果出现一个新的设备连接端口号(如图所示,在我的电脑中出现的设备连接端口号是COM3,不同电脑出现的端口号会不一样),则表示CH340驱动程序安装成功,这个ESP32Cam也已经连接到电脑中了。

接下来我们可以选择开发板的类型。我们可以选择Tools——board——ESP32——AI Thinker ESP32—CAM。

  • 使用自带的官方程序CameraWebServer

点击菜单File——Examples——ESP32——Camera——CameraWebServer,就可以打开乐鑫公司提供的一个官方示例程序。

    我们仅仅需要修改程序里面的两处:重新定义摄像头的类型为Camera_Mode_AI_Thinker;修改WIFI连接的名称和密码(这个是你家里的可用的WiFi连接即可)。修改完程序,就可以按上方的如图所示的“上传”按钮,经过等待一两分钟,程序就能烧写到ESP32Cam开发板中。如图所示,显示完成100%后,则表示这个程序已经烧写到了开发板中了。

  • 使用浏览器查看摄像头

我们点击菜单Tools——Serial Monitor打开串口监视器,这时候如果显示如图信息,则表示我们的设备已经初始化成功,程序已经成功运行了。

如果在串口监视器中空白的,没有显示,则是因为设备早已经初始化成功,监视器错过了信息的接收。这时候可以按一下开发板底座上面的Reset重启按钮,或者直接拔下USB数据线等个五秒再重新插入电脑,这样开发板就能重新启动,也会重新发送消息,这样就能在串口监视器中接收到设备重启的信息了。

我们看到这个信息里面有一个194.168.1.184的IP地址,这个就是ESP32Cam视频服务的IP,每个设备的IP地址可能有所不同。

   

我们可以利用电脑浏览器、或者手机浏览器,输入这个IP地址http://192.668.1.184,就能查看到摄像头的图像和视频了。拉动右侧滚动条,拉到屏幕底部,可以看到有两个按钮,一个是拍照片的,一个是查看视频的。点击Star Stream,屏幕上就能显示摄像头的视频了。

需要注意的是,如果发现浏览器连接没有成功,则很有可能是ESP32Cam开发板和电脑没有在同一个网络桥段里面。也就是说电脑(或手机)和ESP32Cam开发板连接的是同一个WiFi,这样她们就是在同一个桥段里面,这样浏览器才能连接并查看到ESP32CAM的摄像头图像。

  • 避坑笔迹

有网上教程在选择开发板类型的时候,没有选择“AI Thinker ESP32—CAM”这种类型的,而是选择“ESP32 Dev Module”这款开发板,尽管已经根据需要重新设置的内存的参数,当把这个程序烧写到ESP32Cam的时候,发现这个程序是错的,不能运行起来。

我们在串口监视器窗口,一直接收到了错误的信息“E (507)esp_core_dump_flash: Core dump flash config is corrupted!”,表示程序在启动的时候,出现内存错误,造成了系统崩溃。

后来我查了一下网上的文章,有人表示Arduino IDE在编译这个CameraWebServr程序时,会根据你选择的开发板类型,自动选择不同的配置文件,把这个程序编译成单核的程序和双核的程序两种。

我这次使用的ESP32Cam,根据淘宝上面的商品介绍,应该为双核CPU,所以选择的开发板类型为“AI Thinker ESP32—CAM”;相反,如果你购买的另外的单核开发板(比如ESP32 S3 wroom就是单核CPU),你就要选择“ESP32S3 Dev Module”这个开发板类型进行编译。

当然,如果你使用米思齐mixly进行编译程序,如果出现这样的错误提示,则很有可能是因为单核程序和双核程序的不兼容造成的了。这个是ESP摄像头开发板程序的一个大坑,也可以为我们排除错误提供一些可能性的判断了。

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

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

相关文章

Cyuyanzhong的内存函数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、memcpy函数的使用与模拟实现二、memmove函数的使用和模拟实现三、memset函数与memcmp函数的使用(一)、memset函数(内存块…

白骑士的C语言教学基础篇 1.4 函数与递归

系列目录 上一篇:白骑士的C语言教学基础篇 1.3 控制流 在这一篇内容中,我们将介绍C语言中的函数及其用法,包括函数的定义与调用、函数参数与返回值,以及递归函数。函数是C语言中最重要的结构之一,它允许我们将代码组织…

Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

0 前言 系统进程信息是电脑网络信息安全检查中的一块重要内容,对于使用Linux和基于Linux作为操作系统的电脑来说,可以使用ps命令。 1 ps命令 的功能、格式和选项说明 1.1 ps命令 的功能 Linux 中的ps(意为:process status&…

Chrome导出cookie的实战教程

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

leetcode刷题:vector刷题

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:leetcode刷题 1.只出现一次的数字 这道题很简单,我们只需要遍历一次数组即可通过异或运算实现。(一个数与自身异或结果为0,任何数与0异或还是它本身) class Solut…

GitHub每日最火火火项目(7.2)

Asabeneh / 30 - Days - Of - Python:这是一个为期30天的Python编程挑战项目,旨在通过逐步引导的方式帮助学习者在30天内掌握Python编程语言。然而,实际完成这个挑战可能需要超过100天,学习者可以根据自己的节奏进行。该项目还提供…

WPF UI 3D 基本概念 点线三角面 相机对象 材质对象与贴图 3D地球 光源 变形处理 动作交互 辅助交互插件 系列三

WPF UI交互专题 平面图形 Path Drawing 绘图 渐变 Brush 矩阵 Transform 变形 阴影效果 模糊效果 自定义灰度去色效果 系列二-CSDN博客 1软件中的3D基本概念 WPF 中 3D 功能的设计初衷并非提供功能齐全的游戏开发平台。 WPF 中的 3D 图形内容封装在 Viewport3D 元素中&#x…

2024年华为OD机试真题-分披萨-C++-OD统一考试(C卷D卷)

2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 题目描述: “吃货”和“馋嘴”两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数扇形小块。但是粗心服务员将披萨切成了每块大小都完全不同奇数块,且…

【linux命令】文件拷贝工具scp

scp是secure copy的缩写,用于linux之间复制文件和目录,基于ssh登录进行安全的远程文件拷贝命令。这个尤其在一些自动化活动中非常有用。 一、从本地复制到远程 # 语法 # scp -r -P remote_port local_folder remote_userremote_ip:remote_folder# 把本…

1+X 老年照护实训室:老年心理护理的重要性

随着人口老龄化的加剧,老年人口比例不断增加,老年心理健康问题日益凸显。老年心理护理作为老年照护的重要组成部分,对于老年人的身心健康具有重要意义。本文从老年心理护理的定义、重要性和实践意义等方面进行探讨,并提出了提高老…

WPF自定义模板--Button

属性&#xff1a; TemplateBinding&#xff1a;用于在ControlTemplate中绑定到控件的属性&#xff0c;例如Background、BorderBrush等。TargetType&#xff1a;指定该模板应用于哪种控件类型。在这个例子中&#xff0c;是Button。 标准的控件模板代码&#xff1a; <Style…

C# 实现 Modbus TCP 服务端客户端寄存器

以下是一个使用 C# 实现 Modbus TCP 服务端的示例代码。这个示例使用了 NModbus4 库&#xff0c;这是一个开源的 Modbus 库&#xff0c;支持 Modbus TCP 和 Modbus RTU 协议。 首先&#xff0c;您需要安装 NModbus4 库。您可以通过 NuGet 包管理器来安装&#xff1a; Install…

.NETCORE JWT 二

1.自动续期 using **.**.Common.Helper; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.IdentityModel.Tokens; using New…

借助 Aspose.Words,在 C# 中将 Word 转换为 Excel

有时我们会遇到需要将 Word 文档&#xff08;DOC 或 DOCX&#xff09;转换为 Excel 文档的任务。例如&#xff0c;这对于数据分析和报告很有用&#xff0c;或者如果您收到了任何文本数据并想将其转换为表格格式&#xff08;XLS 或 XLSX&#xff09;以便进一步工作。在本文中&am…

IAR工程目录移动报错(改变文件目录结构)

刚开始用IAR&#xff0c;记录一下。 工作中使用华大单片机&#xff0c;例程的文件目录结构太复杂了想精简一点。 1.如果原本的C文件相对工程文件&#xff08;.eww文件&#xff09;路径变化了&#xff0c;需要先打开工程&#xff0c;再将所有的.c文件右键Add添加进工程&#xf…

Day50

Spring AOP 概念 AOP全称为Aspect Oriented Programming&#xff0c;表示面向切面编程。切面指的是将那些与业务无关&#xff0c;但业务模块都需要使用的功能封装起来的技术。 AOP基本术语 **连接点&#xff08;Joinpoint&#xff09;&#xff1a;**连接点就是被拦截到的程序执…

Mojo学习

一种面向AI开发者的编程语言叫做Mojo。这种语言的设计目的是为了结合Python的易用性和C/C的性能&#xff0c;同时提供更好的支持给AI开发中常见的加速器&#xff0c;如GPU和其他异构计算设备。Mojo旨在成为一个高性能的编程环境&#xff0c;可以无缝地与Python生态系统的现有库…

第三篇——始计篇:诡计,就是引诱对方犯错误

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 这一篇讲解了诡计&#xff0c;对于诡计的解释和定位&#xff1b;我们更应…

Flink面试题总结

一、简单介绍一下 Flink Apache Flink 是一个实时计算框架和分布式处理引擎&#xff0c;用于在无边界和有边界数据流上进行有状态的计算 二、Flink集群有哪些角色&#xff1f;各自有什么作用&#xff1f;&#xff08;flink架构&#xff09; --JobManager&#xff1a; JobManag…

win10下安装PLSQL14连接Oracle数据库

问题背景 在使用Oracle开发过程中&#xff0c;经常会使用工具来连接数据库&#xff0c;方便查询、处理数据。其中有很多工具可以使用&#xff0c;比如dbeaver、plsql等。本文主要介绍在win10环境下&#xff0c;plsql14的安装步骤以及安装过程中遇到的一些问题。 安装步骤及问题…