CCTV SENSOR MOVIMIENTO CON MOTIONEYE EN RASPBERRY Y EMISION POR API A FTS EN ATAK



Hardware

  • Raspberry pi 4b con 4gb de ram + tarjeta microsd de 32gb
  • Conexión a internet a través de router o modem 4g
  • Cámara wifi, usb, etc...

Software

  • Motioneye os
  • Ubuntu server
  • Fts

Objetivo

Sistema CCTV casero en el que ponemos tantas cámaras como consideremos necesario conectadas a la raspberry y que avise en el atak cuando detecte movimiento

Parte 1

Instalar la imagen de ubuntu server en la raspberry a través de raspberry pi imager o balena etcher

Una vez instalado en la tarjeta microsd creamos un archivo llamado ssh en la tarjeta sd en boot con el comando "sudo touch ssh" para poder acceder a la raspberry con el ordenador a través de ssh

Parte 2

Metemos la tarjeta microsd en la raspberry y la iniciamos, con el ordenador metiéndonos dentro del router vemos que ip se le ha asignado a la raspberry, aunque lo suyo es darle una ip fija a la raspberry para que no nos la cambie. Para acceder a la raspberry con el ordenador conectados en la misma red lan que la raspberry abrimos una terminal y accedemos por ssh

ssh ubuntu@direcciónip

El usuario es ubuntu y la contraseña es ubuntu que nos obligará a cambiarlo

Parte 3

Vamos a la página de motioneye

(Install On Ubuntu (20.04 or Newer) · motioneye-project/motioneye Wiki
A web frontend for the motion daemon. Contribute to motioneye-project/motioneye development by creating an account on GitHub.

Ejecutamos todos los pasos descritos ahí

Parte 4

Creamos un dominio en noip apuntando a la ip pública que tengáis asignada


Instalamos noip en la raspberry siguiendo los pasos descritos en esta página

How to Install the No-IP DUC on Raspberry Pi - Support | No-IP Knowledge Base
Read this guide to learn how to install the Dynamic Update Client onto Raspberry Pi.

Una vez hecho esto colocamos el firewall ufw con los puertos 22(ssh) y 8765(motioneye)

ufw allow 22
ufw allow 8765
ufw enable

Más adelante habrá que abrir cada puerto de cada cámara para acceder desde el exterior

Parte 5

Accedemos al router para abrir el puerto 8765 y asignar el ddns creado



Parte 6

Accedemos a la interfaz web de motioneye con la ip de la raspberry y el puerto 8765, usuario admin contraseña en blanco

Añadimos las cámaras que consideremos necesarias


Habilitamos motion detection y en motion notification introduciremos el api que generaremos en esta página

Online curl command line builder
Easily generate curl command lines to test your new shining API or whatever!

El api rest del fts se encuentra en ésta página

REST API - Public - FreeTAKServer Documentation

Una vez generado el comando curl que tendremos que haber creado un usuario antes con el token en la interfaz web del fts


Comando para mandar icono de dron con video asignado al fts:

curl -XPOST -H 'Authorization: Bearer token' -H "Content-type: application/json" -d '{

"uid": "d033fd0c-d5ac-11eb-ab27-4e58de281c19",

"name": "camara",

"timeout": 40000,

"Bearing": "0",

"longitude": -77.01399,

"latitude": 38.889,

"FieldOfView": "20",

"Range": "500",

"VideoURLUID": "http://direccióndelvídeo:puerto"

}' 'http://direccióndelfts:19023/Sensor/postDrone'

Y con esto estaría ya todo, podemos poner diferentes comandos como mandar mensajes de alerta a todas las salas de chat cuándo detecte movimiento

Para ver las imágenes capturadas por motioneye hay que habilitar still images


Enlace vídeo