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的编程技术应用实例,一定会百花齐放,百家争鸣!本文写得很肤浅,仅以此抛砖引玉。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【人工智能】-- 智能家居

个人主页:欢迎来到 Papicatch的博客 课设专栏 :学生成绩管理系统 专业知识专栏: 专业知识 文章目录 🍉引言 🍉基于深度卷积神经网络的表情识别 🍈流程图 🍈模型设计 🍍网络架…

复旦微JFMVU3P-2FFVC1517 FPGA+AI全国产化人工智能数据处理平台,适用于雷达与中频信号采集、视频图像采集

板载FPGA实时处理器:JFMVU3P-2FFVC1517支持1个FMC(HPC)扩展接口支持2路QSFP光纤接口支持x8 Gen3 PCIE主机接口,系统带宽>5GByte/s支持1个R45自适应千兆以太网口支持1个GPIO/RS422接口 基于复旦微16nm工艺JFM9VU3P FPG…

【Linux】记录一起网站劫持事件

故事很短,处理也简单。权当记录一下,各位安全大大们手下留情。 最近一位客户遇到官网被劫持的情况,想我们帮忙解决一下(本来不关我们的事,毕竟情面在这…还是无偿地协助一下),经过三四轮“谦让…

Java-SpringBoot启动报端口被占用,如何找到占用端口的进程并杀掉

背景 当我们本地启动多个项目,可能会出现端口被占用的情况,当然有时候可能idea窗口关闭,但是进程并没有kill掉,导致再次启动项目时也会报端口被占用的错误。 通常的做法是打开任务管理器,然后kill掉对应的进程。 首先…

“除了C盘都不见了“:现象解析、恢复策略与预防之道

现象概述:非系统盘突然消失之谜 在日常的计算机使用中,不少用户可能遭遇过一个令人措手不及的问题——“除了C盘都不见了”。这一现象发生时,用户惊讶地发现除了作为系统盘的C盘外,原本存放着各类文档、图片、视频等个人资料的D盘…

在一行中实现每个盒子间隔相等

达成效果&#xff1a; 1. 使用justify-content: space-evenly; <!DOCTYPE html> <html lang"zh-cn"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

Nginx Lua Waf 插件一键部署

文章目录 一、场景说明二、脚本职责三、参数说明四、操作示例五、注意事项 一、场景说明 本自动化脚本旨在为提高研发、测试、运维快速部署应用环境而编写。 脚本遵循拿来即用的原则快速完成 CentOS 系统各应用环境部署工作。 统一研发、测试、生产环境的部署模式、部署结构、…

直播平台集成美颜工具详解:视频美颜SDK开发指南

本篇文章&#xff0c;小编将详细介绍如何在直播平台中集成美颜工具&#xff0c;帮助开发者更好地理解视频美颜SDK的开发过程。 一、美颜工具的作用和原理 1.1 美颜工具的作用 美颜工具主要用于提升直播视频的画面质量&#xff0c;让主播和观众在镜头前看起来更加美观。这些功…

哈喽GPT-4o,程序员如何通过GPT-4o提高工作效率

目录 一、编写代码Prompt&#xff1a;请用Java语言编写一个二分查找的样例 二、修正代码错误、代码优化Prompt&#xff1a;我们上传一张华为OD算法题的题目描述&#xff0c;再给它我的Java解题代码&#xff0c;问问它有什么问题&#xff1f; 三、解读代码功能、代码翻译Prompt&…

【Arduino】XIAOFEIYU(TM)实验ESP32使用霍尔传感器(图文)

霍尔传感器是一种可以测量磁力变化的传感器&#xff0c;今天XIAOFEIYU就来测试一下ESP32使用霍尔传感器。 霍尔传感器&#xff1a;正负极加一个数据接口。 将传感器与ESP32进行电路连接&#xff1a; 编写程序&#xff1a; #define SIGNAL_PIN 33int value 0; // 存储传感…

51单片机-第一节-LED和独立按键

