Stampante3D con Telegram

Oggi vedremo come configurare la Stampante3D con Telegram, in modo da poter lanciare le nostre stampe mentre siamo fuori casa e avere la possibilità di vedere il loro stato. Utilizzeremo Octoprint, se non sai come installarlo puoi leggere la guida base che ho scritto in questo articolo https://www.lutritech.it/octoprint-come-gestire-la-stampante-3d-tramite-wifi/ 

Per questa guida vi occorrerà:

In qualità di affiliato Amazon io ricevo un guadagno dagli acquisti idonei. A voi non costerà nulla di più e avrete modo di supportare così il mio lavoro.

Schema Iniziale

schema-logico-stampa3d-telegram-lutritech

Dal nostro smartphone, fuori casa, andremo ad accendere/spegnere la presa domotica che alimenta la nostra stampante tramite cloud. Potremo usare i comandi principali che mette a disposizione OctoPrint, dato che il raspberry è sempre collegato via usb alla nostra stampante.
Quando siamo in casa possiamo utilizzare senza problemi il browser e collegarci alla pagina octopi.local per avere il controllo completo, ma fuori dalla rete di casa questo indirizzo non è disponibile, quindi ho trovato due soluzioni:

  1. Utilizzo di una VPN che metta in sicurezza il traffico dalla rete di casa verso la rete esterna, attraverso lo smartphone usando il traffico 4G sarò sempre collegato alla mia rete casalinga e potrò accedere all’interfaccia web octopi.local
    In questo articolo ho già spiegato come fare: https://www.lutritech.it/realizzare-un-server-vpn-gratis-con-raspberry-pi/
  2. Utilizzare un bot di Telegram che permetta di eseguire i comandi sul raspberry in completa sicurezza anche utilizzando il traffico in 4G attraverso il cloud.

Ci sarebbe l’apertura delle porte del router verso l’esterno, ma non la considero una soluzione ma un potenziale pericolo. Non lo consiglio.

Plugin di OctoPrint necessari

Per installare un plugin, occorre entrare nelle impostazioni dalla pagina principale

settings-octoprint-stampa3d-lutritech

successivamente cercare sulla sinistra “Plugin Manager” e dopo cliccare su “+Get More”

Plugin Octoprint - LutriTech.it

Inseriamo il nome del plugin che ci occorre in questo caso PSU control e poi sul tasto Install sulla destra.
Andando nelle impostazioni, sulla sinistra cerchiamo PSU Control e configuriamolo come qui sotto

PSU control- LutriTech.it
power-on-settings-plugin-octoprint-bot-telegram

Ricordatevi di mettere anche i flag per la connessione all’accensione e la disconnessione per lo spegnimento.
Nel campo “On system Command” potete incollare temporaneamente questo:
curl -X POST https://maker.ifttt.com/trigger/AccendiStampante/with/key/ X X X X X X X X X X X X X X X X X X X X

mentre per “Off System Command” questo:
curl -X POST https://maker.ifttt.com/trigger/SpegniStampante/with/key/ X X X X X X X X X X X X X X X X X X X X

Ma cosa sono queste due righe usate per i comandi?! Due semplici richieste web (webhook) ospitate dalla piattaforma di IFTTT.
Tutte le volte che verrà lanciata una richiesta faremo accendere/spegnere la nostra presa domotica registrata sul nostro account.
Registratevi sul sito di https://ifttt.com/home è gratuito per la versione che ci occorre, vi conviene accedere con il vostro account di google.
Poi visitate https://ifttt.com/create.

Configurazione del webhook di IFTTT

Dovremmo associare all’evento della richiesta web una azione, l’accensione o lo spegnimento della nostra presa domotica.

create-if-stampa3d-telegram-octoprint- LutriTech.it
webhook-ifttt-stampa3d-telegram-octoprint-lutritech

Scegliete in questo modo:

richiesta web- LutriTech.it

Decidiamo di chiamare il trigger “AccendiStampante”

Trigger- LutriTech.it
edit-if-ifttt-stampa3d-telegram-octoprint

Ora che abbiamo creato il trigger con la web request possiamo associare cosa dovrà fare. Bisogna cercare il provider con cui abbiamo associato la nostra presa domotica. Nel mio caso cerco Meross perchè è la marca della presa che voglio utilizzare per questo progetto. Ha il vantaggio di avere presa italiana e monitora i consumi di elettricità.

meross-service-ifttt-stampa3d-telegram-octoprint

Meross Turn on- LutriTech.it

Qui bisogna scegliere dalla lista il nome che avete dato alla presa domotica, nel mio caso si chiama “stampante”

