Creando una alarma con Raspberry Pi: Videovigilancia y remoto con Telegram

Vamos a empezar con la creación de un sistema de videovigilancia y alarma a través de Raspberry Pi, una cámara y control remoto con Telegram.

Café en mano y al grano!

En primer lugar vamos a preparar telegram en raspbian:

Partiendo de que ya tenemos la imagen de raspbian grabada, comenzamos instalando dependencias que nos harán falta:

Nos descargamos telegram-cli:

El paso a un commit anterior es debido a un problema enviando archivos en las últimas versiones de telegram-cli.

En esta primera entrada vamos a configurar tres acciones remotas: foto, gif, o vídeo; las cuales se solicitarán mediante esos mismos comandos.

Para gestionar todo esto, Telegram-cli tiene la opción de trabajar con scripts en lua, los cuales usaremos para permitir las solicitudes y respuestas remotas.

Nota: En mi caso todos los scripts los guardaré en ../tg/scripts

Alarma.lua – Es el programa principal que se encarga de llamar al resto y gestionar solicitudes y respuestas remotas:
Nota: Tenemos que cambiar el USER_ALLOWED = “NAME” por un usuario al que queramos permitir el control remoto (en mi caso para estas pruebas: “Mama”)
Si no se usan las mismas rutas para tg cambiar en las primeras lineas del script.

foto.lua – En el podemos configurar las diferentes características que queremos para las fotos (calidad):

gif.lua – Configuración para los gifs ( número de imágenes, tiempo de grabación):

video.lua – Configuración para el vídeo (tiempo de grabación, tamaño):

Creamos la carpeta “toSend” que es donde se guardan los archivos a enviar, en mi caso:

Una vez descargados los scripts pasamos a arrancar telegram-cli cargando el script principal alarma.lua:

Nota: En el primer arranque nos solicitará el número que queremos configurar. (El formato es: +34xxxxxxxxx, +34 si es España)

y ya como pruebas de concepto unas caputras de las distintas acciones:

foto:                                         gif:                                            vídeo:

foto   gif   video

Seguiremos mejorando el sistema, tanto la parte ya implementada como nuevas ideas; por ejemplo detección de movimiento, alarma sonora, grabación de vídeo… pero eso ya lo dejo para entradas posteriores, cuando la taza de café vuelva a estar llena.

Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone

También te podría gustar...

7 Respuestas

  1. Mugiwara dice:

    Esta bueno pero tengo una duda, asi termina o le agregaras mas cosas?

    • Santi dice:

      Buenas,
      Actualmente la tengo con más funcionalidades como sensor de movimiento, alarma sonora, los correspondientes avisos, etc. Por falta de tiempo no he podido terminar la segunda parte de esta entrada, pero espero poder tenerla pronto. Saludos.

  2. Leonardo Rosas dice:

    Hola, esta muy interesante tu aporte, actualmente estoy tratando de hace un proyecto muy parecido, me podrías ayudar en como regresar la salida de un comando en consola por decir la temperatura de la raspberry o algo parecido, ya que no puedo pasar de esta parte, agradecería mucho tu ayuda. Gracias!!!

  3. Diego dice:

    Muy bueno!! Y quedó a la espera de la segunda parte

  4. Enrique dice:

    Hola Santi.
    Tengo una duda que por más que busco en internet no consigo resolver y es referente a la seguridad del control con telegram de la raspberryPI. Si yo conozco el número de teléfono que has registrado en telegram-raspberry (que suele ser el mismo que el del movil) puedo cambiar mi nombre de usuario de telegram a Mama y enviar un mensaje con el texto ‘foto’ y aunque la foto no me la enviaría a mi, imagina si la acción va dirigida al encendido de una luz o a la apertura de una puerta. Y es que la autenticación se realiza por el nombre del contacto y no por el número de teléfono. ¿Cómo se resuelve este problema de seguridad?
    Gracias de antemano por la ayuda.

    • Santi dice:

      Tienes razón, lo que habría que hacer es filtrar por id en lugar de nombre. Para ello hay que cambiar msg.from.print_name por msg.from.peer_id. El id lo puedes consultar con este bot get_id_bot
      Ahora bien, desde que salió la API para crear bots de telegram esta implementación es un poco “ruda” en comparación con lo que se puede hacer gracias a los bots.
      Un saludo

  5. Enrique dice:

    Ahora sí funciona!!
    La verdad es que aun no me he metido con las bots pero todo llegará…
    Muchas gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *