Antes de nada, quiero dejar claro que toda la información ha sido extraída de fuentes abiertas, toda esta información es publica y este post únicamente en con fines educativos e investigación. Todas las pruebas realizadas han sido en mis propios vehículos, estos vehículos en NINGÚN momento han circulado con la intención de exceder los límites de velocidad, el único objetivo es poner a prueba el potencial de un HW con un buen software e información de fuentes abiertas que consideramos que deberían estar más restringidas, al menos en temas de seguridad vial.

La idea inicial fue integrarlo todo para que pueda funcionar de forma autónoma sin tener que usar una powerbank, así que se ha aprovechado para poner un hub usb junto a la maneta del freno delantero:

abejas dgt sh3llcon.orf

Dejamos un puerto para seguir cargando dispositivos, los demás puertos los ubicaremos dentro del carenado en la parte delantera justo sobre las horquillas, todo el HW ha sido montado en una caja estanca

abejas dgt sh3llcon.orf

Por desgracia hay cables que no podremos evitar que queden a la vista:

abejas dgt sh3llcon.org

Comenzamos las pruebas con la raspberrypi zero, no dieron el resultado esperado, así que el segundo intento se efectuó con una raspberrypi4 con todas las instalaciones que explicaremos mas adelante.

Aclararemos conceptos, en concreto, el Pegasus está compuesto por dos cámaras que trabajan a la vez:

La primera es panorámica y se encarga de seguir el movimiento de un vehículo y determinar su velocidad

La segunda, que cuenta con un teleobjetivo de largo alcance, sirve para visualizar la matrícula del mismo o incluso determinar si un conductor circula sin cinturón o está utilizando el teléfono móvil en caso de vehículos de 4 ruedas, en el caso de las motos se aseguran de que se lleva la matricula a la vista sin ningún mecanismo de ocultación, etc…

Puntos débiles de los Pegasus a favor de los infractores y en contra de nuestra prueba:

No responde ante cambios bruscos de velocidad. Para lograr obtener la velocidad media de un vehículo, un radar Pegasus necesita efectuar tres medidas, proceso en el que tarda unos 3 segundos, si entre toma y toma, el vehículo cambia bruscamente de velocidad acelera o frena notablemente, el radar no es capaz de calcular su velocidad media.

No te denunciará si está a más de un kilómetro de tu vehículo. En caso de que, en el momento de detectar y grabar la infracción, el helicóptero esté situado más allá de un kilómetro del vehículo en línea recta y en distancia real, la DGT no tramitará ninguna denuncia emitida por Pegasus, hay que tener en cuenta que DGT trabaja en equipo con lo cual están en contacto en todo momento con los agentes en “tierra” los cuales pueden detectar las infracciones de tráfico con anterioridad gracias a la comunicación con los agentes de Pegasus.

No vigila tanto en zonas cercanas a los aeropuertos. Por el tráfico y la ubicación de los corredores aéreos que utilizan los aviones cuando despegan o se aproximan a los aeropuertos, los helicópteros Pegasus han de solicitar permisos especiales para sobrevolar las cercanías de estas instalaciones. Eso implica, por ejemplo, que debido a la ubicación del aeropuerto no puedan sobrevolar la zona. En las cercanías de la capital, y por otras cuestiones de navegación aérea, tampoco operan

Vigila especialmente en Operaciones de tráfico o eventos. Los helicópteros Pegasus vuelan sobre las carreteras más transitadas y en los horarios con mayor tráfico previsto durante las Operaciones especiales de Tráfico en vacaciones o puentes. Además, en caso de eventos concretos, varios helicópteros se coordinan para vigilar especialmente las rutas con mayor tráfico.

De hecho, como nuestra intención es poner a prueba la fiabilidad del HW vamos a hacer una ruta en varios puertos de montaña y vamos a jugar a favor de Pegasus obviando todos sus puntos débiles, por motivos de seguridad y privacidad para nuestros vehiculos no diremos nada de la zona de pruebas…

Desde la raspi sacamos dos leds, uno verde que nos indicara que la abeja se encuentra a más de 1km y uno rojo estamos en su área de acción, esquema de pruebas:

abejas dgt sh3llcon.org

No evitaremos que nos denuncien con esta clase de HW pero nos servirá para ponernos sobre aviso e indicarnos que debemos ir cortando gas, el led rojo nos indicara que estamos dentro del alcance de la abeja.

abejas dgt sh3llcon.org


Por otra parte, quitaremos las tapas laterales necesitamos fijar en HW dentro del carenado de nuestro vehículo para que evitar perdida de piezas o incuso que nos pueda provocar un accidente. También debemos ajustar el cable de antena RF hemos intentado colocarlo en de forma discreta, entre guardabarros trasero y el colín, pero demasiado a la vista para alguien que tenga conocimientos mínimos de RF, aquí os mostramos la antena que vamos a integrar:

