Índice:
- Etapa 1: montagem do bot de rolagem
- Etapa 2: instalar pacotes e base de código
- Etapa 3: configurar a instância do Slack
- Etapa 4: crie um canal do Slack e convide seu robô para o canal
- Etapa 5: Baixe o código-fonte do SlackPiBot e configure
- Etapa 6: configurar o Crontabs para iniciar automaticamente na inicialização:
- Etapa 7: Opcional: adicione uma saída de alto-falante USB
- Etapa 8: Opcional: adicione botões com fio ao robô para limpar mensagens
- Etapa 9: Juntando tudo e enviando a saída para o Pi
- Etapa 10: Opcional: Integração IFTT
Vídeo: Raspberry Pi Slack Scroll Bot !: 10 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Este projeto combina um Raspberry Pi com um kit Pimoroni Scroll Bot (modificado com botões), Slack e IFTT para notificações visuais e sonoras quando vídeos do YouTube são postados em uma assinatura!
As modificações do botão no kit são opcionais, assim como o alto-falante para anunciar a chegada de um novo vídeo.
Você também pode usar isso para enviar qualquer mensagem ao bot por meio do slack, acrescentando "bot" no início da mensagem, como "bot hello world". "bot clear" irá limpar a tela.
Etapa 1: montagem do bot de rolagem
Conclua as instruções para montar o Pimoroni Scroll Bot:
learn.pimoroni.com/tutorial/sandyj/assembl…
Etapa 2: instalar pacotes e base de código
Instale pacotes de áudio:
sudo apt-get update & sudo apt-get upgrade -y
sudo apt-get install mpg123
Instale os pacotes python:
frasco de instalação pip
pip install psutil pip install slackclient
Siga o tutorial na Pimoroni's para começar a usar o Scroll Hat:
learn.pimoroni.com/tutorial/sandyj/getting…
que inclui o download do código-fonte de amostra e recursos:
curl https://get.pimoroni.com/scrollphathd | bash
Como a tela é montada de cabeça para baixo no kit do robô, você precisa descomentar o código para girar a tela 180:
$ sed -i 's / # scrollphathd.rotate (degrees = 180) /scrollphathd.rotate (degrees = 180) / g' /home/pi/Pimoroni/scrollphathd/examples/web-api.py
Etapa 3: configurar a instância do Slack
Para que o script se comunique com o Slack, você precisará de uma chave de API de bot.
Comece fazendo login na página da sua equipe do Slack (https://my.slack.com/services/new/bot) e escolha um nome de usuário para o seu bot, em seguida, copie o token de API fornecido.
Etapa 4: crie um canal do Slack e convide seu robô para o canal
Você pode usar o canal Slack geral ou, se preferir, pode criar um canal Slack separado.
No meu caso, usei # robot-claire-control
Você deve convidar seu robô para o canal, ou ele não verá as mensagens enviadas.
Etapa 5: Baixe o código-fonte do SlackPiBot e configure
Baixe o código fonte slackPiBot do git:
git clone
Atualize a linha 29 com sua chave API:
slack_client = SlackClient ("xoxb-YOUR-API-KEY-HERE")
Atualize a linha 34 com o nome do seu robô:
if user.get ('name') == "robot-claire":
Etapa 6: configurar o Crontabs para iniciar automaticamente na inicialização:
Configurando crontabs para iniciar automaticamente na inicialização:
crontab -e
Adicione o seguinte na parte inferior do seu crontab:
@reboot python /home/pi/Pimoroni/scrollphathd/examples/web-api.py@reboot python /home/pi/slackPiBot/check_button.py @reboot python /home/pi/slackPiBot/forever.py / home / pi / slackPiBot / slackPiBot.py >> /home/pi/slackPiBot/outputLog.txt 2> & 1
Etapa 7: Opcional: adicione uma saída de alto-falante USB
Para este projeto, estou usando um viva-voz USB da US Robotics - disponível na Amazon ou ebay.
Se estiver usando algo semelhante, você precisará alterar o dispositivo de som do sistema padrão editando a configuração do alsa (/usr/share/alsa/alsa.conf). Altere as seguintes linhas:
defaults.ctl.card 1defaults.pcm.card 1
1 sendo o índice do seu dispositivo. Para encontrar o ID do dispositivo do seu dispositivo USB, execute aplay -l e procure o ID do cartão.
Etapa 8: Opcional: adicione botões com fio ao robô para limpar mensagens
Esta etapa é opcional, mas altamente recomendada para limpar mensagens na tela.
Eu adicionei dois botões de ação ao meu robô, mas neste projeto estou usando apenas GPIO17.
O script check_button.py que é executado na inicialização pesquisa o GPIO17 a cada poucos milissegundos e, se pressionado, envia um HTTP POST para o script de tela de amostra para limpar a tela.
Etapa 9: Juntando tudo e enviando a saída para o Pi
Existem 4 scripts que funcionam juntos para este projeto:
/home/pi/Pimoroni/scrollphathd/examples/web-api.py/home/pi/slackPiBot/check_button.py/home/pi/slackPiBot/forever.py /home/pi/slackPiBot/slackPiBot.py
O script web-api é fornecido pela Pimoroni e é um aplicativo simples da web para controlar a tela com comandos POST.
O script check_button python pesquisa os pinos GPIO e quando o botão é pressionado envia um HTTP POST para o script web-api.py.
O script forever.py inicia o script slackPiBot.py para garantir que, se houver algum erro não detectado ou desconectado do slack, o script seja reiniciado para evitar a perda de mensagens.
O script slackPiBot.py se conecta ao slack e monitora o canal para mensagens começando com "bot" ou postagens do IFTT. Se houver uma correspondência, ele enviará um HTTP POST para o script web-api.py e será exibido na tela.
Etapa 10: Opcional: Integração IFTT
Este projeto foi pensado para alertar meus filhos sobre vídeos postados por pessoas que eles seguem no youtube, já que são muito jovens para ter seu próprio iPhone ou iPad. Consegui isso criando receitas IFTT que enviam uma notificação ao canal de controle do Slack assim que um vídeo é postado.
O wiki instructables torna isso complicado de ver em uma etapa, mas as imagens acima mostram o resultado final.
Recomendado:
Atualizador de status do Slack com ESP8266: 5 etapas (com imagens)
Slack Status Updater com ESP8266: este projeto ajuda a tornar seu dia um pouco mais fácil se você for um trabalhador remoto usando o Slack. Vou mostrar como construí-lo usando uma placa wi-fi ESP8266. Não perca o vídeo acima para ter uma visão geral. Se você é novo no Slack ou se acabou de usar
Status simples do Kicker e sistema de reservas com integração Slack: 12 etapas (com imagens)
Sistema de Reserva e Status Simples de Kicker com Integração Slack: Em uma empresa onde trabalho há uma mesa de kicker. A empresa ocupa muitos pisos e para alguns dos colaboradores demora até 3 minutos a chegar à mesa e … a perceber que a mesa já está ocupada. Surgiu então a ideia de construir um ki
Bot de desenho de linha BT criado para o lixo - Meu bot: 13 etapas (com imagens)
Lixo construído BT Line Drawing Bot - Meu Bot: Hai amigos, depois de um longo intervalo de cerca de 6 meses, aqui estou eu com um novo projeto. Até a conclusão de Cute Drawing Buddy V1, SCARA Robot - Arduino eu planejo um outro robô de desenho, o objetivo principal é cobrir um grande espaço para desenho. Braços robóticos tão fixos c
Slack Integrated Coffeebot: 4 etapas
Slack Integrated Coffeebot: Você fica frustrado no escritório quando não há café fresco na cozinha quando você chega? Este problema comum de escritório requer ações sérias. Com este instrutível, você pode criar um coffeebot integrado Slack para suas cafeteiras com sma
Hack Scroll-Wheel: 5 etapas (com imagens)
Hack com roda de rolagem: maneira super inconveniente de rolar pela teia com dedos galopando em botões de tecido. (Sorriso) A roda de rolagem dentro do meu mouse é um mecanismo muito simples, mas brilhante que basicamente pressiona dois botões em sucessão toda vez que eu rolar para encontrar um