Manual Raspberry con SO Raspbian y

RASPBERRY - RASPBIAN – TELEGRAM
Comunicación entre Raspberry y móvil mediante la aplicación Telegram.
Telegram es una plataforma gratuita de mensajería instantánea de código abierto segura.
Se pueden crear grupos de chat con hasta 200 personas.
Se pueden compartir imágenes, vídeos, etc con tamaño máximo de 1GB,
Los mensajes están en la nube, así que puedes acceder a ellos desde cualquiera de tus
dispositivos.
Los Chats Secretos ofrecen la máxima privacidad, con cifrado de móvil-a-móvil, para
asegurar que el mensaje puede ser leído sólo por el destinatario. En este caso no se
almacena nada en los servidores y se puede programar que los mensajes se destruyan
automáticamente desde ambos dispositivos para que no haya registro de ello.
1 - SO RASPBIAN
1. Descargar la imagen de Rapsbian http://www.raspberrypi.org/downloads/
2. SDFormatter Formatear tarjeta SD.
3. Win32DiskImager Montar la imagen de Raspbian
Exit.
4. Insertar la tarjeta en la Raspberry y conectar red, monitor, alimentación, teclado y ratón.
5. Configuración. Raspbian por defecto usa usuario pi y contraseña raspberry.
a. Usuario: pi, cambio la contraseña a root.
b. Hostname: raspberry.
c. Configuración de red IP 10.0.0.130 en /etc/network/interfaces.
6. Conectar con putty desde el equipo, de modo que la raspberry sólo necesita
alimentación eléctrica y cable de red.
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 1 / 14
7. Actualizar:
2 – INSTALAR TELEGRAM EN EL MOVIL
Aplicación disponible en Google Play.
3 – INSTALAR TELEGRAM EN RASPBERRY
https://github.com/vysheng/tg. -->Página de telegram-cli. Hay versión de prueba(test) y
versión estable (master). Se selecciona master.
master o test
Se puede clonar o
descargar un zip.
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 2 / 14
Clonar el repositorio de telegram:
git clone --recursive https://github.com/vysheng/tg.git && cd tg
Instalar librerías en la carpeta descomprimida:
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2dev libevent-dev libjansson-dev
Compilar el programa  ./configure  make
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 3 / 14
PARA INICIAR EL PROGRAMA:
Telegram requiere una llave pública para iniciar, que se encuentra dentro de la carpeta
descomprimida con el nombre tg-server.pub (El mismo contenido está en server.pub)
El contenido de la carpeta de telegram:
Ejecutar telegram-cli (situarse en la carpeta donde está el programa):
 ./bin/telegram-cli -k /home/pi/tg/gtg.pub
Se inicia con la llave pública gtg.pub aunque no existe.
Al ejecutar el comando por primera vez nos pedirá nuestro teléfono móvil con 12 dígitos
(+codigo_país numero_móvil) escribir +34123456789
Se recibe SMS en el móvil indicando código de acceso numérico de 5 caracteres.
Mensaje: “Telegram code 39687”
Se escribe ese código en la consola y ya se puede utilizar telegram.
Añadir contactos add_contact 123456789012 nombreusuario
Crear grupo create_group_chat grupo_oficina
Añadir usuario al grupo chat_add_user <chat> <user> 
chat_add_user grupo_oficina oficina
chat_add_user grupo_oficina Maite_Cuesta_Calvo
Ver lista de contactos contact_list
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 4 / 14
Ver que el proceso telegram está en ejecución:
Enviar mensaje msg <usuario> Texto
El usuario con nombre y apellido separados por un guión bajo.
Otra sesión:  ./bin/telegram-cli -k /home/pi/tg/tg-server.pub
Inicia sesión con la llave pública existente tg-server.pub.
Desde el móvil envío foto y después mensaje.
Desde el móvil creo grupo “Oficinayyo” con teléfono oficina y mío. Envío mensaje Hola
Contesta Caracola
Desde la Raspberry msg <grupo> Textomsg Oficinayyo Desde la raspberry al grupo
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 5 / 14
INMAPA Informatica escribe mensaje Holaaa
Información del grupo o chat Oficinayyo chat_info <grupo>
Envío foto desde el móvil al grupo:
Crear archivo de texto en /home/pi/:
Enviar archivo de texto send_text <usuario> <ruta_archivo>
Ver el historial de mensajes history <usuario>
Cambiar nombre de un contacto rename_contact <usuario> <nombre> <apellido>
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 6 / 14
Información del chat o grupo chat_info <grupo>
Información del usuario: nombre real, nº teléfono y estadouser_info <usuario>
Mostrar mensajes pendientes  dialog_list
Crear chat secreto y enviar mensaje create_secret_chat <usuario>
quit Salir
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 7 / 14
TELEGRAM COMO SERVICIO O DEMONIO
Hay varias opciones:

