Google cloud firestore ESP8266 POST方法返回-5

Google cloud firestore ESP8266 POST方法返回-5,google-cloud-firestore,arduino-uno,arduino-ide,arduino-esp8266,Google Cloud Firestore,Arduino Uno,Arduino Ide,Arduino Esp8266,嘿,我目前正试图通过ESP8266在Firestore函数中发送POST请求,但每次返回-5 我已经尝试过Postman的POST请求&它可以很好地处理url编码和原始数据 我的ESP8266还与稳定的WiFi连接,我还提供了所需的库 这是我的密码: #include <ESP8266WiFi.h> #include <DNSServer.h> #include <ESP8266WebServer.h> #include <WiFiManager.h&g

嘿,我目前正试图通过ESP8266在Firestore函数中发送POST请求,但每次返回-5

我已经尝试过Postman的POST请求&它可以很好地处理url编码和原始数据

我的ESP8266还与稳定的WiFi连接,我还提供了所需的库

这是我的密码:

#include <ESP8266WiFi.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>     
#include <WiFiClient.h> 
#include <ESP8266HTTPClient.h>

#define SERVER_IP "us-central1-led-controller-XXX.cloudfunctions.net"

 

const int trigPin = 2;  //D4
const int echoPin = 14; //D5 
const int LEDPIN = 0;
long duration;
int distance;
int i=0;
HTTPClient http;
WiFiClient client;
WiFiManager wifiManager;

#define STASSID "ABC"
#define STAPSK  "XXXX"

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(LEDPIN,OUTPUT);
  Serial.begin(9600);
 WiFi.begin(STASSID, STAPSK);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected! IP address: ");
  Serial.println(WiFi.localIP());
  if(WiFi.status() == WL_CONNECTED){
    digitalWrite(LEDPIN,HIGH);
    delay(500);
    digitalWrite(LEDPIN,LOW);
    delay(500);
    digitalWrite(LEDPIN,HIGH);
    delay(500);
    digitalWrite(LEDPIN,LOW);
  }
}


void loop() {
  // put your main code here, to run repeatedly:
  String postData = "";
   
   http.begin(client, "https://" SERVER_IP "/webApi/XXX"); //HTTP
   http.addHeader("Content-Type", "application/x-www-form-urlencoded");    //Specify content-type header

    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    // Sets the trigPin HIGH (ACTIVE) for 10 microseconds
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    // Reads the echoPin, returns the sound wave travel time in microseconds
    duration = pulseIn(echoPin, HIGH);
    // Calculating the distance
    distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back)
    // Displays the distance on the Serial Monitor
    Serial.print("Distance: ");
    Serial.print(distance);
    Serial.println(" cm");
    postData = "deviceId=NodeMcu&buzzCount=1315";
    int httpCode = http.POST(postData); 
    Serial.println(httpCode);  
    http.end();  
}
#包括
#包括
#包括
#包括
#包括
#包括
#定义服务器IP“us-central1-led-controller-XXX.cloudfunctions.net”
常数int trigPin=2//D4
常数int echoPin=14//D5
常数int LEDPIN=0;
持续时间长;
整数距离;
int i=0;
HTTPClient-http;
无线客户端;
WiFiManager WiFiManager;
#定义STASSID“ABC”
#定义STAPSK“XXXX”
无效设置(){
引脚模式(trigPin,输出);
pinMode(echoPin,输入);
引脚模式(LED引脚,输出);
Serial.begin(9600);
WiFi.begin(STASSID、STAPSK);
while(WiFi.status()!=WL_已连接){
延迟(500);
连续打印(“.”);
}
Serial.println(“”);
串行打印(“已连接!IP地址:”);
Serial.println(WiFi.localIP());
如果(WiFi.status()==WL_已连接){
数字写入(LEDPIN,高电平);
延迟(500);
数字写入(LEDPIN,低电平);
延迟(500);
数字写入(LEDPIN,高电平);
延迟(500);
数字写入(LEDPIN,低电平);
}
}
void循环(){
//将主代码放在此处,以便重复运行:
字符串postData=“”;
http.begin(客户端,“https://”SERVER_IP“/webApi/XXX”);//http
http.addHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);//指定内容类型头
数字写入(trigPin,低电平);
延迟微秒(2);
//将trigPin设置为高(激活)10微秒
数字写入(trigPin,高);
延迟微秒(10);
数字写入(trigPin,低电平);
//读取echoPin,以微秒为单位返回声波传播时间
持续时间=脉冲强度(echoPin,高);
//计算距离
距离=持续时间*0.034/2;//声波速度除以2(来回)
//在串行监视器上显示距离
串行打印(“距离:”);
串行打印(距离);
序列号。打印号(“cm”);
postData=“deviceId=NodeMcu&buzzCount=1315”;
int-httpCode=http.POST(postData);
Serial.println(httpCode);
http.end();
}

-5是HTTPC\u错误\u连接_LOST@majkrzak这正是我所困惑的。我的NodeMCU连接到了一个非常稳定的WiFi,我甚至在WiFi没有断开的情况下对其进行了测试。你能尝试获取一些东西,或者进行一些ping吗?我认为这里的问题在于https协议。你知道如何在https协议上发布吗?你确定你的代码可以成功编译吗<代码>“https://“SERVER\u IP”/webApi/XXX”不是有效的字符串连接。-5是HTTPC\u错误\u连接_LOST@majkrzak这正是我所困惑的。我的NodeMCU连接到了一个非常稳定的WiFi,我甚至在WiFi没有断开的情况下对其进行了测试。你能尝试获取一些东西,或者进行一些ping吗?我认为这里的问题在于https协议。你知道如何在https协议上发布吗?你确定你的代码可以成功编译吗<代码>“https://“SERVER\u IP”/webApi/XXX”不是有效的字符串连接。