Propaganda

O Twitter é o maior repositório mundial de mensagens curtas de pessoas sem nada a dizer - e agora você também pode contribua para esse projeto épico com um bot automatizado do Twitter, com tecnologia do seu Raspberry Pi. Estou brincando, é claro – algumas pessoas realmente twittam coisas interessantes Como usar o Twitter para procurar mentores em sua área de interesseNo mundo real, um mentor é um professor sábio que apóia e guia alguém e os ajuda a maximizar seu potencial. No mundo online, você teria muita sorte de encontrar alguém que ... consulte Mais informação . Porém, eu não sou um deles - eu uso o meu para promover produtos descarados em troca de itens gratuitos, participações em competições e postar automaticamente novos episódios de nosso próprio Podcast Technophilia. Tanto faz - meus seguidores me amam!

@ w0lfiesmith Eu odeio sua conta do Twitter. Muito.

- Justin Pot (@jhpot) 21 de agosto de 2013

Agora vou aumentar a utilidade do meu fluxo pessoal no Twitter, fazendo com que um Raspberry Pi twite automaticamente sua temperatura atual da CPU a cada hora e uma foto da webcam!

instagram viewer

Começando

Este projeto usa Python; uma linguagem de programação simples, ideal para projetos de bricolage. Vamos começar instalando Twython no Pi - um módulo Python para interface com o Twitter; configurar um "aplicativo" do Twitter para obter uma chave de API; depois, faça o tweet do Pi em nosso nome. Vai ser muito divertido!

Estou fazendo isso no Raspian - mas, teoricamente, deve funcionar em qualquer SO baseado em Linux que você possui no Pi 11 sistemas operacionais executados no seu Raspberry PiQualquer que seja o seu projeto Raspberry Pi, há um sistema operacional para ele. Ajudamos você a encontrar o melhor sistema operacional Raspberry Pi para suas necessidades. consulte Mais informação . Se você ainda não o fez, certifique-se de configurar o SSH para que possamos fazer login remotamente e executar comandos do console.

Instalando o Twython

É uma boa ideia executar as atualizações primeiro. Copie e cole os seguintes comandos, um de cada vez - a maioria exigirá confirmação.

sudo apt-get update. sudo apt-get upgrade. sudo apt-get install python-setuptools. sudo easy_install pip. O sudo pip instala o twython. 

Registrando um aplicativo do Twitter

Para usar a API do Twitter, ou seja, a interface REST que usaremos para postar novos Tweets e geralmente interagir com o Twitter fora do site do Twitter, precisamos registrar um novo aplicativo. Faça isso deste link - você não precisa especificar um URL de retorno de chamada e apenas criar um site, se desejar.

new-twitter-app

Você verá algo parecido com isso assim que terminar. Essas chaves são exclusivas para você.

twitter-app

Por padrão, o aplicativo está definido como somente leitura, portanto, não poderemos publicar tweets sem alterá-lo para Leia e escreva. Vá para a guia Configurações e altere o Tipo de aplicação.

acesso de leitura e gravação

Depois de salvo, volte para o Detalhes guia e clique no botão na parte inferior para criar um token de acesso OAuth - isso dá ao seu aplicativo acesso à sua própria conta do Twitter. Atualize e deixe a página aberta para mais tarde. Precisamos copiar e colar algumas dessas chaves em um minuto.

token de acesso

Crie seu projeto Python

Comece criando um novo diretório para abrigar seu projeto do Tweet e crie um novo arquivo.

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

Você pode chamá-lo como quiser, obviamente.

No editor de texto exibido, copie e cole o seguinte, substituindo a chave do consumidor pela chave relevante na página do aplicativo do Twitter que deixamos aberta anteriormente. Cada tecla é cercada por aspas simples, portanto, não as perca. Observe que CHAVE DE ACESSO é referido como Token de acesso na página do aplicativo do Twitter.

#! / usr / bin / env python. sys de importação. da importação de twython Twython. CONSUMER_KEY = '*************** SEUS DADOS *****************' CONSUMER_SECRET = '*************** SEUS DADOS *****************' ACCESS_KEY = '*************** SEUS DADOS *****************' ACCESS_SECRET = '*************** SEUS DADOS *****************' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (status = sys.argv [1])

