ESP32CAM物联网教学10

ESP32CAM物联网教学10

MicroPython 应用体验

小智偶然地发现,有一种新兴的编程模式MicroPython,也能编写ESP32Cam的应用程序了,于是欣然地体验了一把。

  • 编程环境搭建

小智偶然地从下面这家店铺买了一块ESP32Cam,并从客服那里得到了一批的编程资料,下载到电脑中,得到了如下的一些文件。

MicoPython也叫微Python,是一个非常精简的、微小的Python运行环境(只有1M多,烧录到ESP32Cam开发板中),我们可以在电脑中项操作Python那样去操作开发板了,非常的便捷有效!

避坑记录:

经过测试,结果发现之前买的ESP32Cam烧录底座,可以烧录micropython的固件,但是在使用过程中,Thonny无法连接ESP32Cam,所以还需要另外购买一个CH340烧录器。

在使用CH340烧录的过程中,发现网上提供的连接方法也有问题,正确的应该是使用5V的接口进行烧录,用3.3V的接口好像无法烧录的。

  • 烧写固件

首先在电脑中安装Thonny(商家提供的下载文件里面都有)。安装完成后打开程序。

选择运行——配置解释器,选择“MicroPython(ESP32)”,然后选择ESP32Cam的端口号(把ESP32Cam如前面的图中连接好,并把CH340插入电脑,如果你的电脑成功安装了CH340驱动程序,就能看到这个端口号了。当然也可以在我的电脑——属性——设备管理器中查看到这个CH340的设备端口号)。

然后点击图中的“Install or update MicroPyhon”,把MicroPython 的固件镜像文件烧写到ESP32Cam开发板中。

    在打开的对话框中,选择设备的端口号、以及镜像文件(商家提供的MicroPython开头的bin文件),选择“安装”进行烧写。等待进行到100%,烧写完成,就可以关闭对话框了。

  • 第一个程序

拔下Ch340及ESP32Cam。把ESP32Cam上面的GPIO 0与GND之间的接地的连接线撤掉。重新插入到电脑中。这时候我们点击一下窗口右下角的设备,程序会刷新一下与设备的连接情况。刷新后如果在调试窗口中出现如图的信息,则表示这个ESP32Cam开发板中的MicroPython已经启动成功,并且与电脑连接成功了。(前面有说了,由于ESP32Cam的烧录底座设计出现了问题,完成第二步的烧写固件没有问题,可以正常烧录。但是,在这里的时候,就无法出现调试窗口的信息,而是一堆错误的信息,说明用烧录底座是无法正确连接和启动MicroPython的,必须还要自己再买一个CH340的烧录器)

我们选择“打开”电脑中的文件,选择商家提供的拍照测试程序文件cameratest.py。

    点击窗口顶端的运行按钮,可以在下面的调试窗口中看到ESP32Cam中的这个程序被运行了。点击左侧文件管理中MicroPython设备的三横按钮,点“刷新”,可以看到在这个MicroPython设备的下面,多了一个“第一张图片.png”。这个就是ESP32Cam调用了摄像头,屏拍下一张图片,保存到了ESP32Cam开发板内部的存储中了。

右击这个文件,选择下载到电脑文件夹中。

    这时候,我们把左侧文件管理的上面的框拉长一些,就能看到这个从ESP32Cam开发板中下载到的“第一张图.png”(当然你也可以在我的电脑相应的文件夹里面找到这个图片文件),右击文件选择“用外部默认程序打开”,就可以看到这张图了。

这个程序还只是商家提供的测试程序。当你拍完第一张照片的时候,再次点击窗口顶端的运行按钮想继续拍照时,在调试窗口会出现这样的错误。这时候,你只要右击左侧窗口MicroPython设备里面的“第一张图片.png”,然后关闭Thonny,拔出设备。等个五六秒,然后重新打开Thonny程序,插入设备,刷新设备连接,重新打开这个测试文件,点击运行,又能拍下新的一张图了。

四. 优缺点分析

