Sommario:

Raspberry Pi Slack Scroll Bot!: 10 passaggi
Raspberry Pi Slack Scroll Bot!: 10 passaggi

Video: Raspberry Pi Slack Scroll Bot!: 10 passaggi

Video: Raspberry Pi Slack Scroll Bot!: 10 passaggi
Video: CR10S Pro V2 with Creality 4.2.7 gets Mainsail Klipper a Complete Walkthrough 2024, Novembre
Anonim
Bot di scorrimento lento Raspberry Pi!
Bot di scorrimento lento Raspberry Pi!
Bot di scorrimento lento Raspberry Pi!
Bot di scorrimento lento Raspberry Pi!
Bot di scorrimento lento Raspberry Pi!
Bot di scorrimento lento Raspberry Pi!

Questo progetto combina un Raspberry Pi con un kit Pimoroni Scroll Bot (modificato con pulsanti), Slack e IFTT per notifiche visive e sonore quando i video di YouTube vengono pubblicati su un abbonamento!

Le modifiche al pulsante al kit sono opzionali, così come lo speaker per annunciare l'arrivo di un nuovo video.

Puoi anche usarlo per inviare qualsiasi messaggio al bot tramite slack anteponendo "bot" all'inizio del messaggio, ad esempio "bot hello world". "bot clear" cancellerà lo schermo.

Passaggio 1: assemblaggio del robot di scorrimento

Completa le istruzioni per assemblare lo Scroll Bot Pimoroni:

learn.pimoroni.com/tutorial/sandyj/assembl…

Passaggio 2: installa pacchetti e codebase

Installa i pacchetti audio:

sudo apt-get update & sudo apt-get upgrade -y

sudo apt-get install mpg123

Installa i pacchetti Python:

boccetta di installazione pip

pip install psutil pip install slackclient

Segui il tutorial su Pimoroni per iniziare con Scroll Hat:

learn.pimoroni.com/tutorial/sandyj/getting…

che include il download del codice sorgente di esempio e delle risorse:

curl https://get.pimoroni.com/scrollphathd | bash

Poiché lo schermo è montato capovolto nel kit del robot, è necessario decommentare il codice per ruotare lo schermo di 180:

$ sed -i 's/#scrollphathd.rotate(degrees=180)/scrollphathd.rotate(degrees=180)/g' /home/pi/Pimoroni/scrollphathd/examples/web-api.py

Passaggio 3: configurazione dell'istanza Slack

Configurazione dell'istanza Slack
Configurazione dell'istanza Slack
Configurazione dell'istanza Slack
Configurazione dell'istanza Slack

Affinché lo script possa comunicare con Slack, avrai bisogno di una chiave API del bot.

Inizia accedendo alla pagina web del tuo team Slack (https://my.slack.com/services/new/bot) e scegli un nome utente per il tuo bot, quindi copia il token API fornito.

Passaggio 4: crea un canale Slack e invita il tuo robot sul canale

Crea un canale Slack e invita il tuo robot sul canale
Crea un canale Slack e invita il tuo robot sul canale

Puoi utilizzare il canale slack generale o, se preferisci, puoi creare un canale slack separato.

Nel mio caso ho usato #robot-claire-control

Devi invitare il tuo robot nel canale, altrimenti non vedrà i messaggi inviati.

Passaggio 5: scarica il codice sorgente SlackPiBot e configura

Scarica il codice sorgente di slackPiBot da git:

git clone

Aggiorna la riga 29 con la tua chiave API:

slack_client = SlackClient("xoxb-YOUR-API-KEY-HERE")

Aggiorna la riga 34 con il nome del tuo robot:

if user.get('nome') == "robot-claire":

Passaggio 6: configura Crontabs per l'avvio automatico all'avvio:

Configurazione di crontab per l'avvio automatico all'avvio:

crontab -e

Aggiungi quanto segue alla parte inferiore del tuo 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

Passaggio 7: Opzionale: aggiungere un'uscita per altoparlante USB

Per questo progetto, sto utilizzando un vivavoce USB di US Robotics, disponibile su Amazon o eBay.

Se usi qualcosa di simile, dovrai cambiare il dispositivo audio di sistema predefinito modificando la configurazione di alsa (/usr/share/alsa/alsa.conf). Modifica le seguenti righe:

defaults.ctl.card 1defaults.pcm.card 1

1 è l'indice del tuo dispositivo. Per trovare l'ID del dispositivo del tuo dispositivo USB, esegui aplay -l e cerca l'ID della carta.

Passaggio 8: Opzionale: aggiungi pulsanti cablati al robot per cancellare i messaggi

Opzionale: aggiungi pulsanti cablati al robot per cancellare i messaggi
Opzionale: aggiungi pulsanti cablati al robot per cancellare i messaggi
Opzionale: aggiungi pulsanti cablati al robot per cancellare i messaggi
Opzionale: aggiungi pulsanti cablati al robot per cancellare i messaggi

Questo passaggio è facoltativo ma altamente consigliato per cancellare i messaggi sullo schermo.

Ho aggiunto due pulsanti al mio robot, ma in questo progetto sto usando solo GPIO17.

Lo script check_button.py che viene eseguito all'avvio interroga il GPIO17 ogni pochi millisecondi e, se premuto, invia un HTTP POST allo script della schermata di esempio per cancellare lo schermo.

Passaggio 9: mettere tutto insieme e inviare l'output al Pi

Ci sono 4 script che lavorano insieme per questo progetto:

/home/pi/Pimoroni/scrollphathd/examples/web-api.py/home/pi/slackPiBot/check_button.py/home/pi/slackPiBot/forever.py /home/pi/slackPiBot/slackPiBot.py

Lo script web-api è fornito da Pimoroni ed è una semplice applicazione web per controllare lo schermo con i comandi POST.

Lo script python check_button interroga i pin GPIO e quando il pulsante viene premuto invia un POST HTTP allo script web-api.py.

Lo script forever.py avvia lo script slackPiBot.py per garantire che se ci sono errori non rilevati o si disconnette da slack, lo script viene riavviato per evitare di perdere alcun messaggio.

Lo script slackPiBot.py si connette a slack e monitora il canale per i messaggi che iniziano con "bot" o i post da IFTT. Se c'è una corrispondenza, invierà un POST HTTP allo script web-api.py e verrà visualizzato sullo schermo.

Passaggio 10: opzionale: integrazione IFTT

Opzionale: integrazione IFTT
Opzionale: integrazione IFTT
Opzionale: integrazione IFTT
Opzionale: integrazione IFTT
Opzionale: integrazione IFTT
Opzionale: integrazione IFTT

Questo progetto è stato progettato per avvisare i miei figli dei video pubblicati dalle persone che seguono su YouTube, dal momento che sono troppo giovani per avere il proprio iPhone o iPad. Ho realizzato questo creando ricette IFTT che inviano una notifica al canale di controllo slack una volta che un video è stato pubblicato.

Il wiki degli istruttori lo rende complicato da vedere in un solo passaggio, ma gli screenshot qui sopra mostrano il risultato finale.

Consigliato: