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

相关推荐
网易独家音乐人Mike Zhou3 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
2401_882727577 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
畅联云平台10 小时前
美畅物联丨智能分析,安全管控:视频汇聚平台助力智慧工地建设
人工智能·物联网
东芝、铠侠总代1361006839312 小时前
浅谈TLP184小型平面光耦
单片机·嵌入式硬件·物联网·平面
BY—-组态13 小时前
web组态软件
前端·物联网·工业互联网·web组态·组态
Vodka~16 小时前
物联网——UNIX时间戳、BKP备份寄存器、RTC时钟
物联网·实时音视频
电子科技圈17 小时前
XMOS携手合作伙伴晓龙国际联合推出集成了ASRC等功能的多通道音频板
科技·嵌入式硬件·mcu·物联网·音视频·iot
IT枫斗者18 小时前
如何解决Java EasyExcel 导出报内存溢出
java·服务器·开发语言·网络·分布式·物联网
7yewh18 小时前
嵌入式硬件杂谈(四)-高速板PCB设计 高速信号全面讲解 蛇形线 等长线 差分对 阻抗对
驱动开发·嵌入式硬件·mcu·物联网·硬件工程·pcb工艺·精益工程
南门听露19 小时前
适用于资源受限IoT系统的非对称语义图像压缩技术
深度学习·神经网络·物联网