Controlar la Raspberry mediante Telegram

3 minutos de lectura

Va mos a ver como usar Telegram para controlar nuestra rpi mediante mensajes. Desde ver la temperatura, hasta actualizar el sistema o reiniciarlo, todo ello de una forma segura, creando un chat privado.

Instalación API de Telegram

Antes de comenzar con la instalación, nos conectamos mediante ssh a la rpi y actualizamos el sistema:

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

Instalamos los paquetes necesarios

1sudo apt-get install python-setuptools
2sudo apt-get install python-pip
3sudo pip install telepot
4sudo apt-get install sysstat

Mediante Git, clonamos el repositorio de la API de Telegram.

1sudo git clone https://github.com/eternnoir/pyTelegramBotAPI.git /opt/pyTelegramApi

Cambiamos el propietario del directorio /opt/pyTelegramApi para no tener problemas de acceso.

1sudo chown -R pi:pi /opt/pyTelegramApi

Instalamos:

1cd /opt/pyTelegramBotApi
2sudo python setup.py install

Obteniendo Token y crear Bot

El primer paso, es dirigirnos a @BotFather, es un Bot creado por Telegram para crear y administrar nuestros bots, e iniciamos una conversación con él.

Le damos a Iniciar y escribimos /newbot

Nos preguntará por el nombre que le vamos a dar al bot, en mi caso mirpibot y el nombre de usuario, que debe de acabar en bot.

Con esto ya tendremos creado nuestro bot, recibiremos un mensaje con el token del bot para poder usar la API de programas de Telegram.

Obteniendo ID

Necesitamos saber nuestro ID en Telegram, que es un el identificador único de nuestro usuario de Telegram, para obtenerlo, nos vamos a Telegram y buscamos el bot @myidbot

Le damos a iniciar y tras recibir el mensaje de bienvenida escribimos /getid

Programar el bot

Si buscas por Internet encontraras multitud de bots ya programados, yo he utilizado el que encontré en https://www.fwhibbit.es/controla-tu-raspberry-pi-mediante-telegram y le he hecho unos pequeños cambios para adaptarlo a mi gusto. te recomiendo que pases por su pagina y leas el articulo, gracias a él hice mis modificaciones.

Mi bot lo he subido a github por si lo quieres usar.

Unicamente hay que editar el fichero rpi_bot.py

1nano rpi_bot.py

y rellenar los campos TOKEN e ID con los valores que hemos obtenido anteriormente y grabar los cambios.

1TOKEN = 'tu token' # Entre comillas
2ID = tu ID  # Sin comillas

A mi me gusta tener estas cosas en /opt, por lo que me creo una carpeta y copio el bot

1sudo mkdir /opt/bots
2cd /opt/bots
3sudo cp -r /media/pi/Nas_01/rpi_bot.py .

Y le doy permisos de ejecución para poder trabajar con mi usuario

1sudo chown -R pi:pi /opt/bots

Arrancando el bot

Ponemos en marcha el bot con la siguiente orden:

1python rpi_bot.py

Inicio del bot en el arranque

Existe un fichero en /etc/rc.local que se ejecuta al final del arranque del sistema y ejecuta el comando o script que pongamos en su interior.

Por lo que editamos el fichero /etc/rc.local y añadiremos la ruta de nuestro fichero:

1sudo nano -w /etc/rc.local

Aunque cuando edites el fichero lo verás, es importante poner el fichero que se va a ejecutar antes del exit 0

1/usr/bin/python /opt/bots/rpi_bot.py
2
3exit 0

Y con esto ya hemos terminado, ya tenemos un bot para controlar la rpi desde telegram, además el bot se ejecuta cada vez que arranque la rpi, genial!!!