之前拿到ESP32CAM的时候就想把图像传到手机app上,但是一直找不到一个库,今天突然可以用了,原因未知。也是做到了图像的传输。
关于ESP32的配置,在很久之前的博客我已经写过了,这里就不写了,直接写怎么实现图像的传输的。

关于esp32cam有一个示例,就是图像实时传输的,这里贴出代码。
#define BLINKER_WIFI
#define BLINKER_ESP_SMARTCONFIG
#include
#include "ESP32_CAM_SERVER.h"
char auth[] = "Your Device Secret Key";
bool setup_camera = false;
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
Blinker.vibrate();
uint32_t BlinkerTime = millis();
Blinker.printObject("video", "{\"str\":\"mjpg\",\"url\":\"http:"+ String(WiFi.localIP()) + "\"}");
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
Blinker.begin(auth);
Blinker.attachData(dataRead);
}
void loop()
{
Blinker.run();
if (Blinker.connected() && !setup_camera)
{
setupCamera();
setup_camera = true;
Blinker.printObject("video", "{\"str\":\"mjpg\",\"url\":\"http://"+ WiFi.localIP().toString() + "\"}");
}
}
这个代码用的是app一键配网,我们可以做如下修改。
不使用一键配网(即文中“使用APP开发工具中ESPTOUCH配网后即可")的方法如下:
1、把这句注释掉 #define BLINKER_ESP_SMARTCONFIG
2、Setup里使用:Blinker.begin(auth,ssid,pswd);
3、在App里编辑video组件,URL项填写http://192.168.X.X/即可(路由器分配的地址,串口监视器中可以看到)
这里一定要注意,我自己输入怎么都不能传输,然后我复制http://192.168.X.X/后改了后面两个X就传输了,自己打好像不能用。很奇怪
#define BLINKER_WIFI
//#define BLINKER_ESP_SMARTCONFIG
#include
#include "ESP32_CAM_SERVER.h"
char auth[] = " ";//blinker的密钥
char ssid[]="TP-LINK_949B";//WiFi名称
char pswd[]="88888888";//wifi密码
bool setup_camera = false;
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
Blinker.vibrate();
uint32_t BlinkerTime = millis();
Blinker.print("millis", BlinkerTime);
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
Blinker.begin(auth,ssid,pswd);
Blinker.attachData(dataRead);
}
void loop()
{
Blinker.run();
if (Blinker.connected() && !setup_camera)
{
setupCamera();
setup_camera = true;
Blinker.printObject("video", "{\"str\":\"mjpg\",\"url\":\"http://"+ WiFi.localIP().toString() + "\"}");
}
}
这里贴出修改后的代码,直接改密钥,wifi就可以传输,这是图像传输的现象。

选mipg才可以实时传输。