//#include "CTBot.h";
//#include <ArduinoJson.h>
//#include <Utilities.h>
//#include <WiFiClientSecure.h>
//#include <UniversalTelegramBot.h>
//#include "WiFi.h"
//#define USE_CLIENTSSL true
#define USE_CLIENTSSL true
#include <AsyncTelegram2.h>
// Timezone definition
#include <time.h>
#define MYTZ "CET-1CEST,M3.5.0,M10.5.0/3"
#ifdef ESP8266
#include <ESP8266WiFi.h>
BearSSL::WiFiClientSecure client;
BearSSL::Session session;
BearSSL::X509List certificate(telegram_cert);
#elif defined(ESP32)
#include <WiFi.h>
#include <WiFiClient.h>
#if USE_CLIENTSSL
#include <SSLClient.h>
#include "tg_certificate.h"
WiFiClient base_client;
SSLClient client(base_client, TAs, (size_t)TAs_NUM, A0, 1, SSLClient::SSL_ERROR);
#else
#include <WiFiClientSecure.h>
WiFiClientSecure client;
#endif
#endif
//PIN RELAY
#define RELAY_1 2
#define RELAY_2 0
#define RELAY_3 4
#define RELAY_4 16
#define RELAY_5 17
#define RELAY_6 5
#define RELAY_7 18
#define RELAY_8 19
#define RELAY_9 21
const String SSID = "Wokwi-GUEST";
const String password = "";
char *token = "6708724237:AAFafFdbmOy1pnFLzuVEcpKlW3rgc0l83Hs";
uint64_t chat_id = 5844660272;
//WiFiClient client;
//CTBot myBot(client, telegram_token);
//UniversalTelegramBot bot(token, secured_client);
AsyncTelegram2 myBot(client);
const String pesan_relay[] = {
"Pesan untuk Relay ke-1",
"Pesan untuk Relay ke-2",
"Pesan untuk Relay ke-3",
"Pesan untuk Relay ke-4",
"Pesan untuk Relay ke-5",
"Pesan untuk Relay ke-6",
"Pesan untuk Relay ke-7",
"Pesan untuk Relay ke-8",
"Pesan untuk Relay ke-9"
};
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
//Serial.println("Hello, ESP32!");
Serial.println("Menghubungkan ke WiFi SSID ... ");
Serial.println(SSID);
WiFi.begin(SSID, password);
//secured_client.setCACert(TELEGRAM_CERTIFICATE_ROOT);
while(WiFi.status() != WL_CONNECTED){
Serial.println(".");
delay(500);
}
//myBot.wifiConnect(SSID, password);
configTzTime(MYTZ, "time.google.com", "time.windows.com", "pool.ntp.org");
Serial.print("\nTerkoneksi Ke WIFI, Alamat IP : ");
Serial.println(WiFi.localIP());
#ifdef ESP8266
// Sync time with NTP, to check properly Telegram certificate
configTime(MYTZ, "time.google.com", "time.windows.com", "pool.ntp.org");
//Set certficate, session and some other base client properies
client.setSession(&session);
client.setTrustAnchors(&certificate);
client.setBufferSizes(1024, 1024);
#elif defined(ESP32)
// Sync time with NTP
configTzTime(MYTZ, "time.google.com", "time.windows.com", "pool.ntp.org");
#if USE_CLIENTSSL == false
client.setCACert(telegram_cert);
#endif
#endif
//Serial.print(("Alamat IP: "));
//Serial.println(WiFi.localIP());
//myBot.begin();
//myBot.setUpdateTime(2000);
//myBot.setTelegramToken(token);
/*if(myBot.testConnection()){
Serial.println("\nTes Koneksi OK");
} else {
Serial.println("\nTes Koneksi NOK");
}*/
//char buffer[40];
//sprintf(buffer, "pesan dari esp32");
myBot.setUpdateTime(2000);
myBot.setTelegramToken(token);
Serial.print("\nTest Telegram connection... ");
myBot.begin() ? Serial.println("OK") : Serial.println("NOK");
char welcome_msg[128];
snprintf(welcome_msg, 128, "BOT @%s online using AsyncTelegram2", myBot.getBotName());
myBot.sendTo(chat_id, welcome_msg);
pinMode(RELAY_1, INPUT);
pinMode(RELAY_2, INPUT);
pinMode(RELAY_3, INPUT);
pinMode(RELAY_4, INPUT);
pinMode(RELAY_5, INPUT);
pinMode(RELAY_6, INPUT);
pinMode(RELAY_7, INPUT);
pinMode(RELAY_8, INPUT);
pinMode(RELAY_9, INPUT);
//pinMode(RELAY_10, INPUT_PULLUP);
digitalWrite(RELAY_1, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
uint8_t status_relay_1 = digitalRead(RELAY_1);
uint8_t status_relay_2 = digitalRead(RELAY_2);
uint8_t status_relay_3 = digitalRead(RELAY_3);
uint8_t status_relay_4 = digitalRead(RELAY_4);
uint8_t status_relay_5 = digitalRead(RELAY_5);
uint8_t status_relay_6 = digitalRead(RELAY_6);
uint8_t status_relay_7 = digitalRead(RELAY_7);
uint8_t status_relay_8 = digitalRead(RELAY_8);
uint8_t status_relay_9 = digitalRead(RELAY_9);
if(status_relay_1 == HIGH){
Serial.println("presss");
delay(1000);
} else {
Serial.println("un press");
delay(1000);
}
//TBMessage msg;
// check if there is a new incoming message
//myBot.sendMessage(msg.sender.id, "asu", "");
//delay(1000);
}