فهرست مطالب:

[IoT] ربات تلگرام با Arduino MKR WiFi 1010: 5 مرحله
[IoT] ربات تلگرام با Arduino MKR WiFi 1010: 5 مرحله

تصویری: [IoT] ربات تلگرام با Arduino MKR WiFi 1010: 5 مرحله

تصویری: [IoT] ربات تلگرام با Arduino MKR WiFi 1010: 5 مرحله
تصویری: ساخت ربات تلگرام با پایتون 2024, نوامبر
Anonim
Image
Image
آنچه شما نیاز دارید
آنچه شما نیاز دارید

این پروژه نحوه ارتباط Arduino با API های Telegram Bot را نشان می دهد. این پروژه بر اساس برد جدید MKR WiFi 1010 مجهز به ماژول ESP32 توسط U-BLOX ساخته شده است.

در این مرحله ، پروژه چیزی بیشتر از اثبات مفهوم نیست ، فقط برای نشان دادن آنچه می توانید با آن انجام دهید ، بنابراین برای این کار فقط به برد آردوینو نیاز دارید.

اما ربات تلگرام چیست؟ خوب ، ربات ها فقط حساب های تلگرام هستند که توسط نرم افزار اداره می شوند - نه افراد - و اغلب دارای ویژگی های AI هستند. آنها می توانند هر کاری را انجام دهند - آموزش ، بازی ، جستجو ، پخش ، یادآوری ، اتصال ، ادغام با سایر خدمات و یا حتی ارسال دستورات به اینترنت اشیا. (اعتبار توسط تلگرام:

در مورد ما ، ما دستوراتی را به Arduino منتقل می کنیم که یک دستگاه IoT ساده بسازد. به دستورات ساده پاسخ می دهد و همچنین Led داخلی را روشن/خاموش می کند. اجازه می دهم تخیل شما بیشتر با آن کار کند … (تصور کنید که یک یا چند رله را به پین های ورودی و خروجی وصل کرده و مثلاً بخاری یا سیستم تهویه مطبوع را با تلفن هوشمند خود روشن/خاموش کنید).

مرحله 1: آنچه شما نیاز دارید

آنچه شما نیاز دارید
آنچه شما نیاز دارید

برای این پروژه شما نیاز دارید:

  • Arduino MKR WiFi 1010 از فروشگاه Arduino:
  • Arduino IDE 1.8.5 یا بالاتر:
  • یک کابل micro-USB برای اتصال Arduino به رایانه خود
  • اتصال به اینترنت ، به SSID و رمز عبور نیاز دارد. بهتر است از روتر خانگی خود استفاده کنید تا مطمئن شوید مسدود نشده است.
  • برنامه تلگرام بر روی تلفن هوشمند شما ، صرف نظر از مارک تجاری ، برای نسخه های رایانه شخصی و وب نیز اینجا را بررسی کنید!

مرحله 2: نصب IDE

نصب IDE
نصب IDE
نصب IDE
نصب IDE
نصب IDE
نصب IDE

بله ، من می دانم ، من می دانم … اکثر شما قبلاً Arduino IDE را در رایانه خود نصب کرده اید ، اما این دستورالعمل برای مبتدیان نیز مناسب است. بنابراین ، اول از همه ، Arduino IDE 1.8.5 را به دلخواه بارگیری کنید (فایل فشرده برای "غیر مدیران" یا فایل exe)

نسخه 1.8.5 توصیه می شود ، من نسخه های قدیمی را آزمایش نکردم و برد جدید مورد استفاده در پروژه به هیچ عنوان قابل پشتیبانی نیست.

اکنون باید بردهای جدید را با درایورهای آنها نصب کنید:

  1. IDE را راه اندازی کنید
  2. از منوی Tools ، Boards را انتخاب کنید ، سپس در بالای لیست پردازنده ها ، Boards manager را انتخاب کنید.
  3. پنجره جدید را پیمایش کنید (تصویر را ببینید) تا زمانی که تابلوهای Arduino SAMD که شامل MKR WiFi 1010 جدید است را پیدا کنید.
  4. روی آن برگه کلیک کنید یا بر روی More info درون برگه کلیک کنید ، آخرین نسخه را انتخاب کرده و نصب کنید.
  5. منتظر بمانید تا نصب کامل شود. همچنین از نصب درایورها نیز مراقبت خواهد کرد
  6. همچنین برای این برد به یک کتابخانه WiFi جدید نیاز دارید: Sketch ، Include Library و Manage Libraries را انتخاب کنید. Wifinina را جستجو کرده و همانند پردازنده بالا نصب کنید.

اکنون برد جدید آردوینو خود را متصل کرده و منتظر بمانید تا ویندوز نصب درایور را تکمیل کند.

از منوی Tools-> Board ، تخته های جدید را پیدا خواهید کرد ، MKR WiFi 1010 را انتخاب کنید.

یک کتابخانه خاص دیگر برای این پروژه مورد نیاز است ، این کتابخانه ESP8266TelegramBot توسط Giancarlo Bacchio است. این کتابخانه برای کار با این صفحه کمی تغییر یافته است ، بنابراین در پوشه طرح ها گنجانده شده است.

پورت کام صحیح را انتخاب کرده و برد را با دستور Get Board Info آزمایش کنید.

تبریک می گوییم ، کار با IDE تمام شد!

مرحله 3: ایجاد ربات تلگرام

ایجاد ربات تلگرام
ایجاد ربات تلگرام
ایجاد ربات تلگرام
ایجاد ربات تلگرام
ایجاد ربات تلگرام
ایجاد ربات تلگرام

ایجاد ربات جدید تلگرام بسیار ساده است.

برنامه تلگرام را باز کنید و در نوار جستجو ،BotFather را تایپ کرده و با او گپ بزنید (تصویر 1). BotFather… کارخانه ربات است. این به شما کمک می کند تا یک ربات جدید ایجاد کرده و تنظیمات آن را تغییر دهید.

بعد از دستور /start لیست راهنما را مشاهده می کنید (تصویر 2).

  • Type /newbot (image3) حالا نام ربات خود را تایپ کنید. نام در اطلاعات تماس و جاهای دیگر نمایش داده می شود.
  • BotFather از شما نام کاربری می خواهد. نام کاربری یک نام کوتاه است که در ذکرها و پیوندهای telegram.me استفاده می شود. نامهای کاربری 5 تا 32 نویسه هستند و به حروف کوچک و کوچک حساس نیستند ، اما ممکن است فقط شامل نویسه ها ، اعداد و زیرخط های لاتین باشد. نام کاربری ربات شما باید به "bot" ختم شود ، به عنوان مثال. "tetris_bot" یا "TetrisBot".
  • اگر نام و نام کاربری معتبر باشد ، یک رشته طولانی از کاراکترها به نام TOKEN دریافت خواهید کرد. این "کلید" شخصی شما برای ارتباط با سرورهای تلگرام است. در حال حاضر آن را در یک فایل متنی روی رایانه خود کپی و جایگذاری کنید. ما بعداً آن را در کد Arduino استفاده می کنیم. اگر آن را از دست دادید نگران نباشید ، فقط چت را باز کرده و تایپ کنید /token برای ایجاد یک مورد جدید.

همه مراحل در اینجا شرح داده شده است:

پیشرفته (اختیاری)

چت را مجدداً باز کرده و تایپ کنید /راهنما

برای بارگذاری یک عکس برای ربات خود ، روی (یا تایپ کنید) /setuserpic کلیک کنید. روی (یا تایپ کنید) /setabouttext برای تنظیم قسمت درباره ربات خود: افراد این متن را در صفحه نمایه ربات مشاهده می کنند و همراه با آن ارسال می شود پیوند به ربات شما وقتی آن را با کسی به اشتراک می گذارد.

روی (یا نوع) /setdescription کلیک کنید تا یک قسمت توضیحات برای ربات خود تنظیم کنید. افراد وقتی این چت را با ربات شما باز می کنند ، در بلوکی با عنوان "این ربات چه کاری می تواند انجام دهد؟" مشاهده می کنند.

مرحله 4: اصلاح ، بارگذاری و آزمایش طرح

اصلاح ، بارگذاری و آزمایش طرح
اصلاح ، بارگذاری و آزمایش طرح
اصلاح ، بارگذاری و آزمایش طرح
اصلاح ، بارگذاری و آزمایش طرح
اصلاح ، بارگذاری و آزمایش طرح
اصلاح ، بارگذاری و آزمایش طرح

زمان بارگذاری نرم افزار بر روی برد Arduino MKR WiFi 1010 فرا رسیده است.

فایلهای پیوست را بارگیری کنید ، به دلایلی نمی توانم ZIP را بارگذاری کنم ، بنابراین پوشه ای با نام sketch ایجاد کنید و 4 فایل داخل آن را کپی کنید ، لطفاً نام خود را تغییر ندهید مگر اینکه بدانید در حال انجام چه کاری هستید.

تغییر

طرح را باز کنید ، ما باید برخی اطلاعات (تصویر 1) را پر کنیم: arduino_secrets.h را با اعتبار وای فای و تلگرام خود پر کنید.

  • اطلاعات شبکه WiFi را پیدا کرده و نام شبکه (SSID) و رمز عبور خود را وارد کنید.
  • اطلاعات ربات تلگرام را پیدا کرده و نام ، نام کاربری و رمز ارائه شده توسطBotFather را تایپ کنید

بارگذاری

مطمئن شوید که برد درست است (تصویر 2) در ide و متصل است ، سپس کد را کامپایل کنید. اگر کامپایل به خوبی پیش رفت ، آن را روی صفحه بارگذاری کنید ، فقط چند ثانیه طول می کشد.

در صورت بروز مشکل ، اشتباه تایپی را بررسی کرده و دوباره امتحان کنید.

تست

[مهم!] این طرح سیاهههای مربوط را به IDE ارسال می کند. پردازنده دارای یک پورت USB بومی (مانند بردهای لئوناردو) است. پس از روشن شدن ، کد منتظر می ماند تا مانیتور سریال اجرا شود. بنابراین ، اجازه دهید به رایانه متصل شود و مانیتور سریال را باز کنید. آردوینو ابتدا به اینترنت متصل می شود ، سپس نظرسنجی از سرور تلگرام برای پیام های جدید (image3) را آغاز می کند.

حالا تلگرام را در دستگاه دلخواه خود باز کنید و در کادر جستجو ، نام ربات خود را بنویسید (نه نام کاربری که با "bot" خاتمه می یابد). چت را با آن باز کنید.

اولین فرمان برای شروع چت با یک ربات /start است ، آردوینو ما با یک پیام خوش آمدگویی پاسخ می دهد. اکنون راهنما را تایپ کنید (بدون خط کشی) ، با لیستی از دستورات پشتیبانی شده پاسخ می دهد ، می توانید همه آنها را امتحان کنید (تصویر 4).

کار شما به پایان رسیده است ، اگر چیزی کار نمی کند ، اطلاعات وارد شده در طرح (نام ، نام کاربری ، رمز …) را بررسی کنید.

اگر در اتصال به سرور تلگرام دچار خطا شده اید (log: Bot متصل نیست):

  • ابزارها-> Wifi101/wifinina updater را باز کنید
  • مطمئن شوید که برد شما متصل است ، پورت های سمت چپ ابزار Updater را بررسی کنید ، برد باید آنجا باشد
  • روی Open skaterch Updater کلیک کرده و آن را روی برد بارگذاری کنید
  • پس از بارگذاری ، در Updater آخرین سیستم عامل را برای برد خود انتخاب کرده و روی بروزرسانی سیستم عامل کلیک کنید
  • پس از بروزرسانی ، در Updater ، بخش گواهینامه های SSL ، روی افزودن دامنه کلیک کنید ، در محاوره ای telegram.org:443 بنویسید و سپس OK را فشار دهید.
  • روی بارگذاری گواهی ها به ماژول wifi کلیک کنید
  • این طرح را روی تخته بارگذاری کنید

مرحله 5: پیشرفت ها

بهبودها
بهبودها

با نگاه کردن به کد ، پیاده سازی دستورات جدید و پاسخ به کاربر بسیار ساده است.

دستورات جدید: می توانید برای هر دستور جدید یک ساب بنویسید. هر زیرمجموعه ای تکمیل فرمان را بر عهده می گیرد و (در نهایت) اطلاعات وضعیت را به کاربر باز می گرداند.

محدود کردن کاربران: البته این پروژه فقط یک نسخه نمایشی است. هر کاربر تلگرام می تواند به خانه شما متصل شود و دستورات ناخواسته را ارسال کند. تو این را نمی خواهی !.

خوب ، به تصویر 1 نگاه کنید ، 2 کاربر متصل را نشان می دهد. همانطور که می بینید هر کاربر شناسه کاربری خود را دارد. با کمی کار در سمت کد می توانید فقط برای کاربران مجاز فیلتر کنید (یا فهرستی بسازید). فقط کد را مطالعه کنید و سعی کنید شماره شناسه کاربر را رهگیری کنید. سپس دستورات را فقط از کاربران شناخته شده اجرا کنید.

سخت افزار: در قسمت سخت افزاری ، تعداد زیادی سنسور و رله می توانند به پین های ورودی/خروجی آردوینو متصل شوند.

مراقب باشید: برد مورد استفاده در این پروژه دارای مقاومت 3.3 ولت است !!! در صورت لزوم از یک تغییر دهنده ولتاژ استفاده کنید! برای اطلاعات بیشتر و راهنمایی در مورد این برد لطفا اینجا را بخوانید:

این همه ، لذت ببرید!

توصیه شده: