#include <Arduino.h>
#include <HTTPClient.h>
#include <WiFi.h>
#include <ArtronShop_LineNotify.h> //Include Libery https://github.com/TridentTD/ArtronShop_LineNotify
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
const char WIFI_SSID[] = "Wokwi-GUEST"; // CHANGE IT
const char WIFI_PASSWORD[] = ""; // CHANGE IT
#define LINE_TOKEN "VDJyI2ybjpJV99GWwHUeadV3ei13Unv9IPsQqAZGkFr" //CHANGE IT https://notify-bot.line.me/en/
#define SCREEN_WIDTH 132
#define SCREEN_HEIGHT 64
#define OLED_RESET 16
Adafruit_SSD1306 display(OLED_RESET);
void displayString(const String buf, int x, int y)
{
int16_t x1, y1;
uint16_t w, h;
display.getTextBounds(buf, x, y, &x1, &y1, &w, &h);
display.setCursor(x, y);
display.print(buf);
}
void setup() {
Serial.begin(9600);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.println("Connecting");
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.clearDisplay();
displayString("Connecting ",0,0);
display.display();
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");display.print(".");display.display();
}
Serial.println("");
Serial.print("Connected to WiFi network with IP Address: ");
Serial.println(WiFi.localIP());
display.clearDisplay();
displayString("Connected ",0,0);
displayString(WiFi.localIP().toString(),0,15);
display.display();
pinMode(2, OUTPUT);//LED
delay(1000);
}
void WebsiteTracker(int WEB_ID,String WEB_NAME,String WEB_URL) {
LINE.setToken(LINE_TOKEN);
HTTPClient http;
http.begin(WEB_URL);
int httpCode = http.GET();
if (httpCode > 0) {
if (httpCode == HTTP_CODE_OK) {
String payload = http.getString();
Serial.println(".");
//LINE.send("\n" + WEB_URL + " , Code: " + httpCode);
displayString( "[/] " + WEB_NAME , 0,(3+(WEB_ID * 13)));
} else {
Serial.printf("%s , Error: %d\n", WEB_URL, httpCode);
LINE.send("ESP32\n" + WEB_URL + " , Error: " + httpCode);
displayString( "[X] " + WEB_NAME , 0,(3+(WEB_ID * 13)));
}
} else {
Serial.printf("%s , Error: %d\n", WEB_URL, httpCode);
//LINE.send("\n" + WEB_URL + " , Error: " + httpCode);
displayString( "[X] " + WEB_NAME , 0,(3+(WEB_ID * 13)));
}
http.end();
delay(1000);
}
void loop() {
digitalWrite(2, HIGH); //LED Status
display.clearDisplay();
displayString( "Website Monitoring", 0,0 );
display.display();delay(1500);
WebsiteTracker(1,"www.myhora.com","https://www.myhora.com"); //CHANGE IT
display.display();
WebsiteTracker(2,"eph.myhora.com","http://eph.myhora.com");
display.display();
WebsiteTracker(3,"www.tumnai.com","https://www.tumnai.com");
display.display();
WebsiteTracker(4,"www.horathai.com","https://www.horathai.com");
display.display();
digitalWrite(2, LOW); //LED Status
delay(5 * 60 * 1000); // 5 Minute
}