Cámara trasera inteligente con Raspberry Pi. Parte 1


El término «Coche inteligente» puede tener miles de significados diferentes dependiendo a quién le preguntemos., así que empecemos con una definición   modesta  de algunos componentes que podemos añadir :

  • Información básica sobre el coche, como la marcha engranada, eficiencia de combustible, horas de conducción ,etc.
  • Ayudas a la conducción de tipo ADAS , siendo   los mas comunes la puesta en marcha del  coche delantero, acceso involuntario a línea de separación de carril o aviso de colisión por vehículo delantero que circula  muy próximo
  • Cámara trasera inteligente que avise si un objeto está demasiado cercano
  • etc

Del primer punto lo hemos comentado en diferentes post , explicando que para automóviles de unos 10 años, es decir que cuentan con interfaz ODB2,  es relativamente simple añadir un HUD con toda esta información  con  un HUD conectado por ODB2

Resumidamente los sistemas ADAS  de ayuda  a  la conducción  mas usuales son las siguientes:

  • FCWS   del ingles  Forward Colission Warning Sytem (advertencia de colisión delantera) ayuda al conductor a mantenerse a una distancia segura del vehículo delantero y alerta a los conductores de una colisión inminente con advertencias visuales y audibles.Este sistema permite al dispositivo detectar cuando no se mantiene una distancia segura entre su vehículo y el vehículo delante de usted. El dispositivo determinará la velocidad de su vehículo calculando una distancia estimada de siguiente segura basada en su velocidad.Normalmente para que esta  función pueda estar habilitada se  debe estar  viajando a más de 48KM/H ( a una velocidad de menos de 32 KM/H, se suele  desactivar la función). Precisamente por esta limitacion el FCWS no puede detectar los vehículos que están  alejados más de 40m  o más cerca de 5m.

fcw.png

  • LDWS  del inglés Lane Departure Warning  System  ( SISTEMA DE  ADVERTENCIA DE SALIDA DE CARRIL) monitorea las marcas del carril y avisa al conductor con advertencias visuales y audibles cuando ocurre una salida involuntaria del carril sin la notificación de la señal de giro.Es un mecanismo diseñado para advertir al conductor cuando el vehículo empieza a moverse fuera de su carril (salvo que una señal de la vuelta en esa dirección) en las autopistas y carreteras de la zona. Este sistema está diseñado para minimizar los accidentes por abordar las principales causas de colisiones: error del conductor , distracción y somnolencia.

ldw

  • HMW( VIGILANCIA Y ADVERTENCIA DEL AVANCE DE PISTA)- Mide la distancia al vehículo que está por delante (“headway”) en segundos. Ayuda al conductor a mantener una distancia segura de conducción. Alerta al conductor al entrar en una zona predefinida de “avance peligroso”

.hmw.png

  • FVSA (ALARMA DE INICIO DEL VEHÍCULO DELANTERO ) Notifica al conductor si el vehículo delantero comienza a avanzar en el estado parado completo y el coche del conductor no se mueve en 2 segundos.

fvsa

Casi todas estas ayudas ADAS  están implementadas  en  numerosas cámaras  disponibles en el mercado como vismo en este post destacando por voz propia  el modelo Dash de Garmin

Respecto al ultimo punto de cámaras traseras  , hay muchos kits para  añadir una cámara  trasera a  nuestro vehículos usando una conexión analógica de video compuesto , lo cual se traduce en  que la mayoría de ellas requieren hacer modificaciones al coche  ,por  ejemplo para ubicar la cámara en el porta-matriculas  , o fijar la pantalla especifica   de modo que no siempre en sencilla su instalación .Además las cámaras traseras comentadas requieren una  fuente de alimentación externa alimentándose con los  cables de las luces de atrás de su coche para que automáticamente se enciendan cuando el coche está en marcha lo cual tampoco le  gusta a muchas personas .

Dado que el mercado no ofrece por  el momento soluciones mas avanzadas una idea es usar la Raspberry Pi pues es la plataforma perfecta  porque básicamente es un mini ordenador con un montón de entradas y salidas.

