جدول المحتويات:

[IoT] Telegram Bot مع Arduino MKR WiFi 1010: 5 خطوات
[IoT] Telegram Bot مع Arduino MKR WiFi 1010: 5 خطوات

فيديو: [IoT] Telegram Bot مع Arduino MKR WiFi 1010: 5 خطوات

فيديو: [IoT] Telegram Bot مع Arduino MKR WiFi 1010: 5 خطوات
فيديو: Linux Full Course | Part - 1 | Introduction to Linux | Linux For Beginners 2024, يوليو
Anonim
Image
Image
ماذا تحتاج
ماذا تحتاج

يوضح هذا المشروع كيفية ربط Arduino بواجهات برمجة تطبيقات Telegram Bot. تم بناء المشروع حول لوحة MKR WiFi 1010 الجديدة المجهزة بوحدة ESP32 من U-BLOX.

في هذه المرحلة ، لا يعد المشروع أكثر من إثبات للمفهوم ، فقط لتظهر لك ما يمكنك فعله ، لذلك تحتاج فقط إلى لوحة Arduino.

لكن ما هو Telegram Bot؟ حسنًا ، الروبوتات هي ببساطة حسابات Telegram يتم تشغيلها بواسطة البرامج - وليس الأشخاص - وغالبًا ما يكون لديهم ميزات AI. يمكنهم فعل أي شيء - التدريس أو اللعب أو البحث أو البث أو التذكير أو الاتصال أو الاندماج مع الخدمات الأخرى أو حتى تمرير الأوامر إلى إنترنت الأشياء. (اعتمادات Telegram:

في حالتنا سنقوم بتمرير الأوامر إلى Arduino لبناء جهاز إنترنت الأشياء البسيط. سوف يستجيب للأوامر البسيطة وأيضًا تشغيل / إيقاف تشغيل LED المدمج. سأدع خيالك يفعل المزيد به … (تخيل أن تقوم بتوصيل مرحل واحد أو أكثر بمنافذ الإدخال / الإخراج وتشغيل / إيقاف تشغيل السخان أو نظام تكييف الهواء بهاتفك الذكي ، على سبيل المثال).

الخطوة 1: ما تحتاجه

ماذا تحتاج
ماذا تحتاج

لهذا المشروع تحتاج:

  • Arduino MKR WiFi 1010 من متجر Arduino:
  • Arduino IDE 1.8.5 أو أعلى:
  • كابل micro-USB لتوصيل Arduino بجهاز الكمبيوتر الخاص بك
  • اتصال بالإنترنت ، يتطلب SSID وكلمة المرور. من الأفضل استخدام جهاز التوجيه المنزلي الخاص بك للتأكد من عدم حظره.
  • تم تثبيت تطبيق Telegram على هاتفك الذكي ، بغض النظر عن العلامة التجارية ، تحقق هنا من أجهزة الكمبيوتر وإصدارات الويب أيضًا!

الخطوة 2: تثبيت IDE

تثبيت IDE
تثبيت IDE
تثبيت IDE
تثبيت IDE
تثبيت IDE
تثبيت IDE

نعم ، أعلم ، أعلم … أن معظمكم لديه بالفعل Arduino IDE مثبتًا على جهاز الكمبيوتر ، ولكن هذا Instructables مخصص أيضًا للمبتدئين. لذلك ، أولاً وقبل كل شيء ، قم بتنزيل Arduino IDE 1.8.5 من اختيارك (ملف مضغوط لـ "غير المسؤولين" أو ملف exe)

يوصى باستخدام الإصدار 1.8.5 ، ولم أختبر الإصدارات القديمة ولا يمكن دعم اللوحة الجديدة المستخدمة في المشروع على الإطلاق.

أنت الآن بحاجة إلى تثبيت اللوحات الجديدة مع برامج التشغيل الخاصة بها:

  1. ابدأ IDE
  2. من قائمة الأدوات ، اختر Boards ثم في أعلى قائمة المعالجات ، اختر Boards manager.
  3. قم بالتمرير في النافذة الجديدة (انظر الصورة) حتى تجد لوحات Arduino SAMD التي تتضمن MKR WiFi 1010 الجديد.
  4. انقر فوق علامة التبويب هذه أو انقر فوق مزيد من المعلومات داخل علامة التبويب ، واختر أحدث إصدار وقم بالتثبيت.
  5. انتظر اكتمال التثبيت. سيهتم أيضًا بتثبيت برامج التشغيل
  6. تحتاج أيضًا إلى مكتبة WiFi جديدة لهذه اللوحة: اختر Sketch و Include Library و Manage Libraries وابحث عن Wifinina وقم بتثبيتها كما فعلت مع المعالج أعلاه.

الآن قم بتوصيل لوحة Arduino الجديدة الخاصة بك وانتظر حتى يكمل Windows تثبيت برنامج التشغيل.

من قائمة Tools-> Board ، ستجد اللوحات الجديدة ، اختر MKR WiFi 1010.

هناك حاجة إلى مكتبة خاصة أخرى لهذا المشروع ، وهي مكتبة ESP8266TelegramBot بواسطة Giancarlo Bacchio. تم تعديل المكتبة قليلاً للعمل مع هذه اللوحة بحيث يتم تضمينها في مجلد الرسم.

اختر منفذ com الصحيح واختبر اللوحة باستخدام أمر الحصول على معلومات اللوحة.

تهانينا ، لقد انتهيت من IDE!

الخطوة 3: إنشاء Telegram Bot

إنشاء Telegram Bot
إنشاء Telegram Bot
إنشاء Telegram Bot
إنشاء Telegram Bot
إنشاء Telegram Bot
إنشاء Telegram Bot

يعد إنشاء Telegram Bot جديدًا أمرًا بسيطًا للغاية.

افتح تطبيق Telegram ، واكتب في شريط البحثBotFather وابدأ محادثة معه (image1). BotFather هو… Bot Factory. سيساعدك في إنشاء روبوت جديد وتغيير إعداداته.

بعد الأمر / start ، سترى قائمة المساعدة (image2).

  • اكتب / newbot (image3) الآن اكتب اسم الروبوت الخاص بك. يتم عرض الاسم في تفاصيل الاتصال وفي أي مكان آخر.
  • سيسألك BotFather عن اسم مستخدم. اسم المستخدم هو اسم قصير يستخدم في الإشارات وروابط telegram.me. تتكون أسماء المستخدمين من 5 إلى 32 حرفًا وهي غير حساسة لحالة الأحرف ، ولكنها قد تحتوي فقط على أحرف لاتينية وأرقام وشرطات سفلية. يجب أن ينتهي اسم مستخدم برنامج الروبوت الخاص بك بـ "bot" ، على سبيل المثال "tetris_bot" أو "TetrisBot".
  • إذا كان كل من الاسم واسم المستخدم صالحين ، فستتلقى سلسلة طويلة من الأحرف تسمى TOKEN. هذا هو "المفتاح" الشخصي الذي تستخدمه للتواصل مع خوادم Telegram. انسخه والصقه في ملف نصي على جهاز الكمبيوتر الخاص بك في الوقت الحالي. سنستخدمه لاحقًا في كود Arduino ، إذا فقدته ، فلا داعي للقلق ، فقط أعد فتح الدردشة واكتب / token لإنشاء رمز جديد.

جميع الخطوات موضحة هنا:

متقدم (اختياري)

أعد فتح الدردشة واكتب / help

انقر فوق (أو اكتب) / setuserpic لتحميل صورة لبرنامج الروبوت الخاص بك. انقر فوق (أو اكتب) / setabouttext لتعيين قسم "حول" للبوت الخاص بك: سيرى الأشخاص هذا النص على صفحة ملف تعريف الروبوت وسيتم إرساله مع رابط إلى برنامج الروبوت الخاص بك عند مشاركته مع شخص ما.

انقر فوق (أو اكتب) / setdescription لتعيين قسم وصف لبرنامج الروبوت الخاص بك. سيرى الأشخاص هذا الوصف عند فتح محادثة مع الروبوت الخاص بك ، في كتلة بعنوان "ماذا يمكن أن يفعل هذا الروبوت؟".

الخطوة 4: تعديل الرسم وتحميله واختباره

تعديل وتحميل واختبار الرسم
تعديل وتحميل واختبار الرسم
تعديل وتحميل واختبار الرسم
تعديل وتحميل واختبار الرسم
تعديل وتحميل واختبار الرسم
تعديل وتحميل واختبار الرسم

حان الوقت لتحميل البرنامج على لوحة Arduino MKR WiFi 1010.

قم بتنزيل الملفات المرفقة ، لسبب ما لا يمكنني تحميل ملف ZIP ، لذا أنشئ مجلدًا باسم الرسم وانسخ جميع الملفات الأربعة الموجودة بداخله ، من فضلك لا تغير الأسماء إلا إذا كنت تعرف ما تفعله.

تعديل

افتح المخطط ، نحتاج إلى ملء بعض المعلومات (الصورة 1): املأ arduino_secrets.h ببيانات اعتماد wifi و telegram.

  • حدد موقع معلومات شبكة WiFi واكتب اسم الشبكة (SSID) وكلمة المرور.
  • حدد موقع معلومات Telegram Bot واكتب الاسم واسم المستخدم والرمز المميز المقدم منBotFather

تحميل

تأكد من أن اللوحة صحيحة (image2) في ID ومتصلة ثم حاول تجميع الكود. إذا سارت عملية التجميع بشكل جيد ، فقم بتحميلها على اللوحة ، وسوف يستغرق الأمر بضع ثوانٍ فقط.

في حالة حدوث مشاكل تحقق من وجود خطأ مطبعي وأعد المحاولة.

اختبار

[هام!] الرسم يرسل السجلات إلى IDE. يحتوي المعالج على منفذ USB أصلي (مثل لوحات ليوناردو). بمجرد التشغيل ، سينتظر الرمز حتى يتم تشغيل الشاشة التسلسلية. لذا ، اتركه متصلاً بجهاز الكمبيوتر وافتح الشاشة التسلسلية. سيتصل Arduino أولاً بالإنترنت ، ثم سيبدأ في استقصاء خادم Telegram عن الرسائل الجديدة (image3).

افتح الآن Telegram على جهازك المفضل ، واكتب في مربع البحث اسم الروبوت الخاص بك (وليس اسم المستخدم الذي ينتهي بـ "bot"). افتح محادثة معها.

الأمر الأول لبدء محادثة مع الروبوت هو / start ، وسوف يجيب Arduino برسالة ترحيب ، اكتب الآن help (بدون شرطة مائلة) ، وسوف يجيب بقائمة من الأوامر المدعومة ، يمكنك تجربتها جميعًا (image4).

لقد انتهيت من الاختبار ، إذا كان هناك شيء لا يعمل ، فتحقق من المعلومات التي تم إدخالها في المخطط (الاسم ، اسم المستخدم ، الرمز المميز …)

الشهادات إذا كنت تواجه أخطاء في الاتصال بخادم Telegram (السجل: الروبوت غير متصل):

  • افتح أدوات-> أداة تحديث Wifi101 / wifinina
  • تأكد من توصيل اللوحة الخاصة بك ، وتحقق من المنافذ الموجودة على يسار أداة التحديث ، يجب أن تكون اللوحة موجودة
  • انقر فوق فتح رسم التحديث وقم بتحميله على اللوحة
  • بعد التحميل ، اختر في المحدث أحدث البرامج الثابتة للوحة الخاصة بك وانقر فوق تحديث البرامج الثابتة
  • بعد التحديث ، في قسم التحديث ، شهادات SSL ، انقر فوق إضافة مجال ، في مربع الحوار اكتب telegram.org:443 ثم اضغط على موافق.
  • انقر فوق تحميل الشهادات إلى وحدة wifi
  • تحميل هذا الرسم على السبورة

الخطوة 5: التحسينات

التحسينات
التحسينات

بالنظر إلى الكود ، من السهل جدًا تنفيذ أوامر جديدة والإجابة على المستخدم.

أوامر جديدة: يمكنك كتابة أمر فرعي لكل أمر جديد. سيهتم كل فرع بإكمال الأمر و (في النهاية) سيعيد معلومات الحالة إلى المستخدم.

تحديد المستخدمين: بالطبع هذا المشروع مجرد عرض توضيحي. يمكن لأي مستخدم Telegram الاتصال بمنزلك وإرسال أوامر غير مرغوب فيها. أنت لا تريد هذا !.

حسنًا ، انظر إلى الصورة 1 ، فهي تظهر 2 مستخدمين متصلين. كما ترى ، كل مستخدم لديه معرف مستخدم خاص به. مع القليل من العمل على جانب الكود ، يمكنك تصفية (أو إنشاء قائمة) للمستخدمين المصرح لهم فقط. فقط قم بدراسة الكود وحاول اعتراض رقم معرف المستخدم. ثم قم بتنفيذ الأوامر من مستخدمين معروفين فقط.

الأجهزة: على جانب الجهاز ، يمكن توصيل الكثير من المستشعرات والمرحلات بمنافذ الإدخال / الإخراج في Arduino.

كن حذرًا: اللوحة المستخدمة في هذا المشروع هي 3.3 فولت متسامح !!! استخدم مبدل مستوى الجهد عند الضرورة! لمزيد من المعلومات والنصائح حول هذه اللوحة ، يرجى قراءة هنا:

هذا كل شيء ، استمتع!

موصى به: