- المواد المطلوبة:
- مخطط الرسم البياني:
- برنامج Raspberry Python:
- التحكم في المصابيح باستخدام Raspberry Pi و Telegram bot:
Telegram هو تطبيق مثالي للاندماج مع Raspberry Pi لجميع أغراض التحكم في الهاتف المحمول. إنه يتمتع بدعم مطور جيد جدًا ويتم التخطيط لإصدار الكثير من الميزات قريبًا لتحسين أداء Telegram Bots. في برنامجنا التعليمي السابق ، تعلمنا كيف يمكننا إعداد روبوت برقية لـ raspberry pi وتعلمنا أيضًا أنه يتعين علينا إجراء محادثة معه ومشاركة الصور والمستندات والملفات الصوتية.
الآن ، سننتقل إلى الخطوة التالية من خلال معرفة كيف يمكننا التحكم في دبابيس GPIO على دبابيس Raspberry باستخدام Telegram ، حتى نوفر بعض دعم الأجهزة لروبوتنا. في هذا البرنامج التعليمي ، سنقوم بتوصيل أربعة مصابيح LED بدبابيس Raspberry Pi GPIO وتبديلها باستخدام لغة طبيعية (مثل الدردشة) من Telegram. تبدو مثيرة للاهتمام ، أليس كذلك؟ لنبدأ.
المواد المطلوبة:
- أربعة LED (أي لون)
- Raspberry Pi (مع اتصال بالإنترنت)
- اللوح
- توصيل الأسلاك
المتطلبات المسبقة:
قبل متابعة البرنامج التعليمي ، تأكد من اتصال Raspberry Pi بالإنترنت ويمكنك تشغيل برامج python على Pi الخاص بك. اقرأ أيضًا البرنامج التعليمي السابق لمعرفة كيفية إعداد Telegram bot مع Raspberry Pi Pi ، لأنني سأفترض أنك على دراية بهذه الأشياء لمتابعة المشروع.
إذا كنت جديدًا على Raspberry Pi ، فاتبع مقالة Raspberry Pi المقدمة وغيرها من دروس Raspberry Pi التعليمية.
مخطط الرسم البياني:
مخطط الدائرة للتحكم في مصابيح LED باستخدام تطبيق Raspberry Pi و Telegram Android ليس أكثر من أربعة مصابيح LED وبعض الأسلاك المتصلة. لن نحتاج إلى مقاومات الحد الحالية لأن دبابيس Raspberry Pi GPIO تعمل على 3.3V TTL. اتبع الدائرة أدناه وقم بتوصيل مؤشر LED الخاص بك.
سيساعدك الجدول التالي في تحديد رقم التعريف الشخصي ورقم GPIO لتوصيل المصابيح الأربعة.
الصمام الطرفية |
الرقم السري |
رقم GPIO |
الأنود الأخضر |
دبوس 31 |
GPIO 6 |
الأنود الأحمر |
دبوس 33 |
GPIO 13 |
الأنود الأصفر |
دبوس 35 |
GPIO 19 |
الأنود الأبيض |
دبوس 37 |
GPIO 26 |
الكاثود الأربعة |
دبوس 39 |
أرض |
يوجد أدناه مخطط الدائرة حيث يتم توصيل أربعة مصابيح LED وفقًا للجدول الموضح أعلاه:
بمجرد توصيلاتك ، يجب أن يبدو إعداد جهازك كهذا أدناه.
برنامج Raspberry Python:
بمجرد أن يصبح الجهاز جاهزًا ، يمكننا متابعة برنامج Python. في هذا البرنامج ، يتعين علينا قراءة البيانات (الرسالة) المرسلة من روبوت Telegram وتبديل مؤشر LED وفقًا لذلك. لجعل الأمر أكثر طبيعية ، بدلاً من التحقق من كل جملة وترميز تلك الجملة داخل برنامجنا ، يمكننا التحقق من الكلمات والمتابعة وفقًا لذلك.
وبالتالي فإن البرنامج سوف تحقق في المقام الأول لكلمتين، فهي على و قبالة. بمجرد اكتشاف إحدى هاتين الكلمتين ، سيبحث عن كلمات رئيسية أخرى مثل الأبيض والأصفر والأخضر والأحمر. سيتم تبديل مؤشر LED الملون المعني فقط في حالة اكتشاف الكلمة. سنقوم أيضًا بتحديث سلسلة للكلمات المكتشفة لإرسال رسالة مرة أخرى إلى برنامج telegram bot.
و برنامج كامل ويمكن الاطلاع على الجزء السفلي من هذه الصفحة. في الأسفل شرحت البرنامج بتقسيمه إلى خوادم صغيرة ذات مغزى.
لكي يعمل هذا البرنامج ، نحتاج إلى تنزيل telepot واستيراده في Raspberry Pi الخاص بنا. في برنامجنا التعليمي السابق ، قمنا بالفعل بتنزيل النقل الفضائي داخل Raspberry Pi الخاص بنا ، لذا علينا الآن استيراده إلى برنامجنا مع مكتبة GPIO كما هو موضح أدناه.
استيراد RPi.GPIO مثل GPIO استيراد telepot من استيراد telepot.loop MessageLoop
سوف نتحكم في مصابيح LED باستخدام هذا البرنامج وسيكون لون مصابيح LED أبيض ، أصفر ، أحمر وأخضر. وهي متصلة بالدبابيس الموضحة في مخطط الدائرة ؛ دعونا نحدد أسماء الدبوس لهذه المصابيح بناءً على لونها بحيث يتم استخدامها في البرنامج.
أبيض = 26 أصفر = 19 أحمر = 13 أخضر = 6
ستكون الخطوة التالية هي تحديد كل دبابيس LED هذه على أنها دبابيس إخراج وتعريفها على أنها متوقفة افتراضيًا باستخدام الأسطر أدناه.
#LED White GPIO.setup (أبيض ، GPIO.OUT) GPIO.output (أبيض ، 0) # إيقاف مبدئيًا #LED Yellow GPIO.setup (أصفر ، GPIO.OUT) GPIO.output (أصفر ، 0) # إيقاف مبدئيًا #LED أحمر GPIO.setup (أحمر ، GPIO.OUT) إخراج GPIO (أحمر ، 0) # إيقاف مبدئيًا #LED أخضر GPIO.setup (أخضر ، GPIO.OUT) GPIO.output (أخضر ، 0) # إيقاف مبدئيًا
كما تعلمنا في برنامجنا التعليمي السابق ، سيتم تحديد جميع الإجراءات التي يجب أن يقوم بها روبوت Raspberry داخل إجراء الوظيفة. هنا يتعين علينا جعل الروبوت يستمع إلى الرسالة المرسلة من الهاتف المحمول ، ومقارنتها ببعض الكلمات الرئيسية وتبديل LED وفقًا لذلك.
لكل رسالة نرسلها من الهاتف المحمول ، سيكون هناك معرف دردشة وأمر. معرف الدردشة هذا مطلوب من قبل البرنامج للرد على المرسل. لذلك نقوم بحفظ معرف الدردشة والرسالة كما هو موضح أدناه.
chat_id = الأمر msg = msg
الآن ، كل ما نرسله من الهاتف سيتم حفظه كسلسلة في الأمر المتغير. لذا ، كل ما علينا فعله هو التحقق من الكلمات الرئيسية في هذا المتغير. لدى Python أمر يجعل الأمور سهلة هنا. على سبيل المثال ، إذا كان علينا التحقق مما إذا كانت كلمة "on" موجودة في السلسلة المخزنة في متغير الأوامر ، فيمكننا ببساطة استخدام السطر أدناه.
إذا كان 'on' in command:
وبالمثل ، نتحقق من جميع الكلمات الرئيسية ، بمجرد تلقينا "تشغيل" ، ننتقل إلى التحقق من اللون الذي ذكره المستخدم. يتم ذلك أيضًا من خلال نفس الأوامر من خلال مقارنة الكلمات الرئيسية نفسها. نقوم أيضًا بتحديث سلسلة باسم message يمكن الرد عليها مرة أخرى للمستخدم كرسالة حالة.
إذا كان 'on' في الأمر: message = "قيد التشغيل" إذا كان "أبيض" في الأمر: message = message + "أبيض" GPIO.output (أبيض ، 1) إذا كان "أصفر" في الأمر: message = message + "أصفر" GPIO. output (أصفر ، 1) إذا كان "أحمر" في الأمر: message = message + "أحمر" GPIO.output (أحمر ، 1) إذا كان "أخضر" في الأمر: message = message + "أخضر" GPIO.output (أخضر ، 1) إذا كان 'all' في الأمر: message = message + "all" GPIO.output (أبيض ، 1) إخراج GPIO (أصفر ، 1) إخراج GPIO (أحمر ، 1) إخراج GPIO (أخضر ، 1) رسالة = رسالة + "light (s)" telegram_bot.sendMessage (chat_id، message)
كما هو موضح أعلاه ، فإننا نبحث عن كلمات رئيسية مثل "أخضر" ، و "أبيض" ، و "أحمر" ، و "أصفر" و "الكل" و "تم تشغيل" هذا LED المحدد وحده. بمجرد الانتهاء من المهمة ، نرسل رسالة إلى المستخدم حول ما حدث للتو. و يمكن استخدام نفس الأسلوب لإطفاء الأنوار قبالة جيدا.
في حالة "إيقاف التشغيل" في الأمر: message = "إيقاف التشغيل" إذا كان الأمر "أبيض" في الأمر: message = message + "أبيض" GPIO.output (أبيض ، 0) إذا كان "أصفر" في الأمر: message = message + "أصفر" GPIO. Output (أصفر ، 0) إذا كان "أحمر" في الأمر: message = message + "أحمر" GPIO.output (أحمر ، 0) إذا كان "أخضر" في الأمر: message = message + "أخضر" GPIO.output (أخضر ، 0) إذا كان 'all' في الأمر: message = message + "all" GPIO.output (أبيض ، 0) GPIO.output (أصفر ، 0) GPIO.output (أحمر ، 0) GPIO.output (أخضر ، 0) رسالة = رسالة + "light (s)" telegram_bot.sendMessage (chat_id، message)
التحكم في المصابيح باستخدام Raspberry Pi و Telegram bot:
قم بتوصيل مصابيح LED الخاصة بك وابدأ تشغيل برنامجك على Python. تأكد من أنك قمت بتغيير عنوان الرمز الخاص بالروبوت الخاص بك. وابدأ في كتابة الأوامر التي تريدها. على سبيل المثال ، لتشغيل الضوء الأحمر والأصفر ، يمكنك استخدام أي من الأوامر التالية.
1.Turn على الأحمر و الأصفر الخفيف
2.Switch على الأحمر و الأصفر اللون المناسب
3. في الأحمر و الأصفر
وضع 4.Please على و الأصفر و الأحمر ضوء
كما ترى ، يبحث الروبوت فقط عن الكلمات الرئيسية ويتجاهل الكلمات الأخرى في الجملة ، وبهذه الطريقة يمكنك التحدث إليه بشكل طبيعي. يمكن العثور على العمل الكامل للمشروع في الفيديو المقدم في نهاية هذه الصفحة.
إنطلق! العب بمشروعك واستمتع. يمكنك أن تأخذها إلى مستوى جديد تمامًا الآن. من خلال الجمع بين كل من البرنامج التعليمي ، لدينا القدرة على التحكم في أي جهاز من هاتفنا الذكي في أي مكان من العالم وكذلك الحصول على مدخلات / نتائج من Raspberry Pi في شكل رسالة وصوت وصورة وحتى كمستند. إذا قمت باستبدال مصابيح LED بالمرحلات وأجهزة التيار المتردد ، فقد يكون ذلك بمثابة أتمتة منزلية يتحكم فيها الهاتف الذكي. لذا ، استخدم إبداعك وابني مشاريعك الرائعة…
آمل أن تكون قد أحببت المشروع واستمتعت ببناء شيء مشابه. اسمحوا لي أن أعرف إذا كان لديك أي مشاكل من خلال قسم التعليقات وسيسعدني مساعدتك. شارك أيضًا فكرتك الرائعة معي ودعنا نرى ما يمكننا بناءه.