افزایش امنیت با محدود کردن دسترسی برای کنترل خروجی ها از طریق ربات تلگرام و NodeMCU
در این مقاله قصد داریم پروژه ارتباط NodeMCU با ربات تلگرام که قبلا کار کردیم رو ارتقا بدیم و امنیت اون رو افزایش بدیم. آموزش ساختار استفاده از توابع کتابخانه ضد فیلتر برای ربات تلگرام آیمکس را در این لینک مطالعه کنید تا کد های پروژه را بهتر متوجه بشید.
در متغییر های دریافتی از تابع وقفه دریافت پیام یک متغییر تحت عنوان sender_id داریم که در این پروژه با ذخیره سازی آیدی های مورد نظر دسترسی کاربران را برای فقط 10 نفر محدود میکنیم.
ابتدا فیلم تست پروژه را ببینید:
ابزار و لوازم مورد نیاز
برای برنامه نویسی و پروگرام کردن آن از Arduino IDE استفاده میکنیم که میتوانید از سایت رسمی آردوینو آن را دانلود و نصب کنید.
پردازنده اصلی پروژه یک ماژول وای فای esp8266 هست، که از برد توسعه NodeMCU استفاده کردیم.
برای نمایش وضعیت اتصال به ربات و 4 خروجی، 5 LED تهیه کنید.
برای تغییر وضعیت دستی خروجی ها 4 کلید فشاری کوچک تهیه کنید.
این پروژه با توابع کتابخانه ضد فیلتر ربات تلگرام آیمکس نوشته شده که باید قبل از اجرا پروژه آن را نصب کنید، از طریق لینک زیر فایل کتابخانه به همراه توضیحات و آموزش نصب را ببینید.
شماتیک پروژه
مدار خود را مطابق با شماتیک بالا متصل کنید.
تنظیمات داخل برنامه
برای اتصال ماژول به وای فای مورد نظر جهت اتصال به اینترنت و برقراری ارتباط با ربات تلگرام باید نام و رمز وای فای مورد نظر را در متغییر های اول برنامه جایگزین کنید
#define Ssid “wifi Ssid”
#define Password “wifi Password”
سپس باید توکن ربات شخصی خودتون رو در متغییر زیر وارد کنید. آموزش ساخت ربات و دریافت توکن را ببینید.
#define Bot_Key “token bot”
همانطور که در فیلم مشاهده کردید، برای تایید دسترسی باید پیامی به ربات ارسال کنیم؛ که پارامتر اول آن شماره کاربر است که از 1 تا 10 میتوانید وارد کنید. پس از کلمه admin باید رمز تایین شده داخل برنامه را وارد کنید که به صورت پیشفرض ما 1234 قرار دادیم.
برای تغییر این عدد باید متغییر زیر را که در ابتدای برنامه است را ویرایش کنید.
String user_pass = “1234”;
کد اصلی پروژه
برای دریافت رایگان کد این پروژه وارد لینک زیر شوید.
علت تاخیر کلید های فشاری چیه؟ آیا میشه رفعش کرد ؟
سلام برای دریافت اطلاعات از ربات تلگرام یک تاخیر چند ثانیه ای وجود دارد که باعث بروز این اتفاق میشود، راه حل این مشکل استفاده از ESP32 و قابلیت freeRTOS هست که به طور همزمان کلید مورد برسی باشد و دریافت اطلاعات از تلگرام هم به کار خود ادامه دهد. اگر قصد انجام این پروژه رو دارید با این شماره تماس بگیرید تا راهنماییتون کنم 09140360836