MicroPython是一种针对开发板推出的新的编程模式,他把一个非常简单的Python的运行环境安装到ESP32Cam开发板中,为我们提供了和电脑通讯的机制。这样我们可以在电脑中,像编写Python程序一样,操控着开发板。当然也可以把编写完成的程序写入开发板中,这样开发板离开了电脑,只要接通电源,就能独立运行芯片中存入的程序(和Python一样,芯片接通电源后,会首先运行名为“main.py”的程序,并从这个程序文件中的“main(){}”主程序开始一条一条地执行指令。所以我们写入到开发板的程序,要注意命名为“main.py”)。

由于MicroPython出现的时间不长,而且有依赖于镜像文件,里面的一些可用的功能函数还不熟悉,在网上能找到的应用示例还比较少,所以学习起来难度比较大。

当然,Python的最大特点是他的包容并蓄,可以非常便捷地融合各种语言的功能。在人工智能技术日益普及的今天,MicroPython应用与开发板的开发,是必然的趋势。

我们有信心能看到,在不久的明天,各种各样的MicroPython的编程技术应用实例,一定会百花齐放,百家争鸣!本文写得很肤浅,仅以此抛砖引玉。

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

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

相关文章

Angular基础保姆级教程 - 1

Angular 基础总结(完结版) 1. 概述 Angular 是一个使用 HTML、CSS、TypeScript 构建客户端应用的框架,用来构建单页应用程序。 Angular 是一个重量级的框架,内部集成了大量开箱即用的功能模块。 Angular 为大型应用开发而设计…

花所Flower非小号排名20名下载花所Flower

1、Flower花所介绍 Flower花所是一家新兴的数字货币交易平台,致力于为全球用户提供安全、便捷的交易体验。平台以其强大的技术支持和丰富的交易产品闻名,为用户提供多样化的数字资产交易服务,涵盖了主流和新兴数字货币的交易需求。 2. Flowe…

安全与环境学报

《安全与环境学报》 创刊于2001年,是安全与环境学科的学术性月刊,国内外公开发行,刊号为ISSN 1009-6094、CN 11-4537/X,由北京理工大学、中国环境科学学会和中国职业安全健康协会主办,第十一、十二届全国人大常委会委员…

怎样让家长单独查到自己孩子的期末成绩?

期末考试的钟声已经敲响,随着最后一份试卷的收卷,学生们的紧张情绪渐渐平息。然而,对于老师们来说,这仅仅是另一个忙碌周期的开始。成绩的统计、分析、反馈,每一项工作都不容小觑。尤其是将成绩单一一私信给家长&#…

静态路由只配置下一跳与同时配置下一跳和出接口的区别

配置静态路由时,可以指定出接口或下一跳地址,具体取决于情况。 实际上,所有路由项都需要明确下一跳地址,因为在发送报文时,首先根据报文的目的地址寻找路由表中与之匹配的路由,只有指定了下一跳地址&#…

计算机图形学bezier曲线曲面B样条曲线曲面

b站视频 文章目录 曲线曲面基本理论曲线(面)参数表示1、显示、隐式和参数表示2、显式或隐式表示存在的问题3、参数方程 曲线曲面基本理论 计算机图形学三大块内容:光栅图形显示、几何造型技术、真实感图形显示。光栅图形学是图形学的基础,有…

Vue3 el-table 如何动态合并单元格的行与列

1. 单元格合并列&#xff1a; const setTableColumnSpan (tableData: any,fieldArr: any,effectRows: Array<number> ) > {tableData.forEach((item: any, index: any) > {if (effectRows.includes(index)) {let lastField "";let lastColspan "…

c++ 学习first day

STL map string http://t.csdnimg.cn/H8dhK http://t.csdnimg.cn/KQBbU 1.寄包柜 超市里有 n ( 1 ≤ n ≤ 1 0 5 ) n(1\le n\le10^5)n(1≤n≤10 5 ) 个寄包柜。每个寄包柜格子数量不一&#xff0c;第 i ii 个寄包柜有 a i ( 1 ≤ a i ≤ 1 0 5 ) a_i(1\le a_i\le10^5)a i (1…

CentOS系统Maven安装教程