Esta antena es colocada en la parte interna del carenado y entre las horquillas delanteras no nos ha dado problemas de recepción.

abejas dgt sh3llcon.org

Supongamos que… hay más de un montaje, supongamos que un moto club con todas sus motos, cuantas más motos con el dispositivo montado, más recepciones, mas alcance, supongamos que jugamos con un radio de 1km por vehículo por xxxxxx vehículos… (Pruebas realizadas satisfactoriamente en casi una docena de motos)

POC APROXIMACIÓN

Nota: NO usaremos el nombre de la «abeja» en el script porque en muchas ocasiones no lo emiten, usaremos su nombre de registro, ejemplo: EC-MHV, más adelante se muestran las abejas DGT a día de hoy

Vamos a trabajar con adsbexchange y su api O instalaremos tar1090:

abejas dgt sh3llcon.org

Instalación

sudo bash -c "$(wget -nv -O - https://raw.githubusercontent.com/wiedehopf/tar1090/master/install.sh)"

En este mismo repo tenéis un readme muy interesante, en este caso se modificó un poco el script inicial para poder ajustarlo a unos parámetros en concreto, por ejemplo eliminar la parte interface y que solo los leds nos adviertan de la distancia, pero eso ya va a gustos/necesidades de cada uno…

Os dejo un pequeño resumen de algunas cosas interesantes, repito esta todo en el repositorio de GitHub

Configuración (opcional):

Cambiar el intervalo en segundos y la cantidad de archivos de historial guardados:

sudo nano /etc/default/tar1090

Aplicar la configuración:

sudo systemctl restart tar1090

La duración del historial en segundos se puede calcular como intervalo de tiempo history_size.

Configuración de la interfaz web (opcional):

sudo nano /usr/local/share/tar1090/html/config.js.

Habilitar (/ deshabilitar) los enlaces FA en la interfaz web (previamente habilitado por defecto)

# ENABLE:
sudo sed -i -e ‘s?.*flightawareLinks.*?flightawareLinks = true;?’ /usr/local/share/tar1090/html/config.js
# ENABLE if the above doesn’t work (updated from previous version)
echo ‘flightawareLinks = true;’ | sudo tee -a /usr/local/share/tar1090/html/config.js
# DISABLE:
sudo sed -i -e ‘s?.*flightawareLinks.*?flightawareLinks = false;?’ /usr/local/share/tar1090/html/config.js

Receptor UAT que ejecuta dump978-fa y skyaware978:

# Change to yes to enable UAT/978 display in tar1090
ENABLE_978=no
# If running dump978-fa on another computer, modify the IP-address as appropriate.
URL_978=»http://127.0.0.1/skyaware978″

Configuración solo de UAT

echo /run/skyaware978 tar1090 | sudo tee /etc/default/tar1090_instances

Instalación / Actualización para trabajar con otra carpeta, por ejemplo / run / combine1090

wget -q -O /tmp/install.sh https://raw.githubusercontent.com/wiedehopf/tar1090/master/install.sh
sudo bash /tmp/install.sh /run/combine1090

Eliminar / Desinstalar

