如何通过串口通信查看ESP32-CAM的状态
这次我们来学习如何通过Arduino IDE的串口通信来查看ESP32-CAM的输出提示和编程方面我们应该怎么写。
前期准备
在进行编程之前我们需要保证我们的电脑支持串口通信,所以我们需要安装串口驱动,因为我们用的是USB转TTL的烧录器所以我们下载CP2102的驱动。
官方链接:开发工具清单 | 安信可科技 (ai-thinker.com)
安装好驱动之后把烧录器和ESP32-CAM进行连接,连接方式:
烧录器 5V接ESP32-CAM 5V
烧录器 TXD接ESP32-CAM U0R
烧录器 RXD接ESP32-CAM U0T
烧录器 GND接ESP32-CAM GND
ESP32-CAM上的IO0和GND短接
连接好之后随便接到自己电脑上的一个USB接口上打开自己电脑的设备管理器应该可以看到端口这一栏打开可以看到已连接的端口和端口编号。如下图所示
设备管理器可以在自己电脑下方或开始菜单的搜索栏搜索找到,或者右键开始菜单打开设备管理器。
随便烧录一个小程序测试
这些都弄好之后我们写一个连接自己热点如何查看ESP32-CAMip和mac地址的小程序。样例如下
#include <WiFi.h>
#include "OneButton.h"
const char* ssid = "***";
const char* password = "*********";
String macdiz;
/*按钮参数*/
#define BTN 12
OneButton button(BTN, true);
/*30:83:98:56:E5:9C*/
/*图片格式:30839856E59C-2022.10.19-16.45.43*/
/*mac地址*/
void ip_mac(){
if(WiFi.isConnected()){
String ip = WiFi.localIP().toString();
String mac = WiFi.macAddress();
Serial.println( "{'ip':'"+ip+"','mac':'"+mac+"'}");
macdiz = mac;
Serial.print(macdiz);
Serial.print("\n");
}else{
Serial.println( "Not connected to wifi");
}
}
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("Connecting");
while(WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to WiFi network with IP Address: ");
Serial.println(WiFi.localIP());
button.attachClick(ip_mac);
}
void loop() {
button.tick();
}
把这个程序烧录进去之后我们拔掉IO0和GND的短接重启ESP32-CAM。
查看状态
打开Arduino 的串口监视器可以看到如下画面
然后根据代码我们设置了一个按钮单击的事件,按下按钮可以看到如下画面
然后我们就可以发现从根据我们的代码正常应该从Connecting开始才会通过Serial.println输出那上面那些是什么东西呢?
上面这些是ESP32启动是的一些默认信息输出具体代表什么意思可以去看乐鑫官方的CSDN:
ESP32 基础篇: 启动时 rst cause 和 boot mode_乐鑫科技 Espressif的博客-CSDN博客
然后根据代码和串口监视器可以发现我们为了查看ESP32-CAM的状态其实和我们平时编写Python代码查看一些我们需要的结果类似Python是通过
print()
输出结果,ESP32的串口输出是通过
Serial.println();
来查看,来根据我们的需求查看对应的信息。
n是通过
print()
输出结果,ESP32的串口输出是通过
Serial.println();
来根据我们的需求查看对应的信息。