Jak zbudować Raspberry Pi Twitter Bot

  • Peter Holmes
  • 0
  • 4954
  • 1369
Reklama

Twitter to największe na świecie repozytorium krótkich wiadomości od ludzi, którzy nie mają nic do powiedzenia - a teraz ty także możesz wnieść swój wkład w ten epicki projekt za pomocą automatycznego bota Twittera, obsługiwanego przez Twój Raspberry Pi. Żartuję, oczywiście - niektórzy ludzie naprawdę tweetują ciekawe rzeczy Jak korzystać z Twittera, aby szukać mentorów w Twoim obszarze zainteresowań Jak korzystać z Twittera, aby szukać mentorów w Twoim obszarze zainteresowań W prawdziwym świecie mentor jest mądry nauczyciel, który wspiera i prowadzi kogoś oraz pomaga mu zmaksymalizować jego potencjał. W świecie online miałbyś szczęście znaleźć kogoś, kto…. Nie jestem jednak jednym z nich - używam swojej kopalni do bezwstydnej promocji produktów w zamian za darmowe rzeczy, zgłoszenia konkursowe i automatyczne publikowanie nowych odcinków naszego własnego podcastu Technophilia. Cokolwiek - moi wyznawcy mnie kochają!

@ w0lfiesmith Nienawidzę twojego konta na Twitterze. Tak wiele.

- Justin Pot (@jhpot) 21 sierpnia 2013

Teraz dodam do użyteczności mojego osobistego strumienia na Twitterze, że Raspberry Pi automatycznie tweetuje swoją aktualną temperaturę procesora co godzinę i obraz z kamery internetowej!

Pierwsze kroki

Ten projekt wykorzystuje Python; prosty język programowania idealny do projektów DIY. Zaczniemy od zainstalowania Twython na Pi - moduł Pythona do współpracy z Twitterem; zakładanie Twittera “podanie” uzyskać klucz API; następnie zrób tweet Pi w naszym imieniu. To będzie świetna zabawa!

Robię to na Raspian - ale teoretycznie powinno to działać na każdym systemie operacyjnym opartym na Linuksie na systemach operacyjnych Pi 11 Raspberry Pi, które możesz wypróbować 11 systemów operacyjnych Raspberry Pi, których możesz wypróbować Niezależnie od projektu Raspberry Pi, istnieje system operacyjny system do tego. Pomagamy Ci znaleźć najlepszy Raspberry Pi OS dla Twoich potrzeb. . Jeśli jeszcze tego nie zrobiłeś, upewnij się, że skonfigurowałeś SSH, abyśmy mogli zdalnie zalogować się i wykonywać polecenia konsoli.

Instalowanie Twython

Dobrze jest najpierw uruchomić aktualizacje. Skopiuj i wklej kolejno następujące polecenia - większość będzie wymagać potwierdzenia.

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

Rejestracja aplikacji na Twitterze

Aby korzystać z interfejsu API Twittera - czyli interfejsu REST, którego będziemy używać do publikowania nowych tweetów i ogólnie interakcji z Twitterem poza witryną Twitter - musimy zarejestrować nową aplikację. Zrób to z tego linku - nie musisz określać zwrotnego adresu URL i po prostu stwórz stronę internetową, jeśli chcesz.

Gdy skończysz, zobaczysz coś podobnego do tego - te klucze są dla Ciebie unikalne.

Domyślnie aplikacja jest ustawiona tylko do odczytu, więc nie będziemy mogli publikować tweetów bez zmiany tej opcji na Czytaj i pisz. Przejdź do karty Ustawienia i zmień Typ aplikacji.

Po zapisaniu wróć do Detale i kliknij przycisk u dołu, aby utwórz token dostępu OAuth - daje to Twojej aplikacji dostęp do własnego konta na Twitterze. Odśwież i pozostaw stronę otwartą na później - będziemy musieli skopiować niektóre z tych kluczy za minutę.

Utwórz projekt w języku Python

Rozpocznij od utworzenia nowego katalogu, w którym mieści się Twój projekt Tweet, a następnie utwórz nowy plik.

mkdir SillyTweeter cd SillyTweeter sudo nano SillyTweeter.py 

Oczywiście możesz to nazwać, jak chcesz.

W wyświetlonym edytorze tekstu skopiuj i wklej następujące elementy, zastępując klucz klienta odpowiednim kluczem ze strony aplikacji Twitter, którą wcześniej pozostawiliśmy otwartą. Każdy klucz jest otoczony pojedynczymi cudzysłowami, więc nie zapomnij o nich. Zauważ, że KLUCZ DOSTĘPU określa się jako Token dostępu na stronie aplikacji na Twitterze.