Al conectar una cámara a la Pi, se puede utilizar prácticamente cualquier webcam USB genérica, o  por supuesto  mejor puede usar una  Cámara Pi conectada al conector DSI pues estas ofrecen una mayor calidad , versatilidad y  no  requiere una fuente de alimentación separada (pero asegúrese de tener un montón de cable para ir a la parte posterior del coche)

Solución con Raspberry Pi

Gracias a una Raspberry Pi  por medio del procesamiento de imágenes en efecto  podemos  hacer más inteligente nuestro vehículo y añadir  nuevas funcionalidades

Para esta idea  podemos  usar  los siguientes componentes:

    • Raspberry Pi 3 Model B(unos 38€ en Amazon)   o  también Raspberry Pi Zero  que cuesta algo mas barata(unos 25€ con caja en Amazon)

 

  • Raspberry Pi Touch Display(opcionalmente)
  • Raspberry Pi Camera Module (se puede compar por unos 15€ en Amazon) 
  •  Flex Cable for Raspberry Pi Camera or Display – 2 meters  (puede comprrlo   aqui en Amazon por unos 7,29€ )
  • Adafruit CSI or DSI Cable Extender Thingy for Raspberry Pi (opcionalmente)

Conexión del módulo de cámara

El modulo de cámara de Pi  tiene un mayor rendimiento que una cámara USB  por lo que lo ideal es usar una cámara del tipo compatibles con Raspberry Pi  (se puede comprar por unos 15€ en Amazon) 

No es  problema  la distancia pues con un cable plano  de 200 cm suele ser suficiente para llevar la cámara  hasta la  posición de conducción (puede comprarlo   aqui en Amazon por unos 7,29€ )

Se puede pues llevar el cable plano al l frente del coche y luego conectado a una pantalla de táctil de 7″ de modo que  la Pi y la pantalla táctil pueden ser alimentados por el adaptador USB en el coche.

Estos  son los pasos para instalar la cámara especifica para su uso , con la Raspberry Pi 

    • Localice el puerto de la cámara y conecte la cámara:Connect the camera
    • Poner en marcha la Raspberry Pi 
    • Abra la Herramienta de configuración de frambuesa Pi desde el menú principal:Raspberry Pi Configuration Tool
    • Asegúrese de que está activado el software de la cámara:Camera software enabled
    • Si no está activado, habilítelo y reinicie su Pi para comenzar. Asimismo si va utilizar una pantalla táctil también necesitara activar I2C  y SPI

Es decir resumidamente;  con la Raspberry Pi apagada, debe conectar el módulo de la cámara al puerto de la cámara de la Raspberry Pi,ahora encienda el Pi  y asegúrese de que se activa el software.

Conexión de un pantalla táctil(opcional)

Existen pantallas TFT para Raspberry Pi con  resolución de 320×240 (16-bits) que además son táctiles con una pantalla resistiva. Se entregan montadas y suelen ser  compatible con los modelos Raspberry Pi Model A+, B+ y Pi 2  disponiendo  además de de un conector de 40 pines para los GPIO.

La pantalla y el digitalizador   utilizan los pines I2C (SDA y SCL), SPI (SCK, MOSI, MISO, CE0) y los pines GPIO #24 y #25. Todos los demás pines GPIO no se utilizan así que podrá conectar más cosas como sensores, LEDs etc. Algunos modelos disponen deposiciones para pulsadores miniatura (no incluidos) por si quiere hacer algún otro tipo de interfaz de usuario.

Puede utilizarla utilizar la librería PyGame u otra librería SDL para dibujar directamente en el frame buffer y hacer interfaces propios.

Tenga en cuenta que para que funcione debe tener activado el I2C en tu Pi o se quedará en blanco. Si utiliza la imagen de Adafruit funcionará sin problema, sino puedes ver su tutorial para ver cómo hacerla funcionar.

La conexión de este tipo de pantallas suele ser por el  propio conector de 25 pines  y por hdmi con un adaptador

Respecto al sw, estos son los pasos  que puede  seguir;

!Ojo el conector plano de la pantalla pues es MUY frágil y debe manejarse con cuidado.!

