الإعلانات

Twitter هو أكبر مستودع في العالم للرسائل القصيرة من أشخاص ليس لديهم ما يقولونه - والآن يمكنك أنت أيضًا ساهم في هذا المشروع الملحمي باستخدام روبوت Twitter آلي ، مدعوم من Raspberry Pi. أنا أمزح بالطبع – بعض الناس غردوا في الواقع أشياء مثيرة للاهتمام كيفية استخدام تويتر للبحث عن الموجهين في مجال اهتمامكفي العالم الحقيقي ، المرشد هو معلم حكيم يدعم ويوجه شخصًا ما ويساعده على زيادة إمكاناته. في عالم الإنترنت ، ستكون محظوظًا جدًا للعثور على شخص ما ... اقرأ أكثر . أنا لست واحدًا منهم على الرغم من ذلك - أنا أستخدم منجمي للترويج المنتج المخزي مقابل أشياء مجانية ، وإدخالات المنافسة ، ونشر حلقات جديدة من Technophilia Podcast الخاصة بنا. أيا كان - أتباعي يحبونني!

@ w0lfiesmith أنا أكره حساب Twitter الخاص بك. كثيرا.

- جاستن بوت (jhpot) 21 آب 2013

الآن سأضيف إلى فائدة دفقتي الشخصية على Twitter من خلال جعل Raspberry Pi يقوم تلقائيًا بتغريد درجة حرارة وحدة المعالجة المركزية الحالية كل ساعة ، وصورة كاميرا ويب!

ابدء

يستخدم هذا المشروع Python. لغة برمجة بسيطة مثالية لمشاريع DIY. سنبدأ بالتثبيت تويثون على Pi - وحدة Python للتواصل مع Twitter ؛ إعداد "تطبيق" Twitter للحصول على مفتاح API ؛ ثم انتقل إلى جعل Pi تغرد الأشياء نيابة عنا. سيكون ممتعا جدا!

instagram viewer

أفعل هذا على Raspian - ولكن يجب أن يعمل نظريًا على أي نظام التشغيل الذي يعمل بنظام Linux لديك على Pi 11 أنظمة تشغيل تعمل على التوت الخاص بكمهما كان مشروع Raspberry Pi الخاص بك ، فهناك نظام تشغيل له. نساعدك في العثور على أفضل نظام تشغيل Raspberry Pi لاحتياجاتك. اقرأ أكثر . إذا لم تكن قد قمت بذلك بالفعل ، فتأكد من إعداد SSH حتى نتمكن من تسجيل الدخول عن بعد وتنفيذ أوامر وحدة التحكم.

تثبيت Twython

من الجيد تشغيل التحديثات أولاً. انسخ والصق الأوامر التالية واحدة تلو الأخرى - سيطلب معظمها التأكيد.

sudo apt-get update. sudo apt-get ترقية. sudo apt-get تثبيت python-setuptools. sudo easy_install pip. sudo pip تثبيت تويثون. 

تسجيل تطبيق Twitter

من أجل استخدام Twitter API - أي واجهة REST التي سنستخدمها لنشر تغريدات جديدة والتفاعل بشكل عام مع Twitter خارج موقع Twitter - سنحتاج إلى تسجيل تطبيق جديد. إفعل ذلك من هذا الرابط - لا تحتاج إلى تحديد عنوان URL لرد الاتصال ، وأنشئ موقع ويب فقط إذا أردت.

new-twitter-app

سترى شيئًا يشبه هذا بمجرد الانتهاء - هذه المفاتيح فريدة لك.

تطبيق تويتر

بشكل افتراضي ، يتم تعيين التطبيق على القراءة فقط ، لذلك لن نتمكن من نشر التغريدات دون تغيير ذلك إلى اقرا و اكتب. انتقل إلى علامة التبويب إعدادات وقم بتغيير نوع التطبيق.

القراءة والكتابة

بمجرد حفظها ، عد إلى تفاصيل علامة التبويب وانقر على الزر في الأسفل إنشاء رمز دخول OAuth مميز - هذا يمنح تطبيقك حق الوصول إلى حساب Twitter الخاص بك. قم بالتحديث ، واترك الصفحة مفتوحة لوقت لاحق - سنحتاج إلى نسخ ولصق بعض هذه المفاتيح في دقيقة.

رمز وصول

إنشاء مشروع Python الخاص بك

ابدأ بإنشاء دليل جديد لإيواء مشروع Tweet الخاص بك ، ثم قم بإنشاء ملف جديد.

mkdir SillyTweeter. SillyTweeter مؤتمر نزع السلاح. sudo nano SillyTweeter.py. 

يمكنك تسميته ما تريد ، من الواضح.

في محرر النصوص الذي يظهر ، انسخ والصق ما يلي ، مع استبدال مفتاح المستهلك بالمفتاح ذي الصلة من صفحة تطبيق Twitter التي تركناها مفتوحة في وقت سابق. كل مفتاح محاط بعلامات اقتباس مفردة ، لذا تأكد من عدم تفويتها. لاحظ أن مفتاح الوصول يشار إليه باسم رمز وصول على صفحة تطبيق تويتر.

#! / usr / bin / env python. استيراد أنظمة. من استيراد تويثون. CONSUMER_KEY = '*************** بياناتك *****************' CONSUMER_SECRET = '*************** بياناتك *****************' ACCESS_KEY = '*************** بياناتك *****************' ACCESS_SECRET = '*************** بياناتك *****************' api = Twython (CONSUMER_KEY، CONSUMER_SECRET، ACCESS_KEY، ACCESS_SECRET) api.update_status (status = sys.argv [1])