#! / usr / bin / env import sys Pythona z importu twython Twython CONSUMER_KEY = '*************** TWOJE DANE *************** ** „CONSUMER_SECRET =” *************** TWOJE DANE ***************** „ACCESS_KEY =” ****** ********* TWOJE DANE ******************* 'ACCESS_SECRET =' *************** TWOJE DANE * **************** 'api = Twython (KLUCZ KONSUMERA, KLUCZ KONSUMERA, KLUCZ DOSTĘPU, KLUCZ DOSTĘPU, ACCESS_SECRET) api.update_status (status = sys.argv [1]) 

Naciśnij Ctrl-X i naciśnij Y, aby wyjść i zapisać plik. Spraw, by był wykonywalny za pomocą następującego polecenia (zastępując nazwę pliku Python, jeśli wybierzesz coś innego)

sudo chmod + x SillyTweeter.py 

Powinieneś teraz być w stanie przetestować swoją zdolność do publikowania tweetów w następujący sposób:

python SillyTweeter.py „Cześć wszystkim, to mój Raspberry Pi tweetuje więcej nonsensów”

Tweetowanie temperatury procesora

Teraz, gdy możesz publikować dowolne bzdury, dostosuj aplikację, aby pobierała bieżącą temperaturę procesora, bo niech mnie diabli, jeśli świat nie musi tego wiedzieć co godzinę.

Zacznij od dodania kolejnego importu dla biblioteki os:

import os

Następnie dodaj następujące wiersze, zastępując poprzedni api.update_status z powyższego przykładu.

cmd = '/ opt / vc / bin / vcgencmd Measure_temp' line = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'") [ 0] api.update_status (status = 'Moja aktualna temperatura procesora to' + temp + 'C') 

Nie będę zbytnio wyjaśniać tego kodu, ponieważ to tak naprawdę nie ma znaczenia - uruchamia polecenie, które mierzy temperaturę, a następnie dzieli dane wyjściowe w celu wyodrębnienia liczby i tweetuje je za pomocą niestandardowego komunikatu. Kompletny przykładowy kod można znaleźć tutaj.

Tweety z kamery internetowej

Teraz zróbmy coś naprawdę przydatnego; będziemy tweetować zdjęcia z kamery internetowej. Na szczęście Twython obsługuje funkcję API update_status_with_media, która sprawia, że ​​wszystko jest dość proste.

Podłącz kamerę internetową USB do urządzenia i sprawdź, czy została rozpoznana za pomocą polecenia:

ls / dev / video *

Jeśli zobaczysz wideo0, masz szczęście. Użyłem kamery Playstation 3 PSEye i działała dobrze bez żadnych dodatkowych czynności nóg.

Będziemy również korzystać z pygame biblioteki do robienia zdjęć; dodaj następujące wiersze tuż po istniejących instrukcjach importu:

import pygame import pygame.camera z 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') 

Krótko mówiąc, zainicjalizowałeś kamerę internetową w określonej rozdzielczości (być może trzeba to wyregulować, ponieważ jest to naprawdę stara kamera), zrobiłeś zdjęcie i zapisałeś jako plik jpg. Zastępujemy tę samą kamerę internetową.jpg przy każdym uruchomieniu aplikacji.

Na koniec dostosuj wiersz update_status, aby czytał:

photo = otwórz ('webcam.jpg', 'rb') api.update_status_with_media (media = zdjęcie, status = "Moje RPi będą tweetowały teraz zdjęcia =>") 

Oczywiście, jeśli chcesz, możesz ponownie zmienić tekst statusu na aktualną temperaturę procesora. Pełny kod dla tego przykładu znajduje się tutaj.

Możesz to powtórzyć?

Bot na Twitterze jest przydatny tylko wtedy, gdy uruchamia się wiele razy automatycznie; nie chcesz siedzieć tam i wykonywać polecenia co godzinę. Aby to osiągnąć, skorzystajmy z funkcji planowania CRON Pi (Co to jest zadanie CRON? Zautomatyzuj tworzenie kopii zapasowej Wordpress za pomocą prostych skryptów powłoki i CRON Zautomatyzuj tworzenie kopii zapasowej Wordpress za pomocą prostych skryptów powłoki i CRON Kiedy ostatnio rozmawialiśmy o kopiach zapasowych Wordpress, pokazałem ci, jak niezwykle łatwe było utworzenie kopii zapasowej całej bazy danych i plików przez SSH za pomocą tylko kilku poleceń. Tym razem pokażę…)

sudo crontab -e

Wklej w tym wierszu, aby uruchomić co godzinę.

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

Zmień to na * * * * * jeśli chcesz, aby działał co minutę i przygotuj się na utratę obserwujących szybciej niż konto na Twitterze, które szybko traci obserwujących.

To na dzisiaj. Cieszę się, że przyczyniłem się do zwiększenia głupoty w ogromnym bogactwie bezużytecznych bajtów w Internecie i mam nadzieję, że ty też! Wyrazić uznanie dla tego samouczka przez tweetować to, a następnie daj nam znać, co Twój tweet na Twitterze zamieści w komentarzach.

Źródło zdjęcia: adafruit / flickr




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.