CentOS系统Maven安装教程 一、准备工作二、下载并安装Maven三、常见问题及解决方法四、实际应用案例 Maven是一个流行的项目管理工具&#xff0c;它可以帮助开发者管理项目的构建、报告和文档的软件项目管理工具。在CentOS系统中安装Maven是一个相对简单的过程&#xff0c;只需…

建投数据入选“2024年中国最佳信创企业管理软件厂商”

近日&#xff0c;建投数据凭借国产化自主知识产权、完备的信创资质及信创软硬件环境全栈适配能力&#xff0c;入选第一新声联合天眼查发布的“2024年中国最佳信创厂商系列榜单”细分行业榜之“最佳信创企业管理软件厂商”。 本次最佳信创厂商系列榜单评选&#xff0c;包括综合榜…

css样式学习样例之边框

成品效果 边框固定 .login_box{width: 450px;height: 300px;background-color: aliceblue;border-radius: 3px;position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%); }这段CSS代码定义了一个名为.login_box的类的样式&#xff0c;它主要用于创建一个登录框…

【vue3】iframe的使用,实现跨域交互,互访内容和方法

一、查询参数 (Query Params): 通过url传参 <iframe id"iframe" :src"iframeUrl" frameborder"0" width"100%" height"100%"></iframe>const type this is parent const iframeUrl ref(https://test.com?typ…

人工智能在病理组学虚拟染色中的应用|文献精析·24-07-07

小罗碎碎念 本期文献精析&#xff0c;分享的是一篇关于深度学习在虚拟染色技术中应用于组织学研究的综述。 角色姓名单位&#xff08;中文&#xff09;第一作者Leena Latonen东芬兰大学&#xff08;QS-552&#xff09;生物医学研究所通讯作者Pekka Ruusuvuori图尔库大学&#…

Java日期时间操作工具类:DateTimeUtil

在Java开发中&#xff0c;处理日期和时间是一个常见的需求&#xff0c;无论是数据库查询、日志记录还是业务逻辑处理&#xff0c;都离不开对日期时间的精确操作。Java自JDK 8起引入了新的日期时间API&#xff0c;如java.time包下的LocalDate, LocalTime, LocalDateTime, ZonedD…

# Sharding-JDBC 从入门到精通(10)- 综合案例(三)查询商品与测试及统计商品和总结

Sharding-JDBC 从入门到精通&#xff08;10&#xff09;- 综合案例&#xff08;三&#xff09;查询商品与测试及统计商品和总结 一、Sharding-JDBC 综合案例-查询商品-dao 1、查询商品&#xff1a;Dao 实现&#xff1a;在 ProductDao 中定义商品查询方法&#xff1a; //查询商…

基于8255的交通灯设计

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

信号与系统笔记分享

文章目录 一、导论信号分类周期问题能量信号和功率信号系统的线性判断时变&#xff0c;时不变系统因果系统判断记忆性系统判断稳定性系统判断 二、信号时域分析阶跃函数冲激函数取样性质四种特性1 筛选特性2 抽样特性3 展缩特性4 卷积特性卷积作用 冲激偶函数奇函数性质公式推导…

异常解决(三)-- Wandb fails with ServiceStartProcessError

原文链接&#xff1a;https://github.com/wandb/wandb/issues/5765 我的环境配置&#xff1a; Python3.8.16 Wandb0.17.4 在使用Wandb记录实验数据时&#xff0c; 报以下错误&#xff1a; ServiceStartProcessError: The wandb service process exited with 1. Ensure that s…

Spring Boot基础篇

快速上手 SpringBoot是由Pivotal团队提高的全新框架&#xff0c;其设计目的是用来简化Spring应用的初始化搭建以及开发过程 入门案例 在Idea创建 创建时要选择Spring Initializr。 Server URL为要连接的网站&#xff0c;默认为官网start.spring.io&#xff08;访问速度慢&…

数字化精益生产系统--IFS财务管理系统

IFS财务管理系统是一款功能丰富、高效且灵活的企业财务管理软件&#xff0c;广泛应用于多个行业和不同规模的企业中。以下是对IFS财务管理系统的功能设计&#xff1a;