¿Quieres chatear con Zowi a través de Telegram? ¿Mandarle comandos desde la otra punta de tu casa, desde otra ciudad, o desde otro país? ¡Aprende cómo!
Crear un bot de Telegram ¿Cómo lo hacemos?
Paso a paso:
- Abre la app de Telegram y abre una conversación con BotFather, buscándolo a través del buscador del menú superior de la aplicación
- En la conversación con BotFather, manda el comando /start.
- Ahora vamos a crear un nuevo bot, para poder tener conversaciones con él, mandando el comando /newbot.
- Te responderá con un mensaje de confirmación tras crear el bot. Ahora te pedirá que le des un nombre a tu bot. Contéstale con el nombre que más te guste.
- ¡Perfecto! Ahora te pedirá que le des un nombre de usuario a tu bot. El nombre de usuario debe acabar en “bot”. De nuevo, contéstale con el nombre de usuario que más te guste.
- ¡Hecho! BotFather te contestará con el enlace para acceder a tu bot, y un dato muy importante, el token de acceso para la HTTP API. Apunta este token en algún sitio que no vayas a perder.
Ya tienes tu propio bot. Ahora puedes abrir una conversación con él haciendo clic en el enlace que te proporciona BotFather, o buscándolo de la misma forma que hicimos con el propio BotFather.
Vamos a la parte de programación en el ordenador
- Descarga los archivos que adjuntamos a este post.
- Abre el archivo config para editarlo, y cambia los valores de nombre y TOKEN a los del bot que acabamos de crear.
[bot] name= Nombre de tu Bot token= Tu TOKEN
¡Genial!
Conectando a Zowi
Ahora vamos a hacer que a Zowi le lleguen mensajes a través de Internet, para poder chatear con él por Telegram. Esto lo hacemos conectando a Zowi con un ordenador con acceso a Internet.
Conecta a Zowi por Bluetooth
Para conectar a Zowi por Bluetooth, primero debemos conectarlo y asignarle un puerto ¿Cómo? Ya que la placa controladora de Zowi está basada en Arduino, en concreto corresponde al Arduino UNO, lo haremos de siguiendo el mismo método que con una placa ZUM-BT, nuestra otra placa basada en Arduino. Te explicamos cómo en este tutorial. Recuerda que la única diferencia al hacer el tutorial con Zowi, es que la placa a la que corresponde es Arduino UNO.
Añadiendo los puertos
De nuevo, abre el archivo config para editarlo, y ahora cambia los valores del puerto, en la plataforma que corresponda, al puerto que te aparece en el IDE de Arduino. También puedes conectar a Zowi directamente por USB, si decides no utilizar Bluetooth.
[system] port_Windows = COM5 port_Ubuntu = /dev/ttyUSB0 port_Mac = /dev/tty.usbserial
¡Arrancamos el programa!
- Abre un terminal, accede al directorio en el que tengas guardados los archivos descargados de este post.
- Vamos a instalar antes algunos paquetes de Python, para poder ejecutar nuestro programa
sudo apt-get install python-pip sudo pip install pyTelegramBotAPI sudo pip install twx.botapi
Ya estamos listos, vamos a mandarle mensajes a Zowi
- En Telegram, abre la conversación con el bot que has creado. Parece que no es una conversación normal, ¿no?
- En el teclado te saldrán dos opciones predefinidas test y stop. Pruébalas y comprueba que Zowi sigue tus órdenes.
¿Es eso todo? ¡No! También puedes enviarle otros comandos a través de la conversación de Telegram. ¿Cómo lo hacemos? Os damos algunos ejemplos:
- Que realice gestos, mandándole el comando:
/gesture happy - Que haga sonidos, con el comando:
/sound surprise - Podemos mandarle movimientos, por ejemplo:
/move turn_up [tiempo en ms] - O mandarle tonos, para que cante nuestra canción favorita, por ejemplo:
/tone [frecuencia] [tiempo en ms]
¿Qué más puede hacer? Descúbrelo investigando el archivo SerialInterface.py
¿Lo has conseguido? ¡Controla tu Zowi desde donde quieras!
¿Quieres que encienda el interruptor de la luz cuando estás a punto de llegar a tu casa?, ¿quieres que Zowi te despierte cuando tu amiga escriba a Zowi por chat para que no llegues tarde al examen? ¡El límite de las aplicaciones lo pones tú!