#include <WiFi.h>
#include <HTTPClient.h>
#include "DHTesp.h"
const int DHT_PIN = 15;
const int BUTTON_PIN = 23;
DHTesp dhtSensor;
void setup() {
Serial.begin(9600);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
pinMode(BUTTON_PIN, INPUT_PULLUP);
Serial.print("Connecting to WiFi");
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
getTemAndHuumidty();
//postLineNotify();
}
void getTemAndHuumidty(char charTag) {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");
String str;
/*if ( strTag== "T" ){
str = "Temp: " + String(data.temperature, 2) + "°C";
}
else if( strTag== "H"){
str = "Humidity: " + String(data.humidity, 1) + "%25";
}
else{
str = "Temp: " + String(data.temperature, 2) + "°C\n"+",Humidity: " + String(data.humidity, 1) + "%25";
}
postLineNotify(str);*/
switch (charTag){
case 'T':
str = "Temp: " + String(data.temperature, 2) + "°C";
break;
case 'H':
str = "Humidity: " + String(data.humidity, 1) + "%25";
break;
default:
str = "Temp: " + String(data.temperature, 2) + "°C\n"+",Humidity: " + String(data.humidity, 1) + "%25";
}
postLineNotify(str);
}
void getTemAndHuumidty(){
getTemAndHuumidty('T');
getTemAndHuumidty('H');
getTemAndHuumidty('B');
}
void postLineNotify(String strVal){
HTTPClient http;
http.begin("https://notify-api.line.me/api/notify");
http.addHeader("Authorization","Bearer cucAktNpppdCuFmhtLmvKnLdldnzdd3asdnb0wN50EG");
http.addHeader("Content-Type","application/x-www-form-urlencoded");
int status_code = http.POST("message=Hi~\n" + strVal);
Serial.println("status_code" + String(status_code));
if (status_code > 0){
String http_content = http.getString();
Serial.println("http_content:" + http_content);
}
http.end();
}
void getHttpPayload(){
HTTPClient http;
http.begin("https://example.com");
int status_code = http.GET();
Serial.println("status_code" + String(status_code));
if (status_code > 0){
String http_content = http.getString();
Serial.println("http_content:" + http_content);
}
http.end();
}
int click;
void loop() {
if(digitalRead(BUTTON_PIN) == LOW ){
if (click == true) {
Serial.println("getTemAndHuumidty('T')");
getTemAndHuumidty('T');
}
else{
Serial.println("getTemAndHuumidty('H')");
getTemAndHuumidty('H');
}
click = !click ;
}
delay(60); // TODO: Build something amazing!
}