نحوه ساخت توییتر بوت رزبری پای

نحوه ساخت توییتر بوت رزبری پای

با این روش می توانید با رزبری پای خود یک توییتر بوت بسازید و بدون نیاز به ورود به توییتر، می توانید توییت کنید.توییتر بزرگترین منبع پیام کوتاه است. حال شما نیز می توانید با یک توییتر بوت خودکار، طراحی شده با رزبری پای، در این پروژه عظیم مشارکت کنید.

چگونه شروع کنیم
این پروژه از زبان پایتون استفاده می کند؛ یک زبان برنامه نویسی ساده که برای پروژه های DIY ( خودت انجام بده) مناسب است. اول با نصب  Twython روی رزبری پای شروع کنید – که یک ماژول پایتون برای ارتباط با توییتر است. سپس یک اپلیکیشن توییتر برای گرفتن کلید API نصب کنید.
از نظر تئوری باید بتوان این کار را با هر سیستم عامل مبتنی بر لینوکسی که روی رزبری پای خود دارید انجام داد. اگر هیچ سیستم عاملی ندارید SSH نصب کنید تا بتوانید وارد آن شوید و فرمان های کنسول را اجرا کنید.

نصب  توییتون (Twython)
بهتر است که ابتدا به روز رسانی ها را انجام دهید. فرمان های زیر را کپی و پیست کنید. در بیشتر مواقع نیاز به تایید است. 

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-setuptools
sudo easy_install pip
sudo pip install twython


ثبت نام در یک اپلیکیشن توییتر
برای استفاده از رابط برنامه نویسی نرم افزار (API) توییتر- که رابطی است که از طریق آن می توان خارج از توییتر با آن ارتباط داشت و توییت کرد- شما به یک اپلیکیشن جدید نیز نیاز دارید، که می توانید آن را ازطریق لینک https://apps.twitter.com/app/new بیابید.
وقتی که کارتان تمام شد چیزی مشابه شکل زیر می بینید. این کدها ها فقط مختص شما هستند.
به صورت پیش فرض، این اپلیکیشن به صورت read-only یا فقط خواندنی تنظیم شده است، در نتیجه ما قادر نخواهیم بود که بدون تغییر دادن آن به حالت خواندن و نوشتن توییت های عمومی منتشر کنیم. به قسمت تنظیمات بروید و Application type را تغییر دهید.
وقتی که آن را ذخیره کردید، به قسمت Details ( جزئیات) بروید و بخش آخر را به create an OAuth access token تغییر دهید- این به اپلیکیشن شما امکان دسترسی به حساب کاربری توییتر شما را می دهد. رفرش کنید و صفحه را برای بعد باز نگاه دارید – لازم است که بعضی از کدها را کپی و پیست کنید.

پروژه پایتون خود را بسازید
اول یک دایرکتوری برای شروع پروژه توییت خود ، و سپس یک فایل جدید بسازید. 

mkdir SillyTweeter
cd SillyTweeter
sudo nano SillyTweeter.py

می توانید نام آن را هرچه دوست دارید بگذارید.
در ویرایشگر متنی که نمایان می شود، کلید ها را با توجه به همان هایی که در صفحه ی اپلیکیشن توییتر که قبلا باز گذاشته بودیم تغییر دهید. لازم به ذکر است که ACCESS_KEY به Access token در صفحه پیج توییتر بر می گردد.

#!/usr/bin/env python
import sys
from twython import Twython
CONSUMER_KEY = '***************YOUR DATA*****************'
CONSUMER_SECRET = '***************YOUR DATA*****************'
ACCESS_KEY = '***************YOUR DATA*****************'
ACCESS_SECRET = '***************YOUR DATA*****************'
api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)

api.update_status(status=sys.argv[1])


Ctrl-X را بزنید و برای خروج و ذخیره کردن دکمه Y را فشار دهید. با فرمان زیر آن را قابل اجرا کنید. ( می توانید نام فایل پایتون را به هر چه می خواهید تغییر دهید.)

sudo chmod +x SillyTweeter.py

حال می توانید آزمایش کنید که آیا می توانید توییت بکنید یا خیر

python SillyTweeter.py 'Hello Everyone, this is my Raspberry Pi tweeting you more nonsense'

توییت کردن دمای CPU
حال که می توانید هر چیزی را توییت کنید، می توانید با یک اپلیکیشن دمای حرارت CPU خود را مشخص و آن را توییت کنید.
با وارد کردن یک ورودی دیگر برای مجموعه سیستم عامل شروع کنید. 

import os

سپس خط های زیر را اضافه کنید. api.update_status را در مثال بالا جایگزین کنید.

cmd = '/opt/vc/bin/vcgencmd measure_temp'
line = os.popen(cmd).readline().strip()
temp = line.split('=')[1].split("'")[0]
api.update_status(status='My current CPU temperature is '+temp+' C')
 

توییت کردن تصاویر وب کم
می توانیم همچنین تصاویر وب کم را نیز توییت کنیم. خوشبختانه  Twython  ، عملکرد رابط برنامه نویسی نرم افزار update_status_with_media  را پشتیبانی می کند، که کارها را بسیار ساده می کند.
یک وب کم یو اس بی را به دستگاهتان متصل کنید و اطمینان یابید که فرمان زیر شناسایی می شود: 

ls /dev/video* 

اگر video0  را دیدید حسابی شانس آورده اید.
همچنین از مجموعه های pygame  برای گرفتن عکس استفاده می کنیم. خط های زیر را به توضیحات ورودی ها اضافه کنید:

import pygame
import pygame.camera
from pygame.locals import *
pygame.init()
pygame.camera.init()
cam = pygame.camera.Camera("/dev/video0",(640,480))
cam.start()
image = cam.get_image()
pygame.image.save(image,'webcam.jpg') 

اگر بخواهیم یک توضیح کوتاه دهیم، شما وب کم را با رزلوشن خاصی راه اندازه کرده اید،( اگر وب کمتان قدیمی است، شاید لازم باشد که آن را تنظیم کنید.) یک عکس گرفته اید و آن را با فرمت jpg  ذخیره کرده اید. ما فقط هر بار که اپلیکیشن اجرا می شود یک webcam.jpg  را بازنویسی می کنیم.
در نهایت خط update_status  را تنظیم کنید:

photo = open('webcam.jpg','rb')
api.update_status_with_media(media=photo, status='My RPi be tweeting images now => ')

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

sudo crontab –e

آن را در خط زیر پیست کنید تا هر ساعت اجرا شود.

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

اگر می خواهید هر دقیقه اجرا شود، آن را به * * * * * تغییر دهید و منتظر بمانید تا همه فالور هایتان را از دست دهید!

مارال رضایی

مارال رضایی

مارال هشت سال است که یه عنوان مترجم مشغول به فعالیت است.او دارای مدرک کارشناسی ارشد زبان و ادبیات فرانسه از دانشگاه است و به سه زبان انگلیسی، فرانسه و اسپانیایی صحبت می کند. مارال به ادبیات، سینما و موسیقی راک علاقه مند است و به دنبال یک تجربه متفاوت به وادی تکنولوژی قدم گذاشته.


0 نظر درباره‌ی این پست نوشته شده است.

ثبت نظر