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
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
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
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
El api rest del fts se encuentra en ésta página
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