问题描述
基本上,我正在尝试使用 IOT,我尝试了这个简单的项目,其中 esp32 cam 将在检测到运动时拍照并使用机器人将其发送到电报,我已经在电报上创建了机器人,使用诸如令牌、聊天 ID 之类的所有内容都添加到代码中。我已经成功连接到我的 wifi,但由于某种原因它无法连接到电报,所有这些代码都是在 youtube 上为 ViralScience 复制的 下面是连接电报的功能
String alerts2Telegram(String token,String chat_id)
{
const char* myDomain = "api.telegram.org";
String getAll="",getBody = "";
camera_fb_t * fb = NULL;
fb = esp_camera_fb_get();
if(!fb)
{
Serial.println("Camera capture Failed");
delay(1000);
ESP.restart();
return "Camera capture Failed";
}
WiFiClientSecure client_tcp;
if (client_tcp.connect(myDomain,443))
{
Serial.println("Connected to " + String(myDomain));
}
else {
getBody = "Connection to telegram Failed.";
Serial.println("Connection to telegram Failed.");
}
return getBody;
}
下面是草图循环
void loop()
{
pinMode(gpioPIR,INPUT_PULLUP);
int v = digitalRead(gpioPIR);
Serial.println(v);
if (v==1)
{
alerts2Telegram(token,chat_id);
delay(10000);
}
delay(1000);
}
代码是否有问题或无法运行,因为该代码可能已过时,因为教程本身的视频日期为 2020 年 6 月 7 日?
解决方法
尝试将 esp32 core 的版本改为 v1.0.4 。如果您想使用1.0.5或更高版本,请修改您的代码如下。
WiFiClientSecure client_tcp;
client_tcp.setInsecure(); //version 1.0.5 or above
请参考我的代码。 https://github.com/fustyles/Arduino/blob/master/ESP32-CAM_Telegram/ESP32-CAM_Telegram.ino