Montaje final

Una vez montada  la pantalla y la cámara , encender el coche, la Pi y la pantalla . Para ver la camara   de la Pi, abra el terminal y ejecute simplemente  el  siguiente  script:

raspivid -t 0

o

raspivid -t 0 --mode 7

Después de entrar esto ,   la imagen captada por la cámara debería aparecer  en pantalla  completa , pero  !ojo !  no lo veremos  si estamos conectado via VNC!, es decir ,solo si estamos conectados a la propia  Raspberry Pi .

Lo bueno de a Raspberry Pi  es que se puede mejorar  esta forma básica , y tal vez incluso establecer un sistema de alerta si un objeto esta   demasiado cerca , así que, ! vamos a trabajar en ese lado!

 

DETECCIÓN DE OBJETOS

Cuando se trata de aplicaciones de  cámaras de seguridad comerciales, generalmente hay al menos dos versiones  .La primera utiliza una superposición de una imagen estática con gamas de color para que visualmente puede determinarse cuánto de  cerca está un objeto. El segundo método utilizara una cámara junto con sw  que puede detectar un objeto qué tan cerca esta al coche y luego avisa cuando algo está demasiado cerca
Veamos en este post en primer lugar le método de overlay, el cual por cierto es el mas usado en los implementaciones de cámaras traseras de coches actuales.

 

 

Como conectar una memoria USB al Amazon Fire Stick


Amazon Fire TV es uno de los dispositivos más originales de Amazon  pues por un precio razonable ( dado que esta sufragado  en parte por Amazon  para  que consumos contenidos  suyos,) , este gadget   nos permite  llevar todo el material multimedia a un mismo punto  y ademas gobernándolo con un sencillo mando

Algunas de las plataformas accesibles desde este dispositivo son:

  • Con la suscripción a Amazon Prime, se tiene acceso a Prime Video, que ofrece miles de películas y episodios de series sin ningún cargo adicional.
  • Se puede acceder a fotos en Prime Photos sin ningún coste adicional y verlas en su televisor HD con el Fire TV Stick Basic Edition.
  • Permite usarlo como plataforma de juegos causal gracias a apps disponibles en  el portal de Amazon  como  Stranger Things: The Game, Galaxy Zero, Asphalt 8 o incluso algún Final Fantasy como el III, V o VI , estas ultimas de pago ( lo ideal  usar un mando bluetooth),
  • Se pueden instalar  miles  de aplicaciones  directamente desde el propio dispositivo  gracias  a la vinculación del Fire TV Stick , con su cuenta de Amazon
  • Se puede acceder a redes sociales como Facebook, Reddit ,eyc asi como a  millones de otros sitios web usando navegadores web como Silk o Firefox ya preinstalados en el propio stick .
  • Se puede disfrutar  de otros servicios ajenos a Amazon  tan populares como Netflix, Youtube, Spotify  etc
  • Se  puede disfrutar de  Movistar + sin descodificador  como vimos en este blog

 

 

La versión vendida en muchos paises fuera del ámbito anglosajón como por ejemplo en  España,es la denominada Basic Edition, la cual en realidad es la segunda generación del producto  contando  con un  Mediatek 8127D (cuatro núcleos Cortex-A7 a 1,3 Ghz) y gráfica ARM Mali-450 MP4   o capaz de decodificar contenido en H.265 por hardware, si bien la resolución en esta version es Full-HD (1920×1080). Asimismo cuenta con unas muy buenas capacidades de conectividad  siendo compatible con Wifi-AC (Dual Band) y Bluetooth en su versión 4.1.

Respecto a la interfaz  interfaz de Fire OS 5 es cómoda y fluida,cuenta a con un buen número de funciones preinstaladas que pueden ser extendidas mediante la descarga de aplicaciones adicionales a través de Amazon Appstore como cometabamos al principio de este post.

Al estar basado en la versión 5 de Android (Lollipop), es posible también instalar manualmente aplicaciones Android (mediante archivos APK), aunque su funcionalidad dependerá de como de bien se adapten al control desde el mando a distancia.
Dispone además de 1 Gb. de memoria RAM y 8 Gb. de almacenamiento eMMC no ampliables lo cual pude ser un problema  sino fuera por un truco que  vamos a  ver a continuación basados en la extensión de OTG que es soportada por este .

 

 

 Instalación de un  cable OTG

