реклама

Twitter е най-голямото хранилище на кратки съобщения в света от хора, които нямат какво да кажат - и сега вие също можете допринесете за този епичен проект с автоматизиран бот в Twitter, задвижван от вашия Raspberry Pi. Шегувам се, разбира се – някои хора всъщност туитят интересни неща Как да използвате Twitter за търсене на наставници във вашия интересен районВ реалния свят наставникът е мъдър учител, който подкрепя и ръководи някого и им помага да увеличат максимално своя потенциал. В онлайн света бихте имали голям късмет да намерите някой, който ще ... Прочетете още . Аз обаче не съм от тях - използвам моята за безсрамна промоция на продукти в замяна на безплатни неща, конкурсни участия и автоматично публикуване на нови епизоди от собствения ни Technophilia Podcast. Каквото и да е - моите последователи ме обичат!

@ w0lfiesmith Мразя вашия акаунт в Twitter. Толкова много.

- Джъстин Пот (@jhpot) 21 август 2013 г.

Сега ще добавя към полезността на моя личен поток в Twitter, като Raspberry Pi автоматично туитира текущата температура на процесора на всеки час и снимка на уеб камера!

instagram viewer

Приготвяме се да започнем

Този проект използва Python; прост език за програмиране, идеален за DIY проекти. Ще започнем с инсталирането Twython on Pi - модул Python за взаимодействие с Twitter; създаване на „приложение“ в Twitter, за да получите ключ за API; след това продължете да правите пиетите от Pi от наше име. Ще бъде толкова забавно!

Правя това на Raspian - но на теория трябва да работи върху всеки Linux базирана ОС, която имате на Pi 11 Операционни системи, които работят на вашия Raspberry PiКакъвто и да е вашият проект Raspberry Pi, за него има операционна система. Ние ви помагаме да намерите най-добрите Raspberry Pi OS за вашите нужди. Прочетете още . Ако още не сте го направили, уверете се, че сте задали SSH, за да можем дистанционно да влизаме и да изпълняваме команди от конзолата.

Инсталиране на Twython

Добре е първо да стартирате актуализации. Копирайте и поставете следните команди една по една - повечето ще изискват потвърждение.

sudo apt-get update. sudo apt-get upgrade. sudo apt - вземете инсталирайте python-setuptools. sudo easy_install пип. sudo pip инсталирате twython. 

Регистриране на приложение в Twitter

За да използваме API на Twitter - тоест, REST интерфейса, който ще използваме, за да публикуваме нови туитове и като цяло да взаимодействаме с Twitter извън уебсайта на Twitter - ще трябва да регистрираме ново приложение. Направи го от тази връзка - не е необходимо да посочвате URL адрес за обратно повикване и просто да съставите уебсайт, ако искате.

ново Twitter приложение

Ще видите нещо, наподобяващо това, след като сте готови - тези клавиши са уникални за вас.

Twitter приложение

По подразбиране приложението е зададено само за четене, така че няма да можем да публикуваме туитове, без да го променяме Чети и пиши. Отворете раздела Настройки и променете Тип на приложението.

четене и записване достъп

След като сте запазени, се върнете обратно към детайли и щракнете върху бутона в долната част, за да създайте маркер за достъп до OAuth - това дава достъп на приложението ви до вашия собствен акаунт в Twitter. Обновете и оставете страницата отворена за по-късно - ще трябва да копираме да поставите някои от тези клавиши след минута.

жетон за достъп

Създайте своя Python Project

Започнете с създаването на нова директория, в която да се помещава вашия проект за туит, след което създайте нов файл.

mkdir SillyTweeter. cd SillyTweeter. sudo nano SillyTweeter.py. 

Очевидно можете да го наречете каквото искате.

В текстовия редактор, който се появява, копирайте и поставете следното, замествайки потребителския ключ със съответния ключ от страницата на приложението Twitter, която оставихме отворена по-рано. Всеки ключ е заобиколен от единични кавички, така че не забравяйте да ги пропуснете. Забележи, че ACCESS_KEY се обозначава като Жетон за достъп на страницата на приложението Twitter.

