Почему не отправляет сообщение в телеграмм бот в Arduino?

Рейтинг: 0Ответов: 1Опубликовано: 28.05.2023

подключаю HW-201 к Nodemcu: VСС-VIN GND-GND OUT-D1

#include <ESP8266WiFi.h>
#include <UniversalTelegramBot.h>

const char* ssid = "BAMRULA";
const char* password = "58277561";
const char* botToken = "5901995511:AAFE383Gj7WN6-WXJazRKxGGQyTdE_dT3Y9";
String chatId = "1027667777";

WiFiClientSecure client;
UniversalTelegramBot bot(botToken, client);

// Пин, к которому подключен датчик движения
const int motionSensorPin = D1;

void setup() {
  Serial.begin(115200);
  
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }

  Serial.println("Connected to WiFi");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  // Читаем состояние датчика движения
  int motionState = digitalRead(motionSensorPin);

  // Выводим состояние датчика в серийный монитор
  Serial.print("Motion state: ");
  Serial.println(motionState);
  
  // Если датчик сработал (обнаружено движение)
  if (motionState == HIGH) {
    // Отправляем сообщение в Telegram
    String message = "Обнаружено движение!";
    bot.sendMessage(chatId, message);
    delay(5000); // Чтобы не отправлять сообщения слишком часто, задержка 5 секунд
  }
}

Хочу что б при срабатывании датчика hw-201 в телеграмм бот отправлялось сообщение "Обнаружено движение!", но сообщение не приходит, подскажите в чем проблема, спасибо!

Ответы

▲ 1Принят

Должно быть вот так:

   #include <UniversalTelegramBot.h>
   #include <ESP8266WiFi.h>
   #define WIFI_SSID "BAMRULA"
   #define WIFI_PASSWORD "58277561"
   WiFiClientSecure secured_client;   
   #define BOT_TOKEN "5901995511:AAFE383Gj7WN6-WXJazRKxGGQyTdE_dT3Y9"
   #define CHAT_ID "1027667777"
   const unsigned long BOT_MTBS = 3000;
   X509List cert(TELEGRAM_CERTIFICATE_ROOT);
   UniversalTelegramBot bot(BOT_TOKEN, secured_client);
   unsigned long bot_lasttime;

   int motionSensorPin = D5;
   int motionState;
   void setup() {
   pinMode(motionSensorPin, INPUT_PULLUP);
   Serial.begin(9600);
   configTime(0,0,"pool.ntp.org");
   secured_client.setTrustAnchors(&cert);
   Serial.print("Connecting to WiFi SSID");
   Serial.print(WIFI_SSID);
   WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
   while (WiFi.status() != WL_CONNECTED)
   {
    Serial.print(".");
    delay(300);
   }
   Serial.print("\nWiFi connected. IP adress : ");
   Serial.println(WiFi.localIP());
   }

  void loop() {

  Serial.print("Motion state: ");
  Serial.println(motionState);
  motionState = !digitalRead(motionSensorPin);
  if(motionState == HIGH){
  bot.sendMessage(CHAT_ID, "Обнаружено движение!", "");
  delay(500);
 
   }

  }