Los  componentes  que  se  incluyen con  el  Fire TV Stick    aparte del dongle   y el mando son las dos pilas para el mando  y dos cables:uno  para  alimentarlo a 5v desde un usb ( ojo si  la tv no tiene usb  habrá que conectarle  un adaptador usb)    y  un extensor de hdmi para el caso de  que no entre el conector directamente en el conector del tv)

componentes

La instalación  como vemos es minimalista  ,pues en el caso ideal el dongle se conecta directamente a un conector hdmi del tv    y solo requiere la alimentación que se hace  por medio de cualquier conector usb que tenga el TV ( aprovechando los 5v DC de la conexión usb) o bien desde un alimentador externo USB  , en caso sobre todo si pretende conectar un disco duro externo al Fire TV

instalacion.PNG

Aunque sus dimensiones son reducidas  , para evitar  problemas a la hora de conectar el conector de video   Amazon entrega  un extensor HDMI permitiendo así  que el dongle pueda ir  en otra posición .

Con todo listo y conectado , una vez encendida la TV y haya cargado el sistema operativo ,en primer lugar  tendremos que ir a la configuración de red  para conectarnos a nuestra red wifi ( el Fire TV Stick   cuenta  Wifi de doble banda y doble antena, compatible con 2×2 MIMO 802.11a/b/g/n/ac )   de modo que  una vez le hayamos configurado la red  y la contraseña ya  todo  ya estará listo.Respecto a las credenciales de Amazon nos las   podemos ahorrar el introducir nuestros datos de Amazon  ya  que al adquirirlo  incluye nuestra cuenta de Amazon ya configurada como ocurre con los Kindle .Como valor añadido  gracias a la conectividad integrada  nos ofrece la posibilidad de conectar dispositivos bluetooth como auriculares, altavoces o mandos de juegos,

Una vez comprobado su funcionamiento del stick  ,  es hora de conectar un cable OTG ( USB  micro USB) que incluya alimentación mediante micro-usb hembra pues de otro modo no podríamos alimentar al el Fire TV Stick

Este tipo de cables OTG  con alimentación suelen ser algo mas caros que los cables OTG’s normales,   pero dado la configuración del dispositivo , al no incluir batería interna comO ocurre en lo smartphone  y tabletas  , este debe  alimentarse exclusivamente por el conector micro-usb , por lo  que es fundamental poder proporcionar los 5v DC por este medio también , así que debemos adquirir este cable también( menos de 8€ en Amazon Premium)

Respecto  al conexionado de este adaptador no puede ser mas sencillo pues lo interconectaremos entre el cable de alimentacion al que  conectaremos la hembra usb del cable   y el otro extremo conectaremos al Fire TV Stick

IMG_20181007_223639[1]

 

Como se puede en la imagen, uno de los  dispositivo ideales para usar con el Fire y el adaptado, son las memorias externas USB , por ejemplo para poder visualizar nuestras fotos o vídeos  favoritas directamente en nuestra TV  desde el Fire TV usando el mando  incluido

Por cierto para visualizar las fotos y  vídeos,   o inspeccionar archivos incluidos en la memoria externa USB que conectemos al Fire via OTG , existe  una aplicación gratuita muy útil  instalable desde la propia interfaz del Fire Stick  en Utilidades  llamadas  File Explorer disponible gratuitamente y  que permite no solo ver el contenido del medio sino también visualizar  por ejemplo las fotos en pantalla completa  y avanzar con el propio mando.

 

IMG_20181007_223530[1]

Aunque conectar memorias externas o discos externos  al el Fire TV Stick es una de las utilidades mas notables  del adaptador OTG , podemos conectar otros dispositivos muy diferentes compatibles con Android 5.0  como pueden ser:

  • Gamepad  usb
  • Tarjetas de red usb
  • lectores de microsd
  • Capturadoras de video ,
  • etc