Se puede crear un servicio nuevo mediante script situado en /etc/init.d/

Ejecutar telegram-cli en /etc/rc.local, introduciendo la llamada en dicho script.
Edittando /etc/rc.local, introduciendo telegram antes del final (exit 0).
Comando a ejecutar o script
Ejecutar telegram guardando la salida por el Puerto 2233 en /var/log/telegram, en
segundo plano o backgroud (indicado por &). La opción –k indica la ruta de la Key o
clave pública de telegram. La opción –d indica demonio.
/home/pi/tg/bin/telegram-cli
/var/log/telegram &
-k /home/pi/tg/tg-server.pub -d -W -I -P 2233 -L
Crear el archivo /var/log/telegram con propietario pi y grupo pi:
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 8 / 14
touch /var/log/telegram
sudo chown -R pi:pi /var/log/telegram
/home/pi/tg/bin/telegram-cli
/var/log/telegram
-k /home/pi/tg/tg-server.pub -v >
Las opciones para /home/pi/tg/bin/telegram-cli:
telegram-cli Usage
--phone/-u
specify username (would not be asked during authorization)
--rsa-key/-k
specify location of public key (possible multiple entries)
--verbosity/-v
increase verbosity (0-ERROR 1-WARNIN 2-NOTICE 3+-DEBUG-levels)
--enable-msg-id/-N
message num mode
--config/-c
config file name
--profile/-p
use specified profile
--log-level/-l
log level
--sync-from-start/-f
during authorization fetch all messages since registration
--disable-auto-accept/-E
disable auto accept of encrypted chats
--lua-script/-s
lua script file
send dialog_list query and wait for answer before reading input
--wait-dialog-list/-W
--disable-colors/-C
disable color output
--disable-readline/-R
disable readline
--daemonize/-d
daemon mode
--logname/-L <log-name>
log file name
--username/-U <user-name>
change uid after start
--groupname/-G <group-name>
change gid after start
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 9 / 14
--disable-output/-D
disable output
--tcp-port/-P <port>
port to listen for input commands
--udp-socket/-S <socket-name>
unix socket to create
--exec/-e <commands>
make commands end exit
--disable-names/-I
use user and chat IDs in updates instead of names
--enable-ipv6/-6
use ipv6 (may be unstable)
--help/-h
prints this help
--accept-any-tcp
accepts tcp connections from any src (only loopback by default)
--disable-link-preview
disables server-side previews to links
--json
prints answers and values in json format
Comprobar que Telegram está en ejecución:
Envío un mensaje desde el móvil y lo recibe, aparece en /var/log/telegram, que es la
salida de la ejecución de telegram.
Mensaje desde el móvil
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 10 / 14
Enviar mensaje desde la consola con telegram en segundo plano. Después del echo se
hace netcat por el puerto 2233. Habría que revisar en iptables que ese puerto sólo permite
local, que no entre nada por él.
echo “msg <usuario> Texto” | nc –w 2 127.0.0.1 2233
En tail –f /var/log/telegram que estaba abierto aparece:
Del mismo modo se podría utilizar cualquier comando de telegram entre las comillas del
echo y mandar con netcat.
Ej echo “send_photo <usuario> /home/pi/foto1.img” | nc –w 2 127.0.0.1 2233
También se pueden usar las funciones de lua-scripts.
Si sólo se quieren mostrar los mensajes que contengan “mola”:
Mostrar toda la actividad de telegram:
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 11 / 14
Ejecutar telegram en segundo plano
/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -d -W -I -P 2233 -L
/var/log/telegram &
En otra consola está abierta la salida de telegram /var/log/telegram
Envío mensaje “Desde movil 1” desde el móvil y aparece en la salida.
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 12 / 14
OPCIONES DE ARRANQUE DE TELEGRAM-CLI
Una parte fundamental en el uso de telegram es el sistema de arranque, las opciones extras:
-h
Despliega una lista de ayuda en inglés
-u “usuario”
Permite especificar nombre de usuario
-k “clave pública” Permite especificar la clave pública del servidor
-V
Proporciona detalles la aplicación
-l [1-3]
Permite configurar el nivel de registro
-L net file
Registro del archivo
-N
Enumera los mensajes recibido y enviados.
-c config-file
Especifica el archivo de configuración
-p prefijo
Permite especificar un prefijo
-R
Permite el modo de registro
-f
Permite la sincronización de principio
-B
Permite binlog
-E
Desactiva aceptar automaticamente
-w
Permite débil azar
-s
Especifica lua script
-W
Lista de espera de diálogo
Estos comandos sólo funcionan para el proceso de ejecución.
COMANDOS ÚTILES PARA USAR TELEGRAM-CLI
MENSAJERÍA
 msg <usuario> texto – envía el mensaje a este usuario.
 fwd <usuario> <numero-mensaje> – reenviar un mensaje al usuario. Puedes ver los
