#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <dht.h>
#define dht_apin 19
dht DHT;
char ssid[] = "3bb-wlan";
char pass[] = "87654321";
#define TokenLine ""
String txt1 = "ัYour cactus humidity is ";
String txt2 = "Water Your Cattus NOW !!!";
String txt3 = "Humidity in air is ";
String txt4 = "Tempereture is ";
int sensorPin = 34;
void setup() {
pinMode(sensorPin, INPUT);
Serial.begin(115200);
WiFi.begin(ssid, pass);
Serial.print("WiFi Connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
}
void loop() {
int Humidity = analogRead(sensorPin);
if (Humidity < 700) {
Serial.print("Moisture Sensor Value:");
Serial.println(Humidity);
NotifyLine(txt1 + Humidity + txt2 + txt3 + DHT.humidity + txt4 + DHT.temperature );
}
else if (Humidity >= 700) {
Serial.print("Moisture Sensor Value:");
Serial.println(Humidity);
}
DHT.read11(dht_apin);
NotifyLine(txt1 + Humidity + txt3 + DHT.humidity + txt4 + DHT.temperature );
Serial.print("Current humidity = ");
Serial.print(DHT.humidity);
Serial.print("% ");
Serial.print("temperature = ");
Serial.print(DHT.temperature);
Serial.println("C ");
delay(5000);
delay(2000);
}
void NotifyLine(String t) {
WiFiClientSecure client;
if (!client.connect("notify-api.line.me", 443)) {
Serial.println("Connection failed");
return;
}
String req = "";
req += "POST /api/notify HTTP/1.1\r\n";
req += "Host: notify-api.line.me\r\n";
req += "Authorization: Bearer " + String(TokenLine) + "\r\n";
req += "Cache-Control: no-cache\r\n";
req += "User-Agent: ESP32\r\n";
req += "Content-Type: application/x-www-form-urlencoded\r\n";
req += "Content-Length: " + String(String("message=" + t).length()) + "\r\n";
req += "\r\n";
req += "message=" + t;
Serial.println(req);
client.print(req);
delay(20);
Serial.println("-------------");
while (client.connected()) {
String line = client.readStringUntil('\n');
if (line == "\r") {
break;
}
}
}
เเล้วผลรับในserial monitorมันขึ้นsensorทำงานปกติเเต่ มันขึ้นconnection failed เเล้วค่าก็ไม่ส่งมาในไลน์ครับ
รบกวนผู้รู้ช่วยตรวจสอบโค้ดของผมให้หน่อยครับ esp32
#include <WiFiClientSecure.h>
#include <dht.h>
#define dht_apin 19
dht DHT;
char ssid[] = "3bb-wlan";
char pass[] = "87654321";
#define TokenLine ""
String txt1 = "ัYour cactus humidity is ";
String txt2 = "Water Your Cattus NOW !!!";
String txt3 = "Humidity in air is ";
String txt4 = "Tempereture is ";
int sensorPin = 34;
void setup() {
pinMode(sensorPin, INPUT);
Serial.begin(115200);
WiFi.begin(ssid, pass);
Serial.print("WiFi Connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
}
void loop() {
int Humidity = analogRead(sensorPin);
if (Humidity < 700) {
Serial.print("Moisture Sensor Value:");
Serial.println(Humidity);
NotifyLine(txt1 + Humidity + txt2 + txt3 + DHT.humidity + txt4 + DHT.temperature );
}
else if (Humidity >= 700) {
Serial.print("Moisture Sensor Value:");
Serial.println(Humidity);
}
DHT.read11(dht_apin);
NotifyLine(txt1 + Humidity + txt3 + DHT.humidity + txt4 + DHT.temperature );
Serial.print("Current humidity = ");
Serial.print(DHT.humidity);
Serial.print("% ");
Serial.print("temperature = ");
Serial.print(DHT.temperature);
Serial.println("C ");
delay(5000);
delay(2000);
}
void NotifyLine(String t) {
WiFiClientSecure client;
if (!client.connect("notify-api.line.me", 443)) {
Serial.println("Connection failed");
return;
}
String req = "";
req += "POST /api/notify HTTP/1.1\r\n";
req += "Host: notify-api.line.me\r\n";
req += "Authorization: Bearer " + String(TokenLine) + "\r\n";
req += "Cache-Control: no-cache\r\n";
req += "User-Agent: ESP32\r\n";
req += "Content-Type: application/x-www-form-urlencoded\r\n";
req += "Content-Length: " + String(String("message=" + t).length()) + "\r\n";
req += "\r\n";
req += "message=" + t;
Serial.println(req);
client.print(req);
delay(20);
Serial.println("-------------");
while (client.connected()) {
String line = client.readStringUntil('\n');
if (line == "\r") {
break;
}
}
}
เเล้วผลรับในserial monitorมันขึ้นsensorทำงานปกติเเต่ มันขึ้นconnection failed เเล้วค่าก็ไม่ส่งมาในไลน์ครับ