#! / usr / bin / env python. импортиране на sys. от внос. CONSUMER_KEY = '*************** ВАШИТЕ ДАННИ *****************' CONSUMER_SECRET = '*************** ВАШИТЕ ДАННИ *****************' ACCESS_KEY = '*************** ВАШИТЕ ДАННИ *****************' ACCESS_SECRET = '*************** ВАШИТЕ ДАННИ *****************' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (статус = sys.argv [1])

Натиснете Ctrl-X и натиснете Y, за да излезете и запазите файла. Направете го изпълним със следната команда (заменяйте името на файла си Python, ако сте избрали нещо друго)

sudo chmod + x SillyTweeter.py. 

Вече би трябвало да можете да тествате способността си да публикувате туитове така:

python SillyTweeter.py „Здравейте всички, това е моята Raspberry Pi, която ви туитва повече глупости“

Туитър на вашия CPU Temp

Сега, когато можете да публикувате всякакъв вид глупости, които искате, нека коригираме приложението, за да вземе текущата температура на процесора, защото ще бъда проклет, ако светът не трябва да знае това на всеки час.

Започнете с добавяне на друг импорт за библиотека os:

import os

След това добавете следните редове, замествайки предишния api.update_status от горния пример.

cmd = '/ opt / vc / bin / vcgencmd ukre_temp' ред = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'") [0] api.update_status (status = 'Моята текуща температура на процесора е' + temp + 'C')

Няма да обяснявам този код твърде много, защото всъщност няма значение - той изпълнява команда, която хваща температурата, след това разделя изхода за извличане на броя и туитва, че с персонализиран съобщение. Можете да намерите пълното примерен код тук.

Туит снимки на уеб камери

Сега нека направим нещо наистина полезно; ще пускаме снимки на уеб камери. За щастие, Twython поддържа функцията API update_status_with_media, което прави нещата доста прости.

Включете USB уеб камера в устройството си и проверете дали тя е разпозната с командата:

ls / dev / video *

ако виждаш video0, имаш късмет Използвах Playstation 3 PSEye камера и тя работи отлично, без допълнителни крака.

Ние също ще използваме Pygame библиотеки за правене на снимка; добавете следните редове веднага след съществуващите декларации за импортиране:

импортира пигама. внос pygame.camera. от pygame.locals import * pygame.init () pygame.camera.init () cam = pygame.camera. Камера ( "/ сътрудничество / video0", (640480)) cam.start () изображение = cam.get_image () pygame.image.save (изображение, 'webcam.jpg')

Накратко, вие сте инициализирали уеб камерата с конкретна разделителна способност (може да се наложи да коригирате това е наистина стара камера), щракнахте снимка и я запазихте като jpg. Просто ще презаписваме един и същ webcam.jpg всеки път, когато приложението се стартира.

И накрая, коригирайте реда update_status, за да чете:

снимка = отворена ('webcam.jpg', 'rb') api.update_status_with_media (медия = снимка, статус = 'Моите RPi са туитващи изображения сега =>')

Разбира се, можете да промените отново текста на състоянието до текущата си температура на процесора, ако желаете. Пълният код за това пример е тук.

Може ли да повториш?

Един бот в Twitter е полезен само ако работи многократно, автоматично; не искате да седите там и изпълнявате командата всеки час. За да постигнем това, използвайте функцията за планиране на CRON на Pi (Какво е CRON работа? Автоматизирайте архивирането на Wordpress с просто скриптове за черупки и CRONПоследният път, когато говорихме за архивиране на Wordpress, ви показах колко невероятно е лесно да архивирате цялата си база данни и файлове, въпреки че SSH е само с няколко команди. Този път ще покажа ... Прочетете още )

sudo crontab -e

Поставете в този ред, за да стартирате всеки час.

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

Променете това на * * * * * ако искате тя да работи всяка минута и бъдете готови да губите последователи по-бързо от акаунт в Twitter, който губи последователи бързо.

Това е за днес Щастлив съм, че допринесох повече глупост за огромното богатство от безполезни байтове в интернет и се надявам и вие да го направите! Покажете оценката си за този урок от туитвам, а след това ни уведомете за какво ще ви туит вашия бот в Twitter в коментарите.

Кредит за изображение: adafruit / Flickr

Джеймс има бакалавърска степен по изкуствен интелект и е сертифициран като CompTIA A + и Network +. Той е водещ разработчик на MakeUseOf и прекарва свободното си време, играейки VR пейнтбол и настолни игри. Той изгражда компютри още от дете.