Controlar la Raspberry mediante Telegram

Vamos 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:

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

Instalamos los paquetes necesarios

 sudo apt-get install python-setuptools
 sudo apt-get install python-pip
 sudo pip install telepot
 sudo apt-get install sysstat

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

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

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

sudo chown -R pi:pi /opt/pyTelegramApi

Instalamos:

 cd /opt/pyTelegramBotApi
 sudo 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

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

 nano rpi_bot.py

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

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

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

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

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

 sudo chown -R pi:pi /opt/bots

Arrancando el bot

Ponemos en marcha el bot con la siguiente orden:

 python 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:

 sudo 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

/usr/bin/python /opt/bots/rpi_bot.py

exit 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!!!!

comentario powered by Disqus