Esp8266 ส่งข้อมูลแบบ GET ไม่ได้ statusCode = -1

โค้ดใน esp8266 ครับ

#include <HttpClient.h>
#include <ESP8266HTTPClient.h>
#include <PZEM004Tv30.h>
#include "ESP8266WiFi.h"

const char* ssid = "The Kop Redmi 9";      //The Kop Redmi 9 //replace with our wifi ssid 
const char* password = "Supachai334";      //replace with your wifi password

const char* serverName = "https://db1.2kproject2020.com/webpage/linediaflow/notify.php";

int r_power = -1;
int r_energy = -1;
bool stopnow_power = false;
bool stopnow_energy = false;
int Power_Alert = 400;       //ค่ากำลังไฟฟ้าที่ต้องการให้แจ้งเตือน [watt]
//float Energy_Alert = 0.001; //ค่ายูนิตไฟฟ้าที่ต้องการให้แจ้งเตือน [unit]

HTTPClient http;

PZEM004Tv30 pzem(4, 5);

float voltage, current, power, energy, frequency, pf, Bill;

String url;

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());

    url = "https://db1.2kproject2020.com/webpage/linediaflow/notify.php";
    Serial.println();
    Serial.println("Get content from " + url);

    HTTPClient http;
    http.begin(url);
    int httpCode = http.GET();
    if (httpCode == 200) {
      String content = http.getString();
      Serial.println("Content ---------");
      Serial.println(content);
      Serial.println("-----------------");
    } else {
      Serial.println("Fail. error code " + String(httpCode));
    }
    Serial.println("END");
  }


void loop() {

  if (power > Power_Alert && stopnow_power == false) {
    String msg = "ขณะนี้ใช้ไฟฟ้า " + String(power) + " วัตต์" + " เกินความต้องการพลังไฟฟ้า 450 วัตต์";  //ข้อความที่จะส่ง LINE
    HTTPClient http;
    url = "https://db1.2kproject2020.com/webpage/linediaflow/notify.php?message=" + msg;
    
    http.begin(url);
    //int httpCode = http.GET();
    Serial.print("url:");
    Serial.println(url);
    
    int httpResponseCode = http.GET();
      if (httpResponseCode == 200) {
        String content = http.getString();
        Serial.println("Content ---------");
      } else {
        Serial.println("Fail. error code ");
        Serial.println(httpResponseCode);
      }
    
    r_power = 0;
    stopnow_power = true;
  }
  //  if (energy > Energy_Alert&&stopnow_energy==false) {
  //    String msg = "ขณะนี้ใช้ไฟฟ้า " + String(energy) + " ยูนิต";  //ข้อความที่จะส่ง LINE
  //    LINE.notify(msg);
  //    r_energy=0;
  //    stopnow_energy=true;
  //  }


  //https://db1.2kproject2020.com
  displayValue();
  url = "https://db1.2kproject2020.com/webpage/api/api.php?Voltage=";
  url += voltage;
  url += "&Current=";
  url += current;
  url += "&Power=";
  url += power;
  url += "&Energy=";
  url += energy;
  url += "&Frequency=";
  url += frequency;
  url += "&PF=";
  url += pf;
  url += "&Bill=";
  url += Bill;
  http.begin(url);
  int httpCode = http.GET();
  Serial.print("url:");
  Serial.println(url);
  Serial.print("statusCode: ");
  Serial.println(httpCode);

  url = "https://db1.2kproject2020.com/webpage/reset/reset_api.php";
  http.begin(url);
  httpCode = http.GET();
  int payload = http.getString().toInt();
  Serial.print("url:");
  Serial.println(url);
  Serial.print("statusCode: ");
  Serial.println(httpCode);
  Serial.print("payload: ");
  Serial.println(payload);

  if (payload != 0)
  {
    pzem.resetEnergy();
    url = "https://db1.2kproject2020.com/webpage/reset/reset_api.php?reset=0";
    http.begin(url);
    httpCode = http.GET();
    Serial.print("url:");
    Serial.println(url);
    Serial.print("statusCode: ");
    Serial.print(httpCode);
  }
  r_power++;
  if (r_power > 360) {
    r_power = 0;
    stopnow_power = false;
  }
  r_energy++;
  if (r_energy > 360) {
    r_energy = 0;
    stopnow_energy = false;
  }
  delay(5000);
}

void displayValue() {
  voltage = pzem.voltage(); //แรงดัน
  if ( !isnan(voltage) ) {
    Serial.print("Voltage : ");
    Serial.print(voltage);
    Serial.println("V");
  } else {
    Serial.println("Error reading voltage");
  }

  current = pzem.current(); //กระแส
  if ( !isnan(current) ) {
    Serial.print("Current : ");
    Serial.print(current);
    Serial.println("A");
  } else {
    Serial.println("Error reading current");
  }

  power = pzem.power(); //กำลังไฟฟ้า
  if ( !isnan(power) ) {
    Serial.print("Power : ");
    Serial.print(power);
    Serial.println(" W");
  } else {
    Serial.println("Error reading power");
  }
  energy = pzem.energy(); //พลังงาน
  if ( !isnan(energy) ) {
    Serial.print("Energy : ");
    Serial.print(energy, 3);
    Serial.println(" kWh");
  } else {
    Serial.println("Error reading energy");
  }
  frequency = pzem.frequency(); //ความถี่
  if ( !isnan(frequency) ) {
    Serial.print("Frequency : ");
    Serial.print(frequency, 1);
    Serial.println(" Hz");
  } else {
    Serial.println("Error reading frequency");
  }

  pf = pzem.pf(); //เพาว์เวอร์แฟคเตอร์
  if ( !isnan(pf) ) {
    Serial.print("PF : ");
    Serial.println(pf);
  } else {
    Serial.println("Error reading power factor");
  }

  Serial.println();

  //ตัวแปรรับค่า ค่าไฟประจำเดือน
  //float Electric_bill;

  if (energy >= 0 && energy <= 9999) {
    Bill = energy * 7;
  }
  Serial.print("Electric_bill: ");
  Serial.print(Bill , 3);
  Serial.println(" Bath");
  Serial.println();
}

โจทย์คืออะไร ครับจะให้มันทำอะไร อธิบายเพิ่มเติมหน่อยครับ

จะให้มันเชื่อมต่อกับ พวก url ได้ครับ ตอนนี้มันเชื่อมต่อกันไม่ได้

ลองเชื่อมพวกลิ้งค์ที่เป็น http รึยังครับ confrim หน่อยผมไม่แน่ใจว่า มันเอามาใช้กับ https ได้หรือไม่ หาลิ้งค์ http มาแทนดูก็รู้แล้ว อีกประเด็นคือ มีลิ้งค์อ้างอิงหรือไม่ ในตัวอย่างเข้าใช้ลิ้งค์แบบไหน อยู่น่าจะบอกได้อยู่

ลอง http ใช้ได้ปกติครับ
แต่ที่ผมทำ ผมจะทำ line bot จำเป็นต้องใช้https ครับ

ถ้าจะใช้ https ต้องใช้ SHA1 fingerprint มาในโค้ตด้วยนะครับ ถึงจะเชื่อมต่อได้ ลองหาข้อมูลมาดูหน่อยว่า line bot มันมีให้หรือไม่ แต่ส่วนตัวคิดว่า line bot คนเล่นเยอะ น่าจะมี library สำเร็จอยู่บ้าง หรือโค้ตตัวอย่าง

ลองหาข้อมูลมาคุยกันครับ


เคสนี้เป็นไงบ้าง ได้ไหมอัพเดทกันหน่อยครับ