INTRODUZIONE
Tempo fa, abbiamo scritto un post su come installare Telegram sul Raspberry. Oggi sfrutteremo questo programma di messaggistica open source, che tra l'altro è un'ottima alternativa all'applicazione del signor Zuckerberg (Whatsapp per chi non lo sapesse), per comunicare con il nostro Raspberry.
Il principio di funzionamento è molto semplice, una volta installato Telegram sul Raspberry, e avviandolo con uno script in linguaggio lua, saremo in grado di interagire con esso mandandogli dei semplici messaggi, come se fosse un'utente normale. Ovviamente per fare questo, dobbiamo utilizzare due numeri di telefono, uno per il nostro telefono e uno per il Lampone.
Come avete letto qualche riga fa, il tutto è possibile utilizzando degli script scritti in linguaggio lua. Non vi preoccupate non è difficile per quello che dobbiamo fare noi, se comunque volete approfondire a questo link trovate il suo sito ufficiale.
INSTALLAZIONE E CONFIGURAZIONE
Detto questo bando alle ciance e iniziamo con l'installare Telegram sul Raspberry. La guida d'installazione la potete trovare in questo nostro post.
Una volta installato non ci resta che creare il file .lua per poter far interagire il Raspberry con noi attraverso Telegram.
Quindi posizioniamoci all'interno della directory d'installazione di Telegram (in poche parole dentro la cartella tg). Qui creiamo il nostro file action.lua, quindi apriamolo con “nano” dando il seguente comando:
nano action.lua
All'interno del file scriviamoci le seguenti righe di codice:
function on_msg_receive (msg)
if msg.out then
return
end
if (msg.text=='Ciao') then
send_msg (msg.from.print_name, 'Ciao ' .. msg.from.print_name .. ':)', ok_cb, false)
end
end
function on_our_id (id)
end
function on_secret_chat_created (peer)
end
function on_user_update (user)
end
function on_chat_update (user)
end
function on_get_difference_end ()
end
function on_binlog_replay_end ()
end
if msg.out then
return
end
if (msg.text=='Ciao') then
send_msg (msg.from.print_name, 'Ciao ' .. msg.from.print_name .. ':)', ok_cb, false)
end
end
function on_our_id (id)
end
function on_secret_chat_created (peer)
end
function on_user_update (user)
end
function on_chat_update (user)
end
function on_get_difference_end ()
end
function on_binlog_replay_end ()
end
Una volta scritto tutto, clicchiamo “ctrl + x” e digitiamo “s” per salvare.
Intuitivamente, con questo script, nella prima funzione “on_msg_receive”, gli diciamo semplicemente che non appena arriva un messaggio con scritto “Ciao”, quel tenerone del nostro Raspberry ci risponde “Ciao NOME :)”.
Non ci resta altro che far partire Telegram assieme allo script per testare il tutto. Quindi diamo il seguente comando:
bin/telegram-cli -k tg-server.pub -W -s action.lua
Bene, ora dal telefono proviamo a scrivergli “Ciao”, e come per magia:
Che emozione!
Ma continuiamo a pacioccare un po', (tanto per non usare sempre il termine nerdare!).
Nel linguaggio lua c'è una funzione molto interessante ossia “os.execute”, che, in poche parole, ci permette di eseguire un programma o uno script nel nostro Raspberry. Per testare questa funzione, ci faremo inviare con Telegram, un file con la lista dei file all'interno della directory “/etc”.
Normalmente se vogliamo salvare la lista dei file presenti dentro a quella directory, da terminale basta digitare:
ls /etc > /home/pi/lista_file
e dentro la directory “/home/pi” verrà creata una lista dei file che ci sono in “/etc”. Per fare ciò con Telegram, nel nostro script, dentro alla funzione “on_msg_receive”, scriviamo:
if (msg.text=='ls /etc') then
send_msg (msg.from.print_name, 'Aspe un attimo, ora ti invio il file', ok_cb, false)
os.execute('ls /etc > /home/pi/lista_file')
send_file (msg.from.print_name, '/home/pi/lista_file', ok_cb, false)
end
send_msg (msg.from.print_name, 'Aspe un attimo, ora ti invio il file', ok_cb, false)
os.execute('ls /etc > /home/pi/lista_file')
send_file (msg.from.print_name, '/home/pi/lista_file', ok_cb, false)
end
e come di consueto, una volta salvato il file action.lua, facciamo partire Telegram, dando sempre il seguente comando:
bin/telegram-cli -k tg-server.pub -W -s action.lua
ed ecco il risultato:
Da come potete notare, è uno strumento potente il controllo del Raspberry con Telegram, anche se ha qualche problema di sicurezza, perché se per esempio qualcuno ha il numero della sim del nostro Raspberry, allora può controllare anche lui il nostro computer con un semplice programma di messaggistica! Di certo non è quello che vogliamo! Infatti vi conviene fare dei controlli in più nello script, per esempio inserire una condizione all'inizio della funzione, specificando che se il numero non è quello del nostro telefono allora termini subito come nel esempio successivo:
if (msg.from.print_name~='My_number') then
return
end
return
end
Ovviamente non dobbiamo dare nemmeno il numero alla prima persona che incontriamo.
Legandoci al post precedente, quello sull'intelligenza artificiale, potremmo fare anche un piccolo chatterbot personale, in stile Cleverbot, anche se il suo sviluppo è piuttosto complesso.
Infine vi ricordo che se non avete ancora un Raspberry, potete acquistare qui un Raspberry Pi 2 B
CONCLUSIONI
Concludendo, oggi abbiamo visto un altro modo per utilizzare il nostro piccolo computer, e se siete a corto di idee per un nuovo progetto con il Raspberry allora continuate a seguirci!
FONTI:
- Immagini Joel Garia;
Nessun commento:
Posta un commento