#include <FastBot.h>
#define ssid "MySSID"
#define password "passwrd"
#define BOT_TOKEN "token" // Токен бота...
#define CHAT_ID "chatid"
FastBot bot(BOT_TOKEN);
void setup() {
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(200);
if (millis() > 20000) ESP.restart();
}
bot.setChatID(CHAT_ID);
bot.attach(newMsg);
// индикатор активности цикла LOOP
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
}
void loop() {
// мигалка встроенным светодиодом, индикатор активности LOOP
static bool led_state = true;
static uint32_t timer_ = millis();
if (millis() - timer_ > 1000) {
digitalWrite(2, led_state = !led_state);
timer_ = millis();
}
// в этом месте подвисает, когда связи с api.telegram.org нет (или обрыв WiFi)
// если строку bot.tick(); закомментировать, то при обрыве связи все ОК
bot.tick();
if (Serial.available()) {
// работа с интерфейсом UART
}
// еще кусок кода, который должен исполняться независимо от наличия интернета и WiFi-соединения
}
void newMsg(FB_msg& msg) {
// обработка сообщений из чата
}