آموزش ارتباط ربات تلگرام به esp8266
با سلام خدمت دوستان عزیز!
در این آموزش قصد دارم تا بین ربات تلگرام و ماژول های وای فای esp انتقالدیتا انجام بدم و نیازه آموزش های زیر رو مطالعه کنید
۱-آموزش ساخت ربات تلگرام با بات فادر
۲- آموزش برنامه نویسی esp با آردویینو
در اینجا ما با نصب کتابخونه ربات تلگرام در آردوینو ، برنامه نویسیه ربات تلگرامی را در آردوینو برای esp رو به شرح زیر شروع میکنیم:
ابتدا فایل های کتابخانه ربات رو دانلود کنید :
پس از دانلود فایل ها رو اکسترکت کنید و در آدرس زیر به شکل زیر فایهارو قرار بدید :
C:\Users\mehdi_sehati\Documents\Arduino\libraries
برنامه آردوینو برای اتصال ESP8266 به ربات تلگرام
کد زیر برنامه ارتباط برای انواع برد آردوینو با ربات تلگرام میباشد. در این برنامه کامندهای ربات تلگرام تعریف شدهاند. دو کامند /ledon و /ledoff که به پین متصل شده در برد فرمان میدهد. این کامندها به کامندهای مورد نیاز شما قابل تغییر است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
#include <ESP8266WiFi.h> #include <WiFiClientSecure.h> #include <UniversalTelegramBot.h> // Initialize Wifi connection to the router char ssid[] = "***"; // نام روتر وایفای char password[] = "123456789"; // پسورد وایفای // Initialize Telegram BOT #define BOTtoken "441099696:AAE**************nBb9Qp4NnqpH2XvuE" // توکن ربات تلگرام WiFiClientSecure client; UniversalTelegramBot bot(BOTtoken, client); int Bot_mtbs = 1000; //mean time between scan messages long Bot_lasttime; //last time messages' scan has been done bool Start = false; const int ledPin = D2; int ledStatus = 0; void handleNewMessages(int numNewMessages) { Serial.println("handleNewMessages"); Serial.println(String(numNewMessages)); for (int i=0; i<numNewMessages; i++) { String chat_id = String(bot.messages[i].chat_id); String text = bot.messages[i].text; String from_name = bot.messages[i].from_name; if (from_name == "") from_name = "Guest"; if (text == "/ledon") { digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level) ledStatus = 1; bot.sendMessage(chat_id, "Led is ON", ""); } if (text == "/ledoff") { ledStatus = 0; digitalWrite(ledPin, LOW); // turn the LED off (LOW is the voltage level) bot.sendMessage(chat_id, "Led is OFF", ""); } if (text == "/status") { if(ledStatus){ bot.sendMessage(chat_id, "Led is ON", ""); } else { bot.sendMessage(chat_id, "Led is OFF", ""); } } if (text == "/ip") { IPAddress ip; char buffer[20]; Serial.print("IP address: "); Serial.println(WiFi.localIP()); ip = WiFi.localIP(); sprintf(buffer,"ESP Ip Adress : %d.%d.%d.%d", ip[0],ip[1],ip[2],ip[3]); Serial.println(buffer); bot.sendMessage(chat_id, buffer, ""); } if (text == "/start") { String welcome = "به برنامه ارتباط اینترنت اشیاء با ربات تلگرام خوش آمدید" + @MicroDroidPrj + ".\n"; welcome += "برنامه نمونه برای مدیریت ال ای دی.\n\n"; welcome += "/ip : جهت دریافت مقدار آی پی از این دستور استفاده کنید.\n"; welcome += "/ledon : جهت روشن کردن ال ای دی از این دستور استفاده کنید.\n"; welcome += "/ledoff : جهت خاموش کردن ال ای دی از این دستور استفاده کنید.\n"; welcome += "/status : چنانچه نمیدانید ال ای دی در چه وضعیتی است از این دستور استفاده کنید.\n"; welcome += "چت آی دی شما :\n"; welcome += chat_id ; welcome += "\n MicroDroidPrj.ir" ; bot.sendMessage(chat_id, welcome, "Markdown"); } } } void setup() { Serial.begin(115200); // Set WiFi to station mode and disconnect from an AP if it was Previously // connected WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); // attempt to connect to Wifi network: Serial.print("Connecting Wifi: "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println(""); Serial.println("WiFi connected"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); pinMode(ledPin, OUTPUT); // initialize digital ledPin as an output. delay(10); digitalWrite(ledPin, LOW); // initialize pin as off } void loop() { if (millis() > Bot_lasttime + Bot_mtbs) { int numNewMessages = bot.getUpdates(bot.last_message_received + 1); while(numNewMessages) { Serial.println("got response"); handleNewMessages(numNewMessages); numNewMessages = bot.getUpdates(bot.last_message_received + 1); } Bot_lasttime = millis(); } } |
یوزنیم و پسور وای فای + توکن ربات تلگرام را در کدها وارد کنید. سپس روی برد آپلود کنید. پس از آن همانند تصویر زیر وارد ربات تلگرام که ساختهاید بشوید و Start را بزنید.
بعد از اتصال به مودم IP اختصاص یافته به برد ESP8266 در ترمینال سریال برنامه آردوینو نمایش داده میشود.
بعد از این مرحله کافیست نام رباتی که ایجاد کردید را در تلگرام جست و جو کنید و strat را بزنید..
موفق و سربلند باشید.
مطالب پیشنهادی:پروژه کنترل رله ۸ کانال و دریافت دما و تعریف کاربران مجاز برای ربات
سلام خسته نباشید من میخوام ماژول وای فای esp8266 را برنامه نویسی کنم باید چکار کنم
سلام آموزشش تو سایت هست هم با آردوینو و هم با لدر