Pressione Ctrl-X e pressione Y para sair e salvar o arquivo. Torne-o executável com o seguinte comando (substituindo o nome do arquivo Python se você escolher outra coisa)

sudo chmod + x SillyTweeter.py. 

Agora você deve poder testar sua capacidade de postar tweets assim:

python SillyTweeter.py 'Olá pessoal, este é o meu Raspberry Pi twittando mais bobagens'

Tweetando sua temperatura da CPU

Agora que você pode postar qualquer tipo de besteira que quiser, vamos ajustar o aplicativo para aproveitar a temperatura atual da CPU, porque eu vou estar amaldiçoado se o mundo não precisar saber disso a cada hora.

Comece adicionando outra importação para a biblioteca do sistema operacional:

importação os

Em seguida, adicione as seguintes linhas, substituindo o api.update_status anterior do exemplo acima.

cmd = '/ opt / vc / bin / vcgencmd measure_temp' line = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'")) [0] api.update_status (status = 'Minha temperatura atual da CPU é' + temp + 'C')

Não vou explicar muito esse código porque realmente não importa - ele executa um comando que agarra a temperatura, em seguida, divide a saída para extrair o número e envia tweets com um mensagem. Você pode encontrar o completo código de exemplo aqui.

Tweeting Webcam Pics

Agora vamos fazer algo realmente útil; vamos twittar fotos da webcam. Felizmente, o Twython suporta a função API update_status_with_media, o que torna as coisas bastante simples.

Conecte uma webcam USB ao seu dispositivo e verifique se ela foi reconhecida com o comando:

ls / dev / video *

se você ver video0, você está com sorte. Usei uma câmera PSEye do Playstation 3 e funcionou muito bem sem qualquer trabalho adicional.

Também vamos usar o pygame bibliotecas para tirar uma foto; adicione as seguintes linhas logo após as instruções de importação existentes:

pygame de importação. import pygame.camera. de pygame.locals import * pygame.init () pygame.camera.init () cam = pygame.camera. Câmera ("/ dev / video0", (640.480)) cam.start () image = cam.get_image () pygame.image.save (imagem, 'webcam.jpg')

Em resumo, você inicializou a webcam em uma resolução específica (pode ser necessário ajustar a câmera, é uma câmera muito antiga), tirou uma foto e a salvou como jpg. Vamos sobrescrever a mesma webcam.jpg sempre que o aplicativo for executado.

Por fim, ajuste a linha update_status para ler:

photo = open ('webcam.jpg', 'rb') api.update_status_with_media (media = photo, status = 'Minha RPi está twittando imagens agora =>')

Obviamente, você pode alterar o texto de status para a temperatura atual da CPU novamente, se quiser. O código completo para este exemplo está aqui.

Você pode repetir isso?

Um bot do Twitter só é útil se for executado várias vezes, automaticamente; você não quer ficar sentado executando o comando a cada hora. Para conseguir isso, vamos usar o recurso de agendamento CRON do Pi (O que é um trabalho CRON? Automatize seu backup do Wordpress com scripts de shell simples e CRONA última vez que conversamos sobre backups do Wordpress, mostrei como era incrivelmente fácil fazer backup de todo o banco de dados e arquivos no SSH com apenas alguns comandos. Desta vez, eu vou mostrar ... consulte Mais informação )

sudo crontab -e

Cole nesta linha, para executar a cada hora.

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

Mude isso para * * * * * se você deseja que ele seja executado a cada minuto e esteja preparado para perder seguidores mais rapidamente do que uma conta no Twitter que perde seguidores rapidamente.

Isso é por hoje. Estou feliz por ter contribuído com mais bobagem para a vasta riqueza de bytes inúteis na Internet, e espero que você também! Mostre sua apreciação por este tutorial twittando, e informe-nos sobre o que seu bot do Twitter vai twittar nos comentários.

Crédito da imagem: adafruit / flickr

James é bacharel em Inteligência Artificial e possui certificação CompTIA A + e Network +. Ele é o principal desenvolvedor do MakeUseOf e passa seu tempo livre jogando paintball e jogos de tabuleiro em VR. Ele está construindo PCs desde que era criança.