Como construir um twitter bot raspberry pi
Twitter é o maior repositório mundial de mensagens curtas de pessoas com nada a dizer - e agora você também pode contribuir para que o projeto épico com um bot automatizado Twitter, alimentado por sua Raspberry Pi. Estou brincando, é claro - algumas pessoas realmente twittar coisas interessantes
Conteúdo
Agora eu estou indo para adicionar à utilidade do meu fluxo de Twitter pessoal por ter um Raspberry Pi twittar automaticamente seu atual temperatura da CPU a cada hora, e uma imagem da webcam!
Começando
Este projeto utiliza píton- uma linguagem de programação simples ideal para projetos de DIY. Vamos começar com a instalação Twython sobre o Pi - um módulo Python para interface com Twitter- a criação de um “aplicativo” Twitter para obter uma API chave- em seguida, ir para fazer as coisas Tweet Pi em nosso nome. Vai ser muito divertido!
Estou fazendo isso em Raspian - mas deveria no trabalho teoria em qualquer -Linux baseado OS você tem sobre o Pi. Se você não tiver, certifique-se de configurar o SSH para que possamos acessar remotamente e executar comandos do console.7 Sistemas Operacionais Você pode correr com Raspberry Pi7 Sistemas Operacionais Você pode correr com Raspberry PiQuem pode discutir com um computador de US $ 40? Especialmente um que também constitui uma boa base para projetos de eletrônica! Eu certamente não posso. Mas o hardware por si só é apenas um lado da história: você ainda precisa ...consulte Mais informação
Instalando Twython
É uma boa idéia para executar atualizações em primeiro lugar. Copie e cole os seguintes comandos um de cada vez - a maioria vai exigir confirmação.
sudo apt-get atualizarsudo apt-get atualizarsudo apt-get instalar python-setuptoolssudo pip easy_installsudo pip instalar twython
Registrar um aplicativo de Twitter
Para utilizar a API do Twitter - ou seja, a interface REST que usaremos para postar novos Tweets e geralmente interagir com Twitter outisde do site do Twitter - vamos precisar registrar um novo aplicativo. Fazer isso a partir deste link - você não precisa especificar uma URL de retorno, e apenas fazer um site, se quiser.
Você verá algo parecido com isso quando você estiver pronto - estas teclas são exclusivas para você.
Por padrão, o aplicativo é definido para somente leitura, então não será capaz de publicar os tweets sem alterar isso para Leia e escreva. Vá para a aba Configurações e mudar o Tipo de aplicação.
Uma vez salvo, volte para o detalhes guia e clique no botão na parte inferior para criar um token de acesso OAuth - o que dá o seu acesso ao aplicativo para a sua própria conta no Twitter. Refrescar, e deixar a página aberta para mais tarde - vamos precisar copiar e colar algumas dessas chaves em um minuto.
Crie seu projeto Python
Comece fazendo um novo diretório para abrigar seu projeto Tweet, em seguida, criar um novo arquivo.
mkdir SillyTweeterCD SillyTweetersudo nano SillyTweeter.py
Você pode chamá-lo o que quiser, obviamente.
No editor de texto que aparece, copie e cole o seguinte, substituindo a chave do consumidor com a tecla correspondente da página do aplicativo Twitter deixamos aberta anteriormente. Cada chave é cercado por aspas simples, por isso não deixe para não perder aqueles. Observe que CHAVE DE ACESSO é referido como token de acesso na página de aplicativo do Twitter.
#! / Usr / bin / env pythonimportar sysa partir de twython importar TwythonCONSUMER_KEY = `***************SEUS DADOS*****************`CONSUMER_SECRET = `***************SEUS DADOS*****************`CHAVE DE ACESSO = `***************SEUS DADOS*****************`ACCESS_SECRET = `***************SEUS DADOS*****************`api = Twython(CONSUMER_KEY,CONSUMER_SECRET,CHAVE DE ACESSO,ACCESS_SECRET)api.atualizar o status(estado=sys.argv[1])
Pressione Ctrl-X e pressione Y para sair e salvar o arquivo. Torná-lo executável com o seguinte comando (substituindo o seu píton o nome do arquivo se você escolheu algo mais)
sudo chmod +x SillyTweeter.py
Agora você deve ser capaz de testar a sua capacidade de postar tweets assim:
python SillyTweeter.py `Olá a todos, esta é a minha Raspberry Pi twittar você mais absurdo`
Olá a todos, esta é a minha Raspberry Pi twittar você mais absurdo
- James Bruce (@ w0lfiesmith) 29 de agosto de 2013
Twittar seu Temp CPU
Agora que você pode postar qualquer bobagem tipo que você quer, vamos ajustar o aplicativo para agarrar a temperatura atual da CPU, porque eu serei amaldiçoado se o mundo não precisa saber que a cada hora.
Comece por adicionar uma outra de importação para a biblioteca os:
importar OS
Em seguida, adicionar os seguintes linhas, substituindo o api.update_status anterior a partir do exemplo acima.
cmd = `/ Opt / vc / bin / vcgencmd measure_temp`linha = OS.popen(cmd).Leia a linha().faixa()Temp = linha.Dividido(`=`)[1].Dividido("`")[0]api.atualizar o status(estado=`Minha temperatura atual da CPU é`+Temp+`C`)
Não vou explicar este código muito, porque realmente não importa - ele é executado um comando que agarra a temperatura, em seguida, divide-se a saída para extrair o número, e tweets que com uma mensagem personalizada. Você pode encontrar o código de exemplo completo aqui.
Tweeting Webcam Pics
Agora vamos fazer algo realmente útil- vamos Tweet de webcam fotos. Felizmente, Twython suporta a função update_status_with_media API, o que torna as coisas bastante simples.
Conecte uma webcam USB no dispositivo e verificar se ele foi reconhecido com o comando:
ls / Dev / video *
se você ver video0, você está com sorte. Eu usei um cam PSEye Playstation 3 e funcionou muito bem sem qualquer trabalho braçal adicional.
Nós também vamos usar o pygame bibliotecas para tomar um picture- adicione as seguintes linhas logo após as declarações de importação existentes:
importar pygameimportar pygame.Câmeraa partir de pygame.locals importar *pygame.nisso()pygame.Câmera.nisso()ressalto = pygame.Câmera.Câmera("/ Dev / video0",(640,480))ressalto.começar()imagem = ressalto.get_image()pygame.imagem.Salve (imagem,`Webcam.jpg`)
Em suma, você inicializado o webcam em uma resolução específica (pode ser necessário ajustar esse é que é um cam muito velho), tirou uma foto, e salva-lo como um jpg. Nós apenas estamos indo para substituir o mesmo webcam.jpg cada vez que o aplicativo é executado.
Finalmente, ajustar a linha update_status para ler:
foto = aberto(`Webcam.jpg`,`Rb`)api.update_status_with_media(meios de comunicação=foto, estado=`Meu RPI ser twittando imagens agora = gt; `)
Claro, você pode mudar o texto de status para a sua temperatura atual da CPU, novamente, se você gosta. O código completo para este exemplo é aqui.
Meu RPI ser twittando imagens agora = gt; pic.twitter.com/NfUgLnWQtm
- James Bruce (@ w0lfiesmith) 29 de agosto de 2013
Você pode repetir isso?
Um bot Twitter só é útil se ele é executado várias vezes, automatically- você não quer estar sentado lá executando o comando a cada hora. Para conseguir isso, vamos usar o recurso CRON programação do Pi (O que é um trabalho cron?)Automatize seu backup Wordpress Com simples Shell Scripting & CRONAutomatize seu backup Wordpress Com simples Shell Scripting & CRONA última vez que falou sobre backups Wordpress, eu mostrei como incrivelmente fácil era fazer backup de seu banco de dados inteiro e arquivos embora SSH com apenas alguns comandos. Desta vez, eu vou mostrar ...consulte Mais informação
sudo crontab -e
Colar nesta linha, para ser executado a cada hora.
* / 60 * * * * /home/pi/SillyTweeter/SillyTweeter.py pitão
Mudar isso para * * * * * se você quiser que ele seja executado a cada minuto, e estar preparado para perder seguidores mais rápido do que uma conta de Twitter que perde seguidores rapidamente.
Isso é para hoje. Estou feliz por ter contribuído mais bobagem à vasta riqueza de bytes inúteis na Internet, e espero que você também! Mostre sua apreciação para este tutorial tweeting ele, e, em seguida, deixe-nos saber o que seu próprio bot Twitter vai tweet sobre nos comentários.