اضغط على Ctrl-X ، واضغط على Y للخروج وحفظ الملف. اجعله قابلاً للتنفيذ بالأمر التالي (استبدال اسم ملف Python إذا اخترت شيئًا آخر)

sudo chmod + x SillyTweeter.py. 

يجب أن تكون الآن قادرًا على اختبار قدرتك على نشر تغريدات مثل:

python SillyTweeter.py "مرحبًا بالجميع ، هذا هو Raspberry Pi الذي أغرد إليك بمزيد من الهراء"

سقسقة درجة حرارة وحدة المعالجة المركزية الخاصة بك

الآن يمكنك نشر أي هراء من النوع الذي تريده ، فلنقم بتعديل التطبيق للحصول على درجة حرارة وحدة المعالجة المركزية الحالية ، لأنني سأكون ملعونًا إذا لم يكن العالم بحاجة إلى معرفة ذلك كل ساعة.

ابدأ بإضافة استيراد آخر لمكتبة نظام التشغيل:

استيراد نظام التشغيل

ثم أضف الأسطر التالية ، مع استبدال api.update_status السابق من المثال أعلاه.

cmd = '/ opt / vc / bin / vcgencmd measure_temp' line = os.popen (cmd) .lineline (). strip () temp = line.split ('=') [1] .split ("" ") [0] api.update_status (الحالة = 'درجة حرارة وحدة المعالجة المركزية الحالية هي' + temp + 'C')

لن أشرح هذا الرمز كثيرًا لأنه لا يهم حقًا - فهو يدير أمرًا يمسك به درجة الحرارة ، ثم يقسم الناتج لاستخراج الرقم ، وتغريد ذلك مع العرف رسالة. يمكنك العثور على كامل رمز المثال هنا.

تويت صور كاميرا الويب

الآن دعونا نجعل شيئًا مفيدًا حقًا ، سنقوم بتغريد صور كاميرا الويب. لحسن الحظ ، تدعم Twython وظيفة API update_status_with_media، الأمر الذي يجعل الأمور بسيطة إلى حد ما.

قم بتوصيل كاميرا USB بجهازك وتحقق مما إذا كان قد تم التعرف عليها من خلال الأمر:

ليرة سورية / ديف / فيديو *

إذا رأيت فيديو 0، انت محظوظ. لقد استخدمت كاميرا بلاي ستيشن 3 PSEye وعملت على ما يرام دون أي عمل إضافي.

سنستخدم أيضًا Pygame مكتبات لالتقاط صورة ؛ أضف الأسطر التالية بعد عبارات الاستيراد الحالية مباشرةً:

استيراد القزم. استيراد pygame.camera. من pygame.locals استيراد * pygame.init () pygame.camera.init () كام = pygame.camera. الكاميرا ("/ dev / video0"، (640،480)) cam.start () image = cam.get_image () pygame.image.save (صورة ، "webcam.jpg")

باختصار ، لقد قمت بتهيئة كاميرا الويب بدقة محددة (قد تحتاج إلى ضبط هذه الكاميرا القديمة حقًا) ، والتقطت صورة ، وحفظتها بتنسيق jpg. سنقوم فقط باستبدال نفس webcam.jpg في كل مرة يتم فيها تشغيل التطبيق.

أخيرًا ، اضبط سطر update_status ليصبح كما يلي:

photo = open ('webcam.jpg'، 'rb') api.update_status_with_media (media = photo، status = 'My RPi تغرد الصور الآن =>')

بالطبع ، يمكنك تغيير نص الحالة إلى درجة حرارة وحدة المعالجة المركزية الحالية مرة أخرى ، إذا أردت. الكود الكامل لهذا المثال هنا.

هل يمكنك تكرار ذلك؟

روبوت تويتر مفيد فقط إذا تم تشغيله عدة مرات تلقائيًا. لا تريد أن تجلس هناك تدير الأمر كل ساعة. لتحقيق ذلك ، دعنا نستخدم ميزة جدولة Pi's CRON (ما هي وظيفة CRON؟ أتمتة النسخ الاحتياطي الخاص بك وورد مع بسيطة البرمجة شل و CRONفي المرة الأخيرة التي تحدثنا فيها عن النسخ الاحتياطية من Wordpress ، أوضحت لك مدى سهولة النسخ الاحتياطي لقاعدة البيانات والملفات الخاصة بك بالكامل على الرغم من SSH مع بعض الأوامر فقط. هذه المرة ، سأريكم ... اقرأ أكثر )

sudo crontab -e

الصق في هذا الخط ، لتشغيل كل ساعة.

* / 60 * * * * python /home/pi/SillyTweeter/SillyTweeter.py

قم بتغيير ذلك إلى * * * * * إذا كنت تريد تشغيله كل دقيقة ، وكن مستعدًا لفقدان المتابعين بشكل أسرع من حساب Twitter الذي يفقد المتابعين بسرعة.

هذا اليوم. أنا سعيد لأنني ساهمت بمزيد من السخف للثروة الهائلة من البايتات عديمة الفائدة على الإنترنت ، وآمل أن تفعل ذلك أيضًا! اظهار تقديرك لهذا البرنامج التعليمي من قبل تغريدة، ثم أخبرنا بما سيغرده برنامج الروبوت الخاص بك على Twitter في التعليقات.

حقوق الصورة: الأفروت / فليكر

جيمس حاصل على درجة البكالوريوس في الذكاء الاصطناعي ، وهو حاصل على شهادة CompTIA A + و Network +. وهو المطور الرئيسي لـ MakeUseOf ، ويقضي وقت فراغه في لعب كرة الطلاء VR وألعاب الطاولة. لقد كان يبني أجهزة الكمبيوتر منذ أن كان طفلاً.