turn on - LutriTech.it

Visitate questa pagina https://ifttt.com/maker_webhooks

WebHook - LutriTech.it

Per testare cliccate su Documentation, qui vedrete la vostra key alfanumerica (qui ho oscurato la mia)

WebHook Test - LutriTech.it

mettiamo il nome del trigger che avevamo chiamato “AccendiStampante”.
In questo modo abbiamo ottenuto la stringa che ci permette di accendere la presa che alimenta la nostra stampante,
Copia il link su un nuovo tab di Chrome e se tutto va bene vedrai una riga:

Congratulations! You’ve fired the AccendiStampante event

e la stampante si accenderà come per magia. In modo del tutto analogo, si crea una stringa creando un trigger SpegniStampante ottenendo naturalmente un link diverso.

Creare il nostro Bot su Telegram

Per utilizzare la nostra stampante3D con Telegram è necessario consentire al plugin di inviare messaggi, occorre creare un bot.

  1. Vista anche da pc https://telegram.me/botfather tramite Telegram e clicca su Send Message.
BotFather - LutriTech.it
  1. Invia /newbot e immetti un nome per il bot, io ad esempio ho inserito “LutriTechPrintBot” e un nome utente per il bot, ad esempio “LutriTechPrintBot”. 
    Questo nome utente deve terminare con “bot”.
  2. Il BotFather ti restituisce un token di autenticazione, copialo perché ne avrai bisogno tra poco. Mantieni segreto questo codice mi raccomando!
Telegram Bot - LutriTech.it

Configurazione della stampante3d con Telegram

  1. Installa il plug-in tramite il Plugin Manager
  2. Ora entra nelle impostazioni di Octoprint e seleziona Telegram a sinistra.
  3. Inserisci il token che hai ricevuto da botfather nel campo “Telegram Bot Token”.
  4. Premi il pulsante “Prova questo token”. Dovrebbe segnalare il successo.
Impostazioni Telegram - LutriTech.it

Congratulazioni! La tua stampante è ora connessa al tuo bot di Telegram.

Configurazione Utente

  1. Apri le impostazioni di Octoprint e seleziona Telegram a sinistra.
  2. Invia un messaggio qualsiasi al tuo nuovo bot. 
    Dovresti ricevere un messaggio dal tuo bot che ti dice qualcosa come “Ora ti conosco”.
  3. Ora premi il pulsante “Reload” ​​sotto l’elenco delle chat conosciute. La chat dovrebbe apparire nell’elenco.
  4. Salva le impostazioni per accettare nuovi utenti/gruppi nell’elenco.
  5. Ora riapri le impostazioni di Octoprint e controlla/imposta le configurazioni per i nuovi utenti. 

I nuovi utenti che interagiscono con il bot devono essere autorizzati da noi attraverso la pagina sottostante, infatti come si vede nella figura qui sotto hanno due x relative ai comandi e alle notifiche.

configuration-plugin-octoprint-bot-telegram-lutritech

Come prima cosa bisogna cliccare sulla matita sotto Action e permettere l’invio dei comandi e la ricezione delle notifiche.

flags-plugin-octoprint-bot-telegram

Secondariamente bisogna andare sull’icona sotto Command e selezionare a cosa è abilitato questo utente e poi salvare. Per esempio:

User Config - Lutritech.it

Usiamo la Stampante3D con Telegram

Ora apriamo Telegram, cerchiamo la chat del nostro bot e inviamo /on

Accensione Stampante- LutriTech.it

La stampante si accende e octoprint si collega in modo automatico.
Con il comando /status, richiediamo lo stato della stampante e ci viene inviata una foto.

Stato Stampante3D- LutriTech.it

/print Si aprirà una finestra di dialogo che mostra i file archiviati in octoprint. Puoi selezionare un file per stamparlo.

/files Elenca tutti i file disponibili per la stampa nella cartella di caricamento e consente di scaricarli ed eliminarli. Puoi anche visualizzare informazioni dettagliate sul file come la cronologia di stampa. Se la versione di OctoPrint è >= 1.3.0, vengono elencate le sottodirectory e puoi spostare/copiare i file.

/off

Spegnimento Stampante- LutriTech.it

La stampante viene correttamente spenta.

In questo articolo abbiamo visto come usare la nostra stampante3D con Telegram, comandarne l’accensione e lo spegnimento lontano da casa senza fare modifiche elettriche al suo interno mantenendo così integra la sua garanzia. Tramite semplici comandi su Telegram è anche possibile lanciare le stampe utilizzando i file gcode sulla memoria del raspberry.

Condivi sui Social

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna in alto