Почему не отправляет сообщение в телеграмм бот в Arduino?
подключаю 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 шт):
Автор решения: GoIs
→ Ссылка
Должно быть вот так:
#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);
}
}