número de mensajes iniciando el Cliente con -N.
 chat_with_peer <usuario> – inicia un chat con este usuario. /exit o /quit para salir de este
modo.
 add_contact <numero-teléfono> <nombre> <apellido> – intenta añadir este contacto a
la lista de contactos.
 rename_contact <usuario> <nombre> <apellido> – intenta renombrar el contacto. Si
tienes otro dispositivo será una pelea.
 mark_read <usuario> – marca todos los mensajes como recibidos de ese usuario.
MULTIMEDIA
 send_photo <usuario> <nombre-archivo-foto> – manda una foto al usuario.
 send_video <usuario> <nombre-archivo-video> – envia un video al usuario.
 send_text <usuario> <nombre-archivo-texto> – envia un archivo de texto como un
mensaje en plano.
 load_photo/load_video/load_video_thumb <numero-mensaje> – carga foto/video
indicado del directorio de descarga.
 view_photo/view_video/view_video_thumb <numero-mensaje> – carga foto/video
indicado del directorio de descarga y lo abre con el visor por defecto del sistema.
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 13 / 14
OPCIONES DE CHAT DE GRUPO
chat_info <chat> – imprime información del chat.
 chat_add_user <chat> <usuario> – agrega un usuario al chat.
 chat_del_user <chat> <usuario> – elimina un usuario del chat.
 rename_chat <chat> <nuevo-nombre> – cambia el nombre al chat.

BUSCAR
 search <usuario> patrón – busca el patrón indicado en los mensajes con ese usuario.
 global_search patrón – busca el patrón indicado en todos los mensajes.
CHAT SECRETO
 create_secret_chat <usuario> – crea un chat secreto con el usuario indicado.
 visualize_key <secret_chat\> – Muestra la clave de cifrado. Debes compararla con la del
otro usuario.
ESTADÍSTICAS E INFORMACIÓN VARIA.
 user_info <usuario> – muestra información sobre el usuario.
 history <usuario> [limit] – muestra el historial (y la marca como leído). Limite por defecto =
40.
 dialog_list – muestra información acerca del dialogo
 contact_list – muestra información acerca de tu lista de contactos.
 suggested_contacts – muestra información sobre sus contactos, tiene un máximo de amigos
comunes.
 stats – solo para depuración.
 show_licens – muestra la licencia GPLv2.
 help – imprime esta ayuda.
MARÍA TERESA CUESTA CALVO
M05 - RASPBERRY PI - SO RASPBIAN – TELEGRAM 14 / 14