
Lesley Fowler
0
3866
1148
Twitter является крупнейшим в мире хранилищем коротких сообщений от людей, которым нечего сказать, и теперь вы тоже можете внести свой вклад в этот эпический проект с помощью автоматизированного бота Twitter, работающего на Raspberry Pi. Я, конечно, шучу - некоторые люди на самом деле пишут в Твиттере интересные вещи. Как использовать Twitter для поиска наставников в вашей сфере интересов Как использовать Twitter для поиска наставников в вашей сфере интересов В реальном мире наставник является мудрым учитель, который поддерживает и направляет кого-то, и помогает им максимально раскрыть свой потенциал. В онлайн-мире вам очень повезет найти кого-то, кто ... Хотя я не один из них - я использую свою для бесстыдного продвижения продукта в обмен на бесплатные вещи, участие в конкурсах и автоматическую публикацию новых эпизодов нашего собственного подкаста Technophilia. Что угодно - мои последователи любят меня!
@ w0lfiesmith Я ненавижу твой аккаунт в Твиттере. Так много.
- Джастин Пот (@jhpot) 21 августа 2013 г.
Теперь я собираюсь добавить к полезности моего личного потока в Твиттере, когда Raspberry Pi автоматически чирикает текущую температуру процессора каждый час, а также изображение с веб-камеры.!
Начиная
Этот проект использует Python; простой язык программирования, идеальный для проектов DIY. Мы начнем с установки Twython на Pi - модуль Python для взаимодействия с Twitter; настройка твиттера “приложение” получить ключ API; затем займитесь созданием твитов Пи от нашего имени. Это будет так весело!
Я делаю это на Raspian - но теоретически он должен работать на любой ОС на базе Linux, которую вы используете в операционных системах Pi 11 Raspberry Pi, которые вы можете попробовать 11 операционных систем Raspberry Pi, которые вы можете попробовать В любом проекте Raspberry Pi есть операционная система. Система для этого. Мы поможем вам найти лучшую ОС Raspberry Pi для ваших нужд. , Если вы этого еще не сделали, убедитесь, что вы настроили SSH, чтобы мы могли удаленно входить в систему и выполнять консольные команды.
Установка Twython
Хорошей идеей будет сначала запустить обновления. Скопируйте и вставьте следующие команды по одной - большинству потребуется подтверждение.
sudo apt-get update sudo apt-get upgrade sudo apt-get install 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 импорт sys из twython import 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 импорт pygame.camera из 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 (изображение, «веб-камера.jpg»)
Короче говоря, вы инициализировали веб-камеру с определенным разрешением (вам может потребоваться настроить ее, это действительно старая камера), сделали снимок и сохранили его в формате jpg. Мы просто собираемся перезаписывать один и тот же webcam.jpg при каждом запуске приложения..
Наконец, измените строку update_status следующим образом:
photo = open ('webcam.jpg', 'rb') api.update_status_with_media (media = photo, status = "Мой RPi будет чирикать изображения сейчас =>")
Конечно, вы можете изменить текст состояния на текущую температуру процессора, если хотите. Полный код для этого примера здесь.
Можете ли вы повторить это?
Twitter-бот полезен, только если он запускается несколько раз автоматически; Вы не хотите сидеть здесь и каждый час выполнять команду. Чтобы добиться этого, давайте воспользуемся функцией планирования CRON в Pi (Что такое работа CRON? Автоматизируйте резервное копирование Wordpress с помощью простых сценариев оболочки и CRON Автоматизируйте резервное копирование Wordpress с помощью простых сценариев оболочки и CRON В прошлый раз, когда мы говорили о резервном копировании Wordpress, я показал вам, как невероятно легко было сделать резервную копию всей вашей базы данных и файлов через SSH всего несколькими командами. На этот раз я покажу…)
sudo crontab -e
Вставьте в эту строку, чтобы запустить каждый час.
* / 60 * * * * python /home/pi/SillyTweeter/SillyTweeter.py
Изменить это на * * * * * если вы хотите, чтобы он запускался каждую минуту, и будьте готовы потерять подписчиков быстрее, чем учетная запись Twitter, которая быстро теряет подписчиков.
Это на сегодня. Я рад, что внес большой вклад в огромное количество бесполезных байтов в Интернете, и надеюсь, что вы тоже! Покажите свою признательность за этот урок чирикать это, а затем дайте нам знать, что ваш собственный бот Twitter будет чирикать в комментариях.
Изображение предоставлено: adafruit / flickr