sudo bash -c «$(wget -q -O – https://raw.githubusercontent.com/wiedehopf/tar1090/master/uninstall.sh)»

Múltiples instancias

Primera línea, el directorio de origen donde se encuentra el avión.json. Segunda línea, el nombre donde desea acceder al sitio web correspondiente. ( http: // pi / tar1090 o http: // pi / combo o http: // pi / 978 en este ejemplo)

Si desea la instancia en http: // pi / , use webroot como nombre.

Archivo de ejemplo:

/run/dump1090-fa tar1090
/run/combine1090 combo
/run/skyaware978 978
/run/dump1090-fa webroot

Ejemplo los archivos de configuración serían:

/etc/default/tar1090
/etc/default/tar1090-combo
/etc/default/tar1090-978
/etc/default/tar1090-webroot

Las carpetas HTML serán:

/usr/local/share/tar1090/html
/usr/local/share/tar1090/html-combo
/usr/local/share/tar1090/html-978
/usr/local/share/tar1090/html-webroot

La carpeta de ejecución y el servicio systemd se llamarán tar1090-combo y tar1090-978 en este archivo de ejemplo. La instancia principal es la excepción a esa regla, que tiene el servicio systemd y el directorio de ejecución llamado solo tar1090.

Eliminar una instancia

Por ejemplo, eliminar la instancia combo y 978:

Primero eliminaremos la línea correspondiente /etc/default/tar1090_instances

Luego ejecutaremos el siguiente comando adaptado a su nombre de instancia, deberemos incluir el tar1090, que se agrega automáticamente para los nombres de servicio:

sudo bash /usr/local/share/tar1090/uninstall.sh tar1090-combo
sudo bash /usr/local/share/tar1090/uninstall.sh tar1090-978

Si la instancia se instaló con el método anterior sin el archivo tar1090_instances, deberemos probar sin el tar1090- antes del combo, de esta manera:

sudo bash /usr/local/share/tar1090/uninstall.sh combo
sudo bash /usr/local/share/tar1090/uninstall.sh 978

lighttpd

tar1090 ahora está disponible en: 8504 por defecto cuando se utiliza lighttpd. (puerto 8504)

Para mostrar tar1090 en /, agregaremos una instancia como se describió anteriormente que tenga el nombre webroot. Estará disponible en /

Una instancia separada con mayor retención de datos para el rango de calibración

sudo nano /etc/default/tar1090_instances

pondremos estas dos líneas si estamos usando readsb

/run/readsb tar1090
/run/readsb persist

pondremos estas dos líneas si estamos usando dump1090-fa

/run/dump1090-fa tar1090
/run/dump1090-fa persist

si luego ejecutamos el script de instalación tar1090, tendremos una instancia adicional para la que podemos configurar la retención del historial.

sudo bash -c «$(wget -q -O – https://raw.githubusercontent.com/wiedehopf/tar1090/master/install.sh)»
sudo nano /etc/default/tar1090-persist

cambiaremos a estos valores durante 24 horas de historia:

# Interval at which the track history is saved
INTERVAL=14
# How many points in time are stored in the track history
HISTORY_SIZE=6000
sudo systemctl restart tar1090-persist

y la instancia persistente comenzará a guardar más datos. Luego podemos visitar en /persistlugar de /tar1090, habilitar la persistencia (P) y volver a cargar con F5 para ver el historial completo de 24 horas. Presionaremos T para mostrar todos los rastros, también podemos deshabilitar la posición de la aeronave en el menú de la capa del mapa.

Para agregar el esquema de rango a la instancia persistente después de haber utilizado el método descrito anteriormente, copiaremos sobre el json:

sudo cp /usr/local/share/tar1090/html/upintheair.json /usr/local/share/tar1090/html-persist

0800-DESTRUIR-TARJETA SD

Debemos usar la rama dev del repositorio readsb. ( https://github.com/wiedehopf/adsb-wiki/wiki/Building-readsb-from-source#wiedehopfs-dev-branch )

Las siguientes opciones deben agregarse, por ejemplo, a las opciones del decodificador en /etc/default/readsb

–write-json-globe-index –write-globe-history /var/globe_history –heatmap 30

/ var / globe_history debe ser un directorio escribible por el usuario readsb. sudo mkdir /var/globe_history y sudo chown readsb /var/globe_history

También necesitaremos apuntar tar1090 a / run / readsb en caso de que estemos usando otro dump1090 / readsb. Consultaremos la sección «readme» de instancias múltiples.

Si no queremos que readsb lea datos del SDR, también deberemos cambiar la línea de opciones del receptor a algo como esto:

RECEIVER_OPTIONS=»–net-only –net-connector 192.168.2.7,30005,beast_in»

Como comentaba anteriormente esta todo en el repo y debemos adaptarlo a nuestras necesidades, se comentan algunos comandos como curiosidad.

Bien pues vamos a ver con quien jugamos ahora:

“Abejas” confirmadas por zonas de cobertura

abejas dgt sh3llcon.org

Ejemplos de capturas flightradar24 con los que se han podido confirmar las zonas según número de registro de la abeja:

A10: EC-LBD MADRID

abejas dgt sh3llcon.org
abejas dgt sh3llcon.org

A11: EC-LDF MADRID

abejas dgt sh3llcon.org
abejas dgt sh3llcon.org
abejas dgt sh3llcon.org

A32: EC-LGD VALENCIA

abejas dgt sh3llcon.org
abejas dgt sh3llcon.org
abejas dgt sh3llcon.org

A33: EC-MDO VALENCIA

abejas dgt sh3llcon.org
abejas dgt sh3llcon.org
abejas dgt sh3llcon.org

A34: EC-MHU ZARAGOZA

abejas dgt sh3llcon.org
abejas dgt sh3llcon.org
abejas dgt sh3llcon.org

A35: EC-MHV MADRID

abejas dgt sh3llcon.org
abejas dgt sh3llcon.org
abejas dgt sh3llcon.org

A36: EC-MMF MADRID

abejas dgt sh3llcon.org
abejas dgt sh3llcon.org
abejas dgt sh3llcon.org

Como curiosidad toda esta información en algunos casos ha sido la propia web de la DGT quien a mostrado el numero de registro de la aeronave.

En la edición de Sh3llCON 2022 en uno de los ya conocidos talleres clandestinos se mostrará la demo y videos en vivo de cómo en una ruta entre puertos de montaña las abejas juegan a polinizar nuestros vehiculos en el asfalto

Fdo: Ass Nimo

La imagen de cabecera se ha compuesto con una foto cortesía de Pixabay