Dillo al (ro)”BOT”

Telegram è un applicazione di messaggistica gratuita che si sta facendo strada grazie alla sua versatilità. Fra le sue molte funzioni, ogni utente ha la possibilità di scrivere un “bot”, un “robot” che risponde automaticamente ai nostri comandi. Le applicazioni sono veramente molte, dalle risposte pre-configurate, alla ricerca di informazioni, alle interrogazioni di database, al controllo di dispositivi remoti. Per chi si fosse perso la presentazione del nostro Alessio “Marge”, riepiloghiamo qui alcune informazioni per iniziare a conoscere i “bot” di Telegram.

Dal punto di vista logico, un utente Telegram manda un messaggio ad un “bot” così come scrive ad un altro utente. Le richieste o comandi iniziano con “/” seguito dal comando conosciuto, es. “/aiuto”. Il  server di Telegram provvede ad inoltrarlo al nostro applicativo che nel frattempo è in attesa di comandi a cui rispondere. La risposta del “bot” ritorna al server che provvede a restituirla all’utente.

Il Bot appare come un utente e come tale può partecipare ad un gruppo. In questo caso il comando e la risposta appariranno a tutti i membri.

Dal punto di vista fisico, il “bot” è un programma scritto in uno dei tanti linguaggi supportati che potrà essere eseguito su un qualsiasi computer connesso alla rete. Chiaramente il nostro bot dovrà essere in esecuzione quando arriveranno le richieste, un server sempre attivo è quindi necessario. Ma per fare le prime prove sarà possibile eseguirlo anche sul nostro computer di casa.

Un bot è composto da un loop infinito che, dopo la dovuta inizializzazione, inizia con una chiamata ad una API (Application Program Interface) disponibile sul server Telegram. La chiamata non terminerà fino a quando un utente non invierà un comando (o fino allo scadere di un timeout, per evitare attese infinite). La risposta alla chiamata sarà una struttura JSON con il testo del comando e con altre informazioni utili a formulare la risposta. Il bot dovrà quindi preparare e spedire la risposta al server e quindi ritornare ad accettare altri comandi.

In altre parole, è il bot che si collega al server di Telegram per offrire i propri servizi.

Il tutto viene ovviamente eseguito dopo una registrazione del bot e la fornitura di una chiave di sicurezza che permette la dovuta autenticazione del servizio.

Un esempio lo potete trovare sul repository GitHub del GULLi. Si tratta del bot ufficiale del GULLi (realizzato da Alessio Margelli) che al momento restituisce le date dei prossimi eventi e le informazioni del bot stesso.

Il controllo di dispositivi tramite un bot

Il processamento del comando avviene quindi su un computer dell’utente, ovunque esso sia. È facile quindi pensare ad un codice che, prima di rispondere al comando, esegua un’azione per controllare un dispositivo, es.:

  • Controllare un dispositivo collegato (immaginiamo un Raspberry-PI)
  • Inviare un comando seriale ad un modulo Arduino
  • Inviare un messaggio in rete
  • Inviare un comando Bluetooth
  • etc….

Il GULLi è disponibile per supportare gli sviluppi di nuove idee che vogliano utilizzare i bot e Linux. Puoi contattarci qui.

Domotica con Arduino

Durante il Talk About Linux dedicato ad una delle nostre piattaforme di sviluppo preferite, Arduino,  abbiamo potuto apprezzare la grande potenzialità del sistema: la fusione di delle tecnologie presentate, hanno dato vita ad un sistema di controllo a distanza, in perfetto stile Internet Of Things ovvero: internet delle cose.

La serata è stata condotta dal Socio Alessandro Marzini il quale ha preparato una dimostrazione per cui è stato possibile ammirare delle schede Arduino che “parlavano” tra di loro mediante la comunicazione “Wireless” trasmettendo dati ambientali rilevati da alcuni sensori equipaggiati nelle schede.

Continua a leggere

Gruppo di studio su FreeCAD

Da tempo il GULLi si è avvicinato al mondo dei “maker”, lanciando per l’argomento l’hashtag #gulligarage: un filone tematico  con l’intenzione di scoprire e far scoprire le capacità di Linux e del software libero in questo nuovo modo di produrre oggetti fai da te. Alle presentazioni relative alla Stampa 3D, è seguito il workshop su Cura, il software di “slicing” che permette di creare i comandi per le stampanti partendo dal disegno dell’oggetto da realizzare. Con l’acquisto della stampante “PrusaI3” il GULLi intende completare la catena dei componenti necessari per la stampa 3D, iniziando a studiare FreeCAD, un programma di disegno meccanico completo, versatile e gratuito.

Come già per altri argomenti, per conoscere meglio FreeCAD, diversi soci si sono uniti in un gruppo di studio per conoscere e condividere le molteplici capacità del programma. Continua a leggere