- للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
- خطوات انشاء التلغرام البوت وربطه مع الويموس:
المرحلة 1: إنشاء بوت Telegram
- افتح تطبيق Telegram
- في البحث اكتب:
BotFather
- ستجده بحساب موثق ✔️
- اضغط Open
- اضغط Create a New Bot
- سيطلب منك كتابة:
- ✔️ اسم البوت (Bot Name)
- مثال: Smart Alert System
- ✔️ اسم المستخدم في الخانة الثالثة (username_bot)
- ⚠️ مهم: يجب أن ينتهي بـ bot وبدون مسافات
- مثال: smart_1950_bot (يجب الا يكون مستعمل مسبقا)
- بعدها اضغط Create Bot
- بعدها سيعطيك التوكن (TOKEN)، ستظهر لك رسالة مثل:
123456789:AAAbbbCCCxxxYYYzzz
- 📌 هذا التوكن مهم جدا
- 👉 اضغط Copy احتفظ به جيدًا
المرحلة 2: إنشاء مجموعة Telegram بالتفصيل
- لإنشاء المجموعة، اضغط:
- اختر أي شخص (يمكن حذفه لاحقًا)
- اكتب اسم المجموعة:
- مثال:
Home Alerts
- اضغط على OK
- لاضافة البوت للمجموعة، اولا عد الى الصفحة الرئيسية للتلغرام
- اكتب اسم المستخدم username_bot في خانة البحث
- اضغط على Start
- اضغط على اسمها من الأعلى
- اختر: Add to Group or Channel
- ابحث عن اسم المجموعة وأضفه اليها
- ✔️ فعّل خاصية Manage Group وكل الخاصيات التي تحتها
- اضغط Add bot as Admin
المرحلة 3: الحصول على CHAT ID (أهم خطوة)
- في المجموعة اكتب رسالة: hello ثم ارسلها
- افتح المتصفح واكتب:
- https://api.telegram.org/botTOKEN/getUpdates
- 📌 استبدل:
- كلمة TOKEN ← بالتوكن الخاص بك الذي نسخته مسبقا واحتفظت به
- ستظهر لك بيانات JSON مثل:
{"ok": true,"result": [{"message": {"chat": {"id": -1001234567890,"title": "Home Alerts"}}}]}
- 📌 انسخ رقم id الفريد الذي سيظهر لك: مثلا هنا 1001234567890-
- 👉 هذا هو: CHAT_ID
المرحلة 4: إعداد Arduino IDE + Wemos
- افتح Arduino IDE
- File → Preferences
- أضف هذا الرابط: http://arduino.esp8266.com/stable/package_esp8266com_index.json
- لتثبيت البورد، اختر: Tools → Board → Boards Manager
- ابحث: ESP8266
- اضغط Install
- لاختيار البورد، اختر:Tools → Board → LOLIN (Wemos) D1 R1
المرحلة 5: ما يجب اضافته في الكود
- قبل رفع الكود الى اللوحة، يجب عدم تركيب الاسلاك مع لوحة الويموس حتى اكتمال عملية الرفع.
- كما يجب تنزيل المكتبات التالية:
- مكتبة ESP8266WiFi.h.
- مكتبة WiFiClientSecure.h.
- مكتبة UniversalTelegramBot.h.
- مكتبة DHT.h
- للإطلاع على كيفية تحميل وتنصيب المكتبات قم بزيارة الرابط التالي.
- في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <DHT.h>
// — إعدادات الحساس —
#define DHTPIN D4 // الدبوس المتصل بحساس DHT11
#define DHTTYPE DHT11 // نوع الحساس
DHT dht(DHTPIN, DHTTYPE);
// — بيانات الشبكة وتلجرام —
const char* ssid = “Redmi A1”;
const char* pass = “19041904”;
const char* BOT_TOKEN = “8604308627:AAEJnHjAbfa1r5z-g2zrNaVRiXmMn1wlNw0”;
const char* CHAT_ID = “-1004337592927”;
const int BUZZER = D2;
bool alertActive = false;
const float HUMIDITY_THRESHOLD = 70.0; // عتبة الرطوبة التي يبدأ عندها التحذير
WiFiClientSecure client;
UniversalTelegramBot bot(BOT_TOKEN, client);
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(BUZZER, OUTPUT);
digitalWrite(BUZZER, LOW);
WiFi.begin(ssid, pass);
client.setInsecure();
Serial.print(“Connecting to WiFi…”);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(“.”);
}
bot.sendMessage(CHAT_ID, “نظام حماية المواد الغذائية من التعفن يعمل الآن.”, “”);
}
void loop() {
delay(2000); // DHT11 يحتاج تأخير بين القراءات
float h = dht.readHumidity(); // قراءة الرطوبة
if (isnan(h)) {
Serial.println(“فشل قراءة حساس DHT!”);
return;
}
Serial.print(“Humidity: “);
Serial.println(h);
if (h > HUMIDITY_THRESHOLD) {
if (!alertActive) {
String alertMsg = “⚠️ تحذير: رطوبة عالية (” + String(h) + “%)! خطر تعفن المواد الغذائية.”;
bot.sendMessage(CHAT_ID, alertMsg, “”);
alertActive = true;
}
// تفعيل الجرس
digitalWrite(BUZZER, HIGH);
delay(200);
digitalWrite(BUZZER, LOW);
} else {
if (alertActive) {
bot.sendMessage(CHAT_ID, “✅ الرطوبة عادت للمستوى الآمن.”, “”);
alertActive = false;
}
digitalWrite(BUZZER, LOW);
}
}