Stampa

Un nuovo modo per fare domotica è tramite la famosa chat Telegram infatti basta creare un BOT all'interno di Telegram che gestisce i vari comandi che gli impostiamo su di uno script python e il gioco è fatto.

Ma veniamo nel dettaglio per prima cosa devo creare come dicevo un bot telegram che sarebbe un account Telegram che non è gestito da un utente reale, ma bensì da un programma. 

Ci addentriamo quindi nel campo dell’intelligenza artificiale, dove l’obiettivo è creare un utente che sia a tutti gli effetti assimilabile (compia quindi lo stesso tipo di azioni e operazioni) di un utente in carne e ossa. I Bot Telegram possono rispondere automaticamente a messaggi o menzioni/reply, possono essere invitati ad entrare nei gruppi, e possono essere integrati in altri programmi. I Bot per Telegram sono dei programmi che elaborano un input (che, a seconda dei casi, può essere rappresentato da messaggi di testo, comandi, immagini, file di vario tipo) e producono un output per l’utilizzatore. I Bot vengono utilizzati per:

Ma passiamo alla creazione del bot vero e proprio, una volta scaricato Telegram sia per pc o smartphone dobbiamo avviare BotFather che è lo strumento di Telegram che consente di creare un nuovo Bot, utilizzando le apposite API.

BotFather è a sua volta un Bot, che permette non solo di creare altri Bot, ma anche di gestirli una volta creati.  BotFather propone due link ai quali si possono ottenere, rispettivamente, informazioni sul funzionamento dei Bot Telegram e un manuale relativo all’utilizzo delle API. 

 L’avvio di BotFather viene eseguito fornendo il comando /start. Si noti come BotFather  proponga una lista dei comandi utilizzabili per accedere alle sue funzionalità.

La creazione di un nuovo Bot avviene tramite il comando /newbot. BotFather chiederà anzitutto il nome da assegnare al nuovo Bot (nell’esempio  è stato scelto il nome salman). Viene poi chiesto all’utente di scegliere una username per il nuovo Bot: è necessario che questa termini con “bot”. Nell’esempio  è stata scelta la username Salmanfaris_bot, che viene correttamente accettata da BotFather. Al Bot appena creato è poi possibile aggiungere una descrizione, una sezione “about”, e un’immagine per il profilo (il comando /help permette di visualizzare la lista completa dei comandi disponibili).

In fondo alla pagina, BotFather visualizzerà il token (oscurato) tramite il quale è possibile accedere alle API HTTP.

Una volta creato il bot e ottenuto il TOKEN segreto va annotato da una parte e inserito nel programma che gestirà il bot, tale programma io lo ho installato su Raspberry pi nel seguente modo:

ho dovuto installare i seguenti pacchetti:
sudo apt-get install python-pip
e
sudo pip installa telepot
poi
git clone https://github.com/salmanfarisvp/TelegramBot.git

a questo nella cartella /home/pi/ dovremo trovare la cartella TelegramBot entratoci possiamo creare il nostro file in python .py tipo diceclok.py o altri creati appositamente un esempio è:

 

Un altro esempio di codice in python può essere questo:



import sys
import time
import random
import datetime
import telepot
import RPi.GPIO as GPIO

#LED
def on(pin):
        GPIO.output(pin,GPIO.HIGH)
        return
def off(pin):
        GPIO.output(pin,GPIO.LOW)
        return
# to use Raspberry Pi board pin numbers
GPIO.setmode(GPIO.BOARD)
# set up GPIO output channel
GPIO.setup(11, GPIO.OUT)

def handle(msg):
    chat_id = msg['chat']['id']
    command = msg['text']

    print 'Got command: %s' % command

    if command == 'on':
       bot.sendMessage(chat_id, on(11))
    elif command =='off':
       bot.sendMessage(chat_id, off(11))

bot = telepot.Bot('Bot Token')
bot.message_loop(handle)
print 'I am listening...'

while 1:
     time.sleep(10)



In internet troviamo decine di esempi da modificare e utilizzare per le proprie esigenze e vi assicuro che potremo fare tutto quello che ci viene in mente tipo gestire tutta la casa oppure gestire ponti radio o ancora fare videosorveglianza etc. non ci sono limiti.