Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Https ESP32 WifiClientSecure无响应_Https_Arduino_Esp32 - Fatal编程技术网

Https ESP32 WifiClientSecure无响应

Https ESP32 WifiClientSecure无响应,https,arduino,esp32,Https,Arduino,Esp32,我正在做一个项目,使用谷歌脚本将ESP32-CAM中的图像发布到谷歌硬盘。 无论我将等待时间设置为多长,我总是收到错误“无响应”。我试着使用http和https(wificlient和wificlientsecure),但不管怎样都无法工作。 可能是什么问题 WiFiClientSecure clienthttps; Serial.println("Connect to " + String(myDomain)); if (clienthttps.connect(myD

我正在做一个项目,使用谷歌脚本将ESP32-CAM中的图像发布到谷歌硬盘。 无论我将等待时间设置为多长,我总是收到错误“无响应”。我试着使用http和https(wificlient和wificlientsecure),但不管怎样都无法工作。 可能是什么问题

     WiFiClientSecure clienthttps;


  Serial.println("Connect to " + String(myDomain));


  if (clienthttps.connect(myDomain, 443)) {
    Serial.println("Connection successful");

    camera_fb_t * fb = NULL;
    fb = esp_camera_fb_get();
    if (!fb) {
      Serial.println("Camera capture failed");
      delay(1000);
      ESP.restart();
      return;
    }

    char *input = (char *)fb->buf;
    char output[base64_enc_len(3)];
    String imageFile = "";
    for (int i = 0; i < fb->len; i++) {
      base64_encode(output, (input++), 3);
      if (i % 3 == 0) imageFile += urlencode(String(output));
    }
    String Data = myFilename + mimeType + myImage;

    esp_camera_fb_return(fb);

    Serial.println("Send a captured image to Google Drive.");

    Serial.println("POST " + myScript + " HTTP/1.1");
    Serial.println("Host: " + String(myDomain));
    Serial.println("Content-Length: " + String(Data.length() + imageFile.length()));
    Serial.println("Content-Type: application/x-www-form-urlencoded");
    Serial.println(Data);
    Serial.println();

    clienthttps.println("POST " + myScript + " HTTP/1.1");
    clienthttps.println("Host: " + String(myDomain));
    clienthttps.println("Content-Length: " + String(Data.length() + imageFile.length()));
    clienthttps.println("Content-Type: application/x-www-form-urlencoded");
    clienthttps.println();

    clienthttps.print(Data);
    int Index;
    for (Index = 0; Index < imageFile.length(); Index = Index + 1000) {
      clienthttps.print(imageFile.substring(Index, Index + 1000));
    }

    Serial.println("Waiting for response.");
    long int StartTime = millis();
    while (!clienthttps.available()) {
      Serial.print(".");
      delay(100);
      if ((StartTime + waitingTime) < millis()) {
        Serial.println();
        Serial.println("No response.");
        //If you have no response, maybe need a greater value of waitingTime
        break;
      }
    }
    Serial.println();
    while (clienthttps.available()) {
      Serial.print(char(clienthttps.read()));
    }
  } else {
    Serial.println("Connected to " + String(myDomain) + " failed.");
  }
  clienthttps.stop();
WiFiClientSecure clienthttps;
Serial.println(“连接到”+字符串(myDomain));
if(clienthttps.connect(myDomain,443)){
Serial.println(“连接成功”);
摄像头_fb_t*fb=NULL;
fb=esp_摄像头_fb_get();
如果(!fb){
Serial.println(“摄像头捕获失败”);
延迟(1000);
特别是重新启动();
返回;
}
字符*输入=(字符*)fb->buf;
字符输出[base64_enc_len(3)];
字符串imageFile=“”;
对于(int i=0;ilen;i++){
base64_编码(输出,(输入+),3);
如果(i%3==0)imageFile+=urlencode(字符串(输出));
}
字符串数据=myFilename+mimeType+myImage;
esp_摄像头_fb_返回(fb);
println(“将捕获的图像发送到Google Drive。”);
Serial.println(“POST”+myScript+“HTTP/1.1”);
Serial.println(“主机:“+String(myDomain));
Serial.println(“内容长度:”+String(Data.Length()+imageFile.Length());
Serial.println(“内容类型:application/x-www-form-urlencoded”);
Serial.println(数据);
Serial.println();
println(“POST”+myScript+“HTTP/1.1”);
println(“主机:“+String(myDomain));
println(“内容长度:”+String(Data.Length()+imageFile.Length());
println(“内容类型:application/x-www-form-urlencoded”);
clienthttps.println();
clienthttps.打印(数据);
整数指数;
对于(索引=0;索引
不熟悉该库,但是
clienthttps.print
真的可以用于二进制数据(可能嵌入了零)?您好,它工作了吗?我设法让它使用不同的API,最后使用电报作为备份功能。