لطالما كان Raspberry Pi ممتعًا وسهلًا لبناء المشاريع. ساعدتنا بنية ARM القوية ونظام التشغيل المفتوح المصدر القائم على Linux كثيرًا في توصيل مشاريعنا عبر الإنترنت في أي وقت من الأوقات. سنتعلم في هذا البرنامج التعليمي طريقة أخرى مثيرة للاهتمام لمشاركة البيانات (الملفات / الصور / مقاطع الفيديو / الصوتيات / النصوص) بين Raspberry Pi وهاتفنا المحمول من خلال تطبيق دردشة شائع يسمى Telegram.
بالنسبة لأولئك الجدد على Telegram ، فهو تطبيق قائم على الدردشة متاح في متجر Play لنظام Android (متاح أيضًا لـ Iphone و windows) وهو مشابه جدًا لتطبيق Whatsapp. يحتوي على أكثر من 100 مليون عملية تنزيل (اعتبارًا من 5-10-2017) في متجر الألعاب ويدعي الناس أنه أسرع وأكثر فاعلية من Whatsapp (عبر الأصابع). إحدى الميزات الخاصة لهذا التطبيق هي أنها تدعم الروبوتات. بمعنى أنه لا يمكن استخدام تطبيق الهواتف الذكية هذا فقط من قبل البشر ولكن أيضًا بواسطة الجهاز. في حالتنا ستكون الآلة Raspberry Pi. بمجرد أن تقوم بتدريب Raspberry Pi على كيفية التصرف كروبوت ، يمكن لأي شخص (إذا جعلته للجمهور) الدردشة مع Raspberry Pi الخاص بك مثل الدردشة مع أي شخص عادي وحتى مشاركة ملفات الصور والصور والمستندات والملفات الصوتية. يمكنك حتى تدريبه ليكون مساعدك الشخصي ، يبدو رائعًا ، أليس كذلك؟ دعنا نتعلم كيفية بناء ملفبوت برقية Raspberry Pi.
المواد المطلوبة:
- أي Raspberry Pi متصل بالإنترنت
- تطبيق Telegram على الهاتف المحمول.
لا يوجد الكثير من الأجهزة المشاركة في هذا المشروع ، لذا استرخ على كرسيك باستخدام Pi واتبع الخطوات أدناه. إذا كنت جديدًا على Raspberry Pi ، فاتبع مقالة Raspberry Pi المقدمة وغيرها من دروس Raspberry Pi التعليمية.
الخطوة الأولى: تثبيت Telegram على هاتفك المحمول
ستكون الخطوة الأولى هي تثبيت Telegram على هاتفك المحمول. Telegram متاح لأنظمة Android و IOS وحتى لمنصة Windows ، فما عليك سوى المضي قدمًا وتنزيل تطبيق Telegram. تمامًا مثل كل التطبيقات ، سيكون هناك إجراء تسجيل صغير لبدء استخدام Telegram ، تابع معه حتى تصل إلى شاشتك الرئيسية.
Step2: تحدث إلى Bot Father
ستكون الخطوة التالية هي أن تطلب من أب الروبوت إنشاء روبوت جديد لنا. في الزاوية العلوية اليمنى من الشاشة الرئيسية ، سيكون هناك رمز بحث ، انقر فوقه للبحث عن اسم "botfather". Botfather هو روبوت في حد ذاته ، سيرشدك لإنشاء روبوت جديد لك. انقر فوق ابدأ وحدد / newbot كما هو موضح في الصورة أدناه. الآن ، سيطلب الروبوت بعض التفاصيل مثل اسم الروبوت الخاص بك واسم مستخدم الروبوت. املأ هذه التفاصيل وتذكر اسم المستخدم لأننا سنحتاجه في المستقبل.
الخطوة 3: الحصول على الرمز المميز للوصول
لقد قمت بتسمية البوت باسم دائرة هضم الدوائر واسم المستخدم دارة ديجيست بوت بعد هذه العملية ، سوف يعطيك الأب الروحي رمزًا للوصول إليه. هذا يشبه كلمة مرور الروبوت الخاص بك ، يمكن للأشخاص التحكم في برنامج الروبوت الخاص بك باستخدام مفتاح الرمز المميز هذا. لذا احتفظ بها في مكان آمن ولا تشاركها مع أي شخص. بمجرد استلام مفتاح الرمز المميز هذا ، حان الوقت للانتقال إلى Raspberry Pi.
الخطوة 4: Telepot لتثبيت Telegram على Raspberry Pi
أصبح استخدام Telegram Bot في Raspberry Pi ممكنًا من خلال حزمة python تسمى Telepot. نحتاج إلى تثبيت هذه الحزمة على Raspberry Pi باستخدام الأوامر التالية على Lx terminal
sudo apt-get install python-pip sudo pip install telepot
بمجرد استيراد Telepot إلى Raspberry ، يمكننا استخدام هذه الحزمة في برنامج python الخاص بنا للتواصل مع Telegram Bot.
الخطوة 5: برمجة Raspberry Pi الخاص بك
الروبوت الذي أنشأناه للتو على Telegram يشبه الطفل تمامًا ، ولا يمكنه فعل أي شيء بمفرده ما لم نعلمه ماذا وكيف يفعل الأشياء. يمكن إجراء هذا التدريس من خلال نص Raspberry Pi و Python. في هذا البرنامج التعليمي ، قمت ببرمجة الروبوت لأداء بعض الإجراءات الأساسية مثل إرسال رسالة وصورة وصوت ومستند. لذلك عندما تقول أمرًا معينًا ، فإنه سيستجيب بإجراء معين ، يتم سرد الأمر والإجراء في الجدول أدناه
أمر من Telegram |
رد Raspberry Pi |
/مرحبا |
الردود بسلسلة "مرحبًا! CircuitDigest " |
/زمن |
الردود مع الوقت الحالي |
/شعار |
الردود بصورة (شعار CircuitDigest) |
/ملف |
الردود بملف (يحتوي على البرنامج الحالي) |
/ صوت |
الردود بملف صوتي تجريبي |
و يعطى برنامج كامل لجعل الإجراءات المذكورة أعلاه في أسفل هذه الصفحة. ولكن في الأسفل ، شرحت المقتطفات المهمة في البرنامج لمساعدتك على فهم كيفية عمل البرنامج.
تتمثل الخطوة الأولى في استيراد جميع المكتبات ، ومن الواضح أننا سنحتاج هنا إلى مكتبة النقل الآني لاستخدام روبوت Telegram. نستفيد أيضًا من مكتبة الوقت والتوقيت الزمني لقراءة الوقت الحالي لـ Raspberry pi. ثم نقوم بإنشاء كائن الآن يتم تخزين القيمة فيه.
وقت الاستيراد ، التاريخ والوقت استيراد telepot من استيراد telepot.loop MessageLoop now = datetime.datetime.now ()
تتمثل الخطوة التالية في إنشاء وظيفة لاتخاذ الإجراءات بناءً على الأوامر الواردة من تطبيق Telegram على الهاتف المحمول. هنا اسم الوظيفة العمل. إنه داخل هذه الوظيفة حيث يأتي الروبوت إلى الحياة. لا يستطيع الروبوت الخاص بنا بدء محادثة من تلقاء نفسه ، يمكنه الرد فقط إذا طلبنا شيئًا. لذلك في كل مرة نطلب شيئًا سيكون هناك معرف دردشة. معرف الدردشة هذا هو شيء مشابه للعنوان ، فقط باستخدام معرف الدردشة هذا يمكن للبوت الرد علينا. لذا فإن الخطوة الأولى هي قراءة معرف الدردشة والرسالة التي يحاول أن يقولها لنا. نقوم أيضًا بطباعة الرسالة المستلمة لغرض التصحيح.
إجراء def (msg): chat_id = الأمر msg = msg print 'Received:٪ s'٪ command
علاوة على ذلك ، داخل الوظيفة ، نقارن هذا الأمر بنص محدد مسبقًا ونقوم بمهام معينة. سيكون هذا الأمر الأول / hi الذي نجيب عليه "مرحبًا! CircuitDigest "
إذا كان الأمر == '/ hi': telegram_bot.sendMessage (chat_id، str ("Hi! CircuitDigest"))
سيكون الأمر التالي / time ، الذي نرد عليه في الوقت الحالي. لدينا الوقت والتاريخ بالفعل الآن ، وهنا ببساطة نقسمهما على أساس الساعة والدقيقة ونضيفهما باستخدام الدالة str .
الأمر elif == '/ time': telegram_bot.sendMessage (chat_id، str (الآن. ساعة) + str (":") + str (now.minute))
سيكون الأمر التالي هو / logo ، حيث سيقوم الروبوت بجلب صورة من عنوان url وإرسالها إلينا. يمكن إرسال صورة إما من عنوان URL أو من القرص الثابت. لقد استخدمت للتو عنوان URL الذي يعرض شعار CircuitDigest.
الأمر elif == '/ logo': telegram_bot.sendPhoto (chat_id ، photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
الأمر التالي سيكون / file ، والذي سيرسل الملف المسمى Aisha.py من القرص الصلب. يمكنك إرسال أي ملف تريده عن طريق تغيير عنوان الدليل
الأمر elif == '/ file': telegram_bot.sendDocument (chat_id، document = open ('/ home / pi / Aisha.py'))
سيكون الأمر الأخير / audio . هذا يمكن أن يرسل أي ملف mp3 من القرص الصلب ، لقد استخدمت للتو ملف صوتي يسمى test.mp3 كعرض توضيحي هنا
الأمر elif == '/ audio': telegram_bot.sendAudio (chat_id، audio = open ('/ home / pi / test.mp3'))
حسنًا ، تأتي الآن أهم خطوة ، حيث نتيح الوصول إلى برنامج Telegram bot إلى نص Python. نحن هنا اسم من بوت كما telegram_bot وتعيين عنوان رمزي التي أعطيت من قبل botfather لدينا في الخطوة 3. في السطر التالي لقد أزالت الأرقام القليلة الماضية من رمز بلدي على سبيل الخصوصية. نستخدم أيضًا الطباعة التي تجعلني أعرض تفاصيل الروبوت على شاشة الصدفة ، وهذا سيساعدنا على ملاحظة عمل الأشياء.
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') طباعة (telegram_bot.getMe ())
آمل أن تكون قد فهمت كيفية عمل البرنامج ، فلننتقل الآن إلى الخطوة التالية.
الخطوة 6: تشغيل البرنامج في Raspberry Pi الخاص بك
كما ذكرنا سابقًا ، يتم تقديم البرنامج الكامل في نهاية هذه الصفحة ، يمكنك أيضًا تنزيله من هنا. بمجرد فتح الرمز ، تأكد من تغيير عنوان الرمز المميز للبرنامج إلى عنوان الرمز المميز الخاص بك.
الآن قم بتشغيل كود python وسترى تفاصيل الروبوت الخاص بك على نافذة shell مثل هذا
هنا ، اسم مستخدم الروبوت الخاص بي هو دائرة كهربائية. إذا حصلت على اسم الروبوتات الخاص بك هنا ، فهذا يعني أن كل شيء يسير على ما يرام.
بمجرد ظهور عبارة " قيد التشغيل " ، فهذا يعني أن الروبوت جاهز للعمل ويمكنه الآن الرد على أوامرك.
الخطوة 7: الاستمتاع بالإخراج
الآن ، كل ما تبقى هو التحقق من مدى استجابة الروبوت الخاص بك لبرنامجك. ابحث عن اسم برنامج الروبوت الخاص بك في حالتي ، فهو "دائرة كهربائية". ابحث عن اسم المستخدم وليس اسم البوت ، يجب أن ينتهي اسم المستخدم ببوت.
بمجرد فتح الروبوت الخاص بك ، انقر فوق ابدأ واكتب أي أوامر مثل / hi أو / time أو / file أو / logo أو / audio ويجب أن يتم الرد عليك وفقًا لذلك.
يمكنك استخدام البرنامج النصي shell لمعرفة ما يستجيب له البرنامج النصي حاليًا. يمكن العثور على العمل الكامل في الفيديو المقدم في نهاية هذه الصفحة.
الخطوة 8: أعطني أعلى خمسة
آمل أن يفهم البرنامج التعليمي، والآن سوف تكون قادرة إنشاء هذا التوت بي برقية بوت و التواصل مع التوت بي باستخدام برقية التطبيقات. واحسرتاه! إذا كان لديك أي مشاكل ، فيرجى إبلاغي بذلك من خلال قسم التعليقات وسأحاول الرد عليك. أيضًا ، اسمحوا لي أن أعرف كيف أعجبك هذا المشروع أو ما الذي تريد مني أن أبني عليه باستخدام هذا في المشاريع القادمة.
أيضًا ، في برنامجنا التعليمي التالي. سنجعل هذا يبدو أكثر برودة من خلال تغيير الطريقة التي نرسل بها الأوامر وإلى شيء أكثر ارتباطًا بالأجهزة الموجودة على Raspberry Pi.