一、点亮LED&#xff1a; 首先包含头文件 <REGX52.H> 随后令P2为0xFE。(此时二进制对应1111 1110&#xff0c;为0 的LED亮&#xff0c;故八个灯中的最后一个亮起)。 注&#xff1a;P2为控制LED的8位寄存器。 void main() {P2 0xFE;//1111 1110while(1){} } 二、L…

《算法笔记》总结No.3——排序

基础算法之一&#xff0c;相当重要。在普通的机试中如果没有数据类型和时空限制&#xff0c;基本上选择自己最熟悉的就好。本篇只总结选择排序和插入排序&#xff0c;侧重应用&#xff0c;408中要求的种类更加繁多&#xff0c;此处先不扩展难度~总结最常用的两种排序。 一.选择…

腾讯课堂即将停止服务?来试试这款开源的知识付费系统

项目介绍 本系统基于ThinkPhp5.0layuiVue开发,功能包含在线直播、付费视频、付费音频、付费阅读、会员系统、分销系统、拼团活动、直播带货、直播打赏、商城系统等。能够快速积累客户、会员数据分析、智能转化客户、有效提高销售、吸引流量、网络营销、品牌推广的一款应用&…

javaIO流(2)

一.字符流 字符流对数据的操作是以一个个字符为单位的,字符流只能读文本文件,并将读到的字节按照编码表转为对应的字符,Reader和Writer是字符流的两个最大的抽象类,InputStreamReader和OutputStreamWriter分别继承了Reader和Writer,它俩的功能就是将读取到的字节转换为字符,所…

【大模型LLM面试合集】大语言模型基础_NLP面试题

NLP面试题 1.BERT 1.1 基础知识 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是谷歌提出&#xff0c;作为一个Word2Vec的替代者&#xff0c;其在NLP领域的11个方向大幅刷新了精度&#xff0c;可以说是近年来自残差网络最优突破性的…

流程图编辑框架LogicFlow-vue-ts和js

LogicFlow官网https://site.logic-flow.cn/LogicFlow 是一款流程图编辑框架&#xff0c;提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件等拓展机制。LogicFlow支持前端研发自定义开发各种逻辑编排场景&#xff0c;如流程图、ER图、BPMN流程等。在工作审批配…

数据结构/作业/2024/7/7

搭建个场景: 将学生的信息&#xff0c;以顺序表的方式存储&#xff08;堆区)&#xff0c;并且实现封装函数︰1】顺序表的创建&#xff0c; 2】判满、 3】判空、 4】往顺序表里增加学生、5】遍历、 6】任意位置插入学生、7】任意位置删除学生、8】修改、 9】查找(按学生的学号查…

不同层数PCB如何选择合适板厚?

在回答这个问题前&#xff0c;我们首先需要了解什么是PCB厚度。 PCB厚度是指电路板完成后的厚度。 覆铜板的厚度&#xff1a;0.5、0.7、0.8、1.0、1.2、1.5、1.6、2.0、2.4、3.2和6.4毫米。 纸基覆铜板的标称厚度为 0.7 至 1.5 毫米。让我们开始了解更多细节。 标准 PCB 铜厚度…

使用GZip对npm run build打包的vendor.js文件进行压缩

vue-cli项目 安装npm i compression-webpack-plugin -D npm i compression-webpack-plugin -D使用&#xff1a;在vue.config.js文件中 const CompressionPlugin require(compression-webpack-plugin) module.exports {configureWebpack: {plugins: [new CompressionPlugin…

北斗在高铁轨道位移监测中的应用

随着高速铁路的飞速发展&#xff0c;轨道的监测与维护变得至关重要。传统的监测方法已难以满足现代高铁的需求。 近年来&#xff0c;北斗卫星导航系统凭借其高精度、全天候、全球覆盖的优势&#xff0c;在高铁轨道位移监测中发挥了重要作用。 高铁轨道监测系统通过集成北斗卫星…