Реклама

Twitter является крупнейшим в мире хранилищем коротких сообщений от людей, которым нечего сказать - и теперь вы тоже можете внести свой вклад в этот эпический проект с помощью автоматизированного бота Twitter, работающего на вашем Raspberry Pi. Я шучу, конечно – некоторые люди на самом деле чирикать интересные вещи Как использовать Twitter для поиска наставников в вашей сфере интересовВ реальном мире наставник - это мудрый учитель, который поддерживает и направляет кого-то и помогает им максимально раскрыть свой потенциал. В онлайн-мире вам очень повезет найти кого-то, кто ... Читать далее . Хотя я не один из них - я использую свою для бесстыдного продвижения продукта в обмен на бесплатные вещи, участие в конкурсах и автоматическую публикацию новых эпизодов нашего собственного подкаста Technophilia. Что угодно - мои последователи любят меня!

@ w0lfiesmith Я ненавижу твой аккаунт в твиттере. Так много.

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

Теперь я собираюсь добавить к полезности моего личного потока в Твиттере, так как Raspberry Pi автоматически чирикает текущую температуру процессора каждый час и изображение с веб-камеры!

instagram viewer

Начиная

Этот проект использует Python; простой язык программирования, идеальный для проектов DIY. Начнем с установки Twython на Pi - модуль Python для взаимодействия с Twitter; настройка «приложения» в Twitter для получения ключа API; затем займитесь созданием твитов Пи от нашего имени. Это будет так весело!

Я делаю это на Raspian - но теоретически это должно работать на любом ОС на базе Linux у вас на Пи 11 операционных систем, которые работают на вашем Raspberry PiКаким бы ни был ваш проект Raspberry Pi, для него есть операционная система. Мы поможем вам найти лучшую ОС Raspberry Pi для ваших нужд. Читать далее . Если вы этого еще не сделали, убедитесь, что вы настроили SSH, чтобы мы могли удаленно входить в систему и выполнять консольные команды.

Установка Twython

Рекомендуется сначала запустить обновления. Скопируйте и вставьте следующие команды по одной - большинству потребуется подтверждение.

sudo apt-get update. sudo apt-get upgrade. sudo apt-get установить python-setuptools. sudo easy_install pip. sudo pip установить twython. 

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

Чтобы использовать API-интерфейс Twitter, то есть интерфейс REST, который мы будем использовать для публикации новых твитов и для взаимодействия с Twitter за пределами веб-сайта Twitter, нам нужно зарегистрировать новое приложение. Сделай это по этой ссылке - вам не нужно указывать URL обратного вызова, а просто создать сайт, если хотите.

новый твиттер-приложение

Когда вы закончите, вы увидите нечто похожее на это - эти ключи уникальны для вас.

твиттер-приложение

По умолчанию приложение настроено только для чтения, поэтому мы не сможем публиковать твиты, не изменив его на Прочти и напиши. Перейдите на вкладку «Настройки» и измените Тип приложения.

чтение и запись доступа

После сохранения вернитесь к подробности вкладку и нажмите кнопку внизу, чтобы создать токен доступа OAuth - это дает вашему приложению доступ к вашей учетной записи Twitter. Обновите и оставьте страницу открытой на потом - нам нужно будет скопировать и вставить некоторые из этих ключей через минуту.

доступа токен

Создайте свой проект Python

Начните с создания нового каталога для размещения вашего проекта Tweet, затем создайте новый файл.

mkdir SillyTweeter. CD SillyTweeter. sudo nano SillyTweeter.py. 

Вы можете называть это как угодно, очевидно.

В появившемся текстовом редакторе скопируйте и вставьте следующее, заменив ключ потребителя соответствующим ключом со страницы приложения Twitter, которую мы оставили открытой ранее. Каждый ключ заключен в одинарные кавычки, поэтому не пропустите их. Обратите внимание, что КЛЮЧ ДОСТУПА упоминается как Токен доступа на странице приложения Twitter.

#! / usr / bin / env python. импорт систем. из twython импорт Twython. 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, пишущий вам больше глупостей»

Чирикать ваш процессор температуры

Теперь, когда вы можете публиковать любые глупости, давайте настроим приложение, чтобы измерять текущую температуру процессора, потому что я буду проклят, если миру не нужно будет знать об этом каждый час.

Начните с добавления другого импорта для библиотеки 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 = 'Моя текущая температура процессора равна' + temp + 'C')

Я не буду объяснять этот код слишком много, потому что это не имеет большого значения - он запускает команду, которая захватывает температура, а затем разделяет вывод, чтобы извлечь число, и чирикать, что с пользовательским сообщение. Вы можете найти полный пример кода Вот.

Tweeting Картинки с веб-камеры

Теперь давайте сделаем что-то действительно полезное; мы собираемся твитить фото с веб-камеры. К счастью, 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. Камера ( "/ DEV / video0", (640480)) cam.start () image = cam.get_image () pygame.image.save (изображение, «веб-камера.jpg»)

Короче говоря, вы инициализировали веб-камеру с определенным разрешением (вам может потребоваться настроить это действительно старая камера), сделали снимок и сохранили его в формате jpg. Мы просто будем перезаписывать один и тот же webcam.jpg при каждом запуске приложения.

Наконец, измените строку update_status следующим образом:

фото = открыть ('webcam.jpg', 'rb') api.update_status_with_media (media = photo, status = 'Мои 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-пейнтбол и настольные игры. Он строил компьютеры с детства.