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:

 

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.

 

 

Anuncio publicitario

Reloj gigante casero


En efecto hemos visto soluciones muy ingeniosas usando  tal vez medios humildes como por ejemplo cartón y leds para construir un reloj digital «gigante», pero la idea de Leon van den Beukel ha sido  llegar aun mas lejos  pues   sustituye todos  los leds  convencionales  usados en proyectos convencionales por tiras de leds  RGB direccionables  del tipo  WS2812B .

Ademas por si fuese poso también  ha creado una  versión impresa en 3D para albergar  todo   usando como placa de control   una placa   Arduino  nano   al que se ha conectado un modulo bluetooth para sincronizarlo con un smartphone gracias a una aplicación personalizada que se conecta de forma inalámbrica al reloj a través de dicho  modulo  Bluetooth y de este modo puedo personalizar el reloj.

Para cortar algunas  piezas, el autor también   ha usado una máquina CNC casera.

Los componentes  usados en este diseño  son:

Esta es el esquema del reloj digital casero propuesto  donde ya se  aprecian la conexiones:

  • Del sensor de temperatura DHT11,  el cual se ha  conectado al pin D2  junto la típica resistencia de 10k entre la salida de datos  y  VCC
  • El modulo de bluetooh  conectado a los pines D5(tx) y D6(rx) sin omitir la alimentación  de vcc y gnd. El pin de RV también lleva una resistencia de 1k en serie  y otra de 2.2k entre este y masa para atenuar la  señal del modulo
  • La tira de leds conectado a D8 por medio de una resistencia en serie de 330 ohmios sin omitir la alimentación  de vcc y gnd
  • El modulo de tiempo real conectado a los pines analógicos A4 y A2 sin omitir la alimentación  de vcc y gnd
  • La  alimentación  de todo el conjunto de 5v DC

 

 

Schema.png

 

Por cierto si se esta preguntando por el orden de colocación de los leds , tenga en cuenta que ha usado 29 leds RGB  para los 4 dígitos y los dos puntos,  colocándoles de modo que compongan 4 cifras en código de 7 segmentos   conectando cada led  entre si  respetando la alimentación   y encadenando el pin de datos  pore medio de sus pines de entrada y salida

Esta es la configuración del orden de los  leds RGB empleada por el autor:

Respecto al  código fuente de Arduino nano  esta disponible  en https://github.com/leonvandenbeukel/3D-7-Segment-Digital-Clock/blob/master/3D-7-Segment-Digital-Clock.ino

Para el control del reloj  puede descargar la aplicación  Bluetooth Digital Clock App  para Android desde Play Story aquí: hhttps://play.google.com/store/apps/details?id=nl.leonvandenbeukel.BTDigitalClockApp

 

Por ultimo también en github   el autor ha dejado los ficheros stl para imprimir  el receptáculo  del reloj con una impresora 3d. La ruta de estos 11 piezas  para imprimir por separado  esta en https://github.com/leonvandenbeukel/3D-7-Segment-Digital-Clock/tree/master/STL

Para un mejor contraste, nos sugieren mejor imprimir las siguientes partes en negro:

  • BewteenSegments
  • DotRing
  • Dotbottom
  • Medio
  • OuterRingSegments

El resto de piezas se puede imprimir en blanco.

En el siguiente vídeo podemos ver este fantástico reloj en funcionamiento

 

 

 

Instalación sencilla de un display avanzado en un coche


Los HUD (Head-Up Display) básicamente son  displays orientados a la seguridad,  pues la idea fundamental de este tipo de dispositivos es que el conductor mantenga su mirada en dirección al frente  sin perder de vista la carretera mostrando a  la vez superpuesta esta información relevante  por tanto sin obligar al conductor a girar la cabeza cada vez que quiera comprobar algo. Actualmente  gracias a la fusión de estos displays  HUD  de nueva tecnología  con  la información proporcionada por el puerto de diagnóstico o OBDII de su vehículo , podemos proyectar la información útil de conducción  en su parabrisas  de modo que  no tenga que apartar la vista de la carretera para dirigirla  al cuadro de instrumentos por ejemplo  para saber a la velocidad  a la que se circula  o  las revoluciones del motor .

Una novedad ademas de los nuevos HUDs es que gracias a la evolución de la información  del OBDII   se  puede suministrar incluso mas información que el propio vehículo podía ofrecer por defecto  como por ejemplo  temperatura del agua ,varias  alarmas (voltaje,posición de la válvula de mariposa, ángulo de avance de encendido, tiempo de 100 km aceleración), consumo de combustible, kilometraje, aviso de   poco combustible, detalle de fallo del motor, indicación de marcha incorrecta, optimización de consumo, recordatorio de parada para el conductor, etc.

En esta ocasión vamos  a ver el modelo VGEBY Universal HUD  que  cuenta con una pantalla gigante de 5,5″  y se conecta al ODB 2  mediante  un cable especial que en un extremo cuenta con mini-usb ( para conectar al HUD)  y por otro un conector ODBII  para conectar al vehículo

Por cierto ,este cable suele ser muy fino para que pase desapercibido,por lo que  debe tenerse cuidado con el,  pues puede partirse fácilmente si hacemos mucha presión sobre el para disimularlo.Si llegase a romper el cable, no se alarme pues el cable es standard para este tipo de diplay: es decir conexión micro-usb por un lado y un conector ODB2 por el otro.

 

Aunque  podamos ver este  HUD    bajo diferentes marcas   y acabados , en realidad casi todos  se basan en el mismo modelo , con ligeras variaciones lo cual se traduce en diferentes calidades  o precios, pero todos pueden adaptarse automáticamente al tipo de vehículo que está en línea con OBDII o EUOBD (Sistema de diagnóstico a bordo).

La información ofrecida por  el   modelo VGEBY Universal HUD    es mucho mas rica que la mostrada por otros modelos anteriores  pues es concreto es la siguiente:

  • Velocidad en km/h
  • Revoluciones por minuto del motor
  • Consumo de combustible
  • Tiempo en marcha
  • Temperatura del radiador
  • Indicador del numero de  marcha engranada
  • Avisos de fallos del motor
  • Tensión de la batería
  • Presiones del sistema de admisión
  • Recordatorio de descanso
  • Tiempo de aceleración en 100 km
  • Alarmas , etc

El modo  de visualización puede ser seleccionado  por el propio conductor  , el cual puede elegir el modo de visualización normal, alta velocidad modo de visualización y modo de visualización automática.

Mediante la función de visualización se pueden mostrar : Velocidad de conducción, velocidad del motor(RPM)  , temperatura del agua, voltaje de la batería, consumo de combustible, conmutación libre entre kilómetro y milla, conmutación libre entre C y F.

En cuanto las alarmas  cuenta con las siguientes:  Alarma de sobre velocidad, alarma de alta temperatura, alarma de baja tensión, alarma de falla del motor y posibilidad de  eliminación del código de fallo, etc

Una peculiaridad  necesaria   es tenerlo configurado por defecto en   Km y no en  millas, función que viene configurada  normalmente en Europa (como otros parámetros)

Es interesante destacar que estos modelos incluyen un  sistema para  apagarse automáticamente   y por supuesto  para iniciarse   cuando el vehículo se ha arrancado (es  decir implementa la función  de   AUTO ENCENDIDO / APAGADO) , apagándose pues  cuando  el vehículo se  haya detenido  para proteger la batería del vehículo.

Por otra parte, aunque debería manipularse  lo mínimo posible , se pueden cambiar  las funciones  con una sola  mano para controlar el HUD, aunque no hace falta decir que debería hacerse con el vehículo parado.

Asimismo,  buscando la máxima comodidad  es muy útil el  modo de ajuste automático  del brillo de la pantalla  , aunque también en casi  todos los HUID  , este ajuste  se puede realizar  manualmente.

En cuanto   a la información que puede proporcionar  modelo VGEBY Universal HUD  es la siguiente:

 

Es muy importe destacar  que este tipo de dispositivos están  disponibles para coches con una interfaz OBD2 / EUOBD que en la mayoría de vehículos  de 8 a 10 años esta presente aunque no son compatible con Blade Electric Vehicle pero si en muchos modelos hibridos  ,y como vamos a  ver ,  son  muy fáciles de instalar , tanto es así  que podríamos decir que es “plug and play”.

Veamos en este breve video el  modelo VGEBY Universal HUD   en funcionamiento;

ATENCION:  Por favor, revise las reglas y regulaciones locales para el uso de este  tipo de dispositivos en  carretera   verificando que las regulaciones locales  autorizan  este tipo de instalaciones y es conforme  que  la posición del indicador esté dentro de distancias fijas del tablero para algunas ubicaciones.

Instalación del HUD

  • Antes de nada casi todos los vehículos modernos cuentan  con una interfaz OBD2 / EUOBD.  Para conocer si su  vehículo  lo es  puede abrir el capó del motor y debería encontrar una pegatina, si la etiqueta tiene la letra “OBDII CERTIFIED”, significa que puede instalar el HUD.   No obstante , aunque el vehículo no cuente con esta pegatina, lo normal es que si es un vehículo del 2010  en adelante , esta característica la soporte. 
ond2.PNG
  • Deberíamos ahora  comprobar  que disponemos del cable usb-odb2, el display  , el adhesivo para fijarlo  y la lamina translucida( en caso de que vayamos a ponerla)

  • Para verificar el conector de diagnóstico del vehículo debajo del volante, puede encontrar la  toma de 16 pins del vehículo.
figura2 IMG_20180120_162125[1].jpg
Una vez localizado  conecte el extremo del cable  suministrado en el conector del vehículos
IMG_20180120_162216[1].jpg
  • Haga pasar el cable por el borde de la puerta
IMG_20180120_162249[1].jpg
  • Ahora bordee  el parabrisas  con  el cable hasta llegar a su la posición  donde coloque  el  aparato
IMG_20180120_162352[1].jpg
  • Ahora ya conducido el cable  debe poner el circular antideslizante en posición plana delante sobre el  HUD  .Puede ajustar  ángulo del  HUD de modo qeu la imagen  reflejada en el parabrisas este  nivelada.
IMG_20180120_163331[1].jpg
  •  Pegar OPCIONALMENTE  la película reflectante sobre el parabrisas pues realmente eliminara el doble reflejo del display , aunque personalmente prefiero no pegar nada en el parabrisas pues de este modo no obstaculiza en absoluto la visión a través de este . Si se decide pegarlo , algunos consejos para pegar la película antirreflectante:
    • Puede rociar uniformemente agua sobre el parabrisas.
    • Rasgue la capa protectora de la película y rocíe un poco de agua para ambos lados, luego pégalo en el lugar que quiera.
    • Nivelar el agua debajo de la película con un objeto liso hasta que no haya agua y burbuja dentro.
    • Cuando el agua se evapore, puede limpiar el agua y el polvo alrededor del película.
  •  Para probar el dispositivo , debe encender el host de HUD y debería ver el voltaje de la batería del vehículo, y luego entrará  en el estado de investigación de
    la versión del ordenador de a bordo del vehículo reconociendo este con un pitido indicando con esto de que esta listo. 
  • Después de estos simples pasos podemos decir que HUD está instalado exitosamente.   

 

Ajustes   

Este display tiene una rueda en unlateral qeu cuenta con tres posiciones: izquierda , derecha y central

Una vez encendido puedem pulsar el botón  de control a  la izquierdo  para alternar la visualización de : 

  • reloj,
  • temperatura del agua,
  • presión de admisión
  • RPM del motor
  • angulo de aceleración
  • tiempo de acelaracion  para 100sg

Una pulsación, por cierto larga de 5 segundos, hacia el lado derecho conmuta entre sonidos activos  o no del HUD

Una vez encendido ,también puede pulsar el botón  de control a  la derecha  para alternar la visualización de : 

  • consumo de combustible
  • posición del throttle

Si pulsa el botón central  con una pulsación corta entra en el menú de configuración de un menú de 0 a 23 opciones  que vamos a  ver  a continuación (  una pulsación corta incrementa el menú)

Estas son las diferentes opciones del menú con sus valores por defecto , su función y el rango de valores posibles::

 

 

 

IMPORTANTE ; Observe especialmente   el menú nº 23 (Factory Reset)   , pues si se ajusta a la izquierda al valor 1, y luego con una pulsación larga  en el botón central por 5 segundos para salvar y salir  , llevara al modelo VGEBY Universal HUD a la  configuración de fábrica.

 

Borrar   Códigos de fallo

Es sin duda   una gran  utilidad  del modelo VGEBY Universal HUD  muy interesante y que incluso , si es  fortuita , nos puede ahorrar bastante  dinero en desplazamiento   y  taller   que sin duda amortizaran  la compara de este dispositivo .

El modo de borrar los codigos de  error de la centralita  de  nuestro vehículo es muy sencillo en este modelo VGEBY Universal HUD :cuando tenemos conectado el display al coche por el ODB2 , no arrancar al motor   pasando a ON , y esperar que se vaya a OFF el display . Ahora entonces  pulse el botón derecho  por 5 segundos  : el HUD   producirá un sonido   y finalmente el HUD borrara el código de error

 

 

Por cierto , si le interesa el HUD descrito  en este post  (modelo VGEBY Universal HUD)  , puede comprarlo en Amazon por unos 42€  en este enlace

Cómo instalar una app Android en Amazon Fire


De la famosa tableta de Amazon , es decir la  Tablet Amazon Fire se han vendido ( y se siguen vendiendo  ) de forma extraordinaria una cantidad ingente de unidades por todoel mundo  desde que fueran lanzadas , hace un par de  años,  sin duda  debido a su gran relación calidad/precio pues  no olvidemos que por  menos de 70€  podemos tenerla en casa con 8GB (o con 16GB por unos 10€ adicionales)

Esta  tableta con pantalla IPS de 7 pulgadas con mayor contraste y textos más definidos, un procesador Quad-Core de 1,3 GHz y hasta 8 horas de batería, ofrece un gran rendimiento para la reproducción de todo tipo de contenido multimedia  ,obviamente orientado a consumir  desde la nube de Amazon ,  pero desde luego , por al precio en el que están, la Fire 7 es casi imposible no adquirir una para toda la familia.

Uno de los pequeños hándicaps de estas tabletas, es que aun teniendo una versión fork de Android,  no podemos acceder a la Google Play Store, ya que viene con  la propia tienda de  aplicaciones de Amazon (Amazon Play Store ) donde  desgraciadamente no están disponibles todas las aplicaciones que si están en Google Play. 

Amazon Play  no está nada mal, pero insistimos ,  le faltan muchas aplicaciones  y todo ese gran contenido que ofrece la dedicada a Android por parte de Google : Google Play Store,  aunque no todo está perdido, ya que, si tiene una tablet Fire bien  , puede instalar Google Play Store o bien mucho mejor instalar manualmente la app que necesite  sin necesidad de instalar Google Play  y por cierto, no necesitará ni ser ROOT ni usar comandos ADB.

 

 

Los tablets Fire de Amazon están concebidos para resistir el uso diario. De acuerdo con los tests de caída, el Fire 7 es más resistente que el último iPad y soporta el doble de impactos que el iPad mini 4 (y cuesta mucho menos).

El Fire incluye una cámara trasera de 2 MP que permite hacer fotos de alta resolución y vídeos HD de 720p y con una cámara frontal VGA suficiente  para realizar videollamadas con Skype a familia y amigos.

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

El sistema operativo del Fire es Android, aunque bloqueado por Amazon de modo que aunque no cuenta con Google Play, si  cuenta con  la Appstore de Amazon, que es prácticamente igual, aunque con diferencias en cuanto a su contenido. No obstante, se puede descargar cualquier aplicación por la APK, directamente desde el navegador de la tablet, o bien transfiriéndola desde un pc, el móvil, etc , tal y como vamos  a ver a continuación .

 

 

Instalación APKDownloader

Gracias a la plataforma android  nuestros dispositivos tienen características de inteligencia adicional que es ofrecida gracias  a las millones de aplicaciones disponibles desde Internet ,y eso  a esta alturas todos los usuarios de Android lo sabemos  ( o lo deberíamos sospechar)  siendo  lo mas  rápido  y seguro optar por descargar estas desde el sitio oficial:  Google Play Store , sobre todo en los tiempos actuales donde cada día surgen nuevas apps con objetivos  poco éticos enmascaradas en inocentes funcionalidades (como por ejemplo una inocente app linterna).

Como hemos hablado,  el sistema operativo del Fire es básicamente Android, aunque customizado  por Amazon de modo que han bloqueado  Google Play sustituyendo  este  por  la Appstore de Amazon, que es prácticamente igual, aunque con diferencias en cuanto a su contenido. No obstante, como vamos   ver ,se puede descargar cualquier aplicación por la APK, directamente desde el navegador de la tablet, o bien transfiriéndola desde un pc, el móvil, etc

¿Por qué no podemos descargar apk de Google Play sSore?

Google tiene algunas políticas estrictas que impiden a los usuarios de android que descarguen los  archivos de apk directamente a sus dispositivos para impedir la piratería. Ademas , hay otros asuntos relacionadas como por ejemplo si una aplicación específica que usted quiere deba estar disponible en su país o si  oficialmente es soportada  por  un  cierto dispositivo o no , o a partir de una determinada version .

Ante esta  problemática , existen muchas alternativas de Tiendas de aplicaciones en Internet que  almacenan y  permiten descargar apk directamente , pero insistimos el riesgo puede ser alto , así que lo ideal seria bajar el fichero apk desde Google play store directamente , ( en este caso para luego instalarlo en la Fire)

Afortunadamente  se  pueden saltar restricciones de necesitar la app de Google Play para instalar cualquier app de Google Play en la Fire con la aplicación llamada “Apk Downloader extensión” que permite   gracias a una extensión de Chrome descargar el APK directamente desde Google Play Store .

Esta aplicación, como se puede intuir, realmente hace maravillas pues de alguna manera se las arregla para capturar las apk  desde lo propios servidores de la tienda oficial, lo cual nos da bastante seguridad.

Esta opción  ofrece muchas ventajas pues :

  • Le da libertad para descargar aplicaciones que no están disponibles en su país.
  • Soporta todos los dispositivos.
  • Puede instalar  Apk  bajados directamente desde Google Play Store, sin tener instalado Google Play  en su Fire , donde or cierto también seria posible,  pero a costa de consumir bastantes recursos del dispositivo,

 

Extension ApK dowloader

La extensión de Chrome llamada  Apk Downloader  funciona perfectamente con casi todas las aplicaciones disponibles en la Google Play que sean gratuitas , así que si quiere descargar aplicaciones y almacenar su archivo Apk, puede descargar esta aplicación desde la tienda en primer lugar en su pc   y luego llevarse el archivo al dispositivo donde lo quiera instalar.

Para usar esta extensión   en  su navegador siga estos pasos:

  1. Descargue  la extensión desde aqui 
  2. Añada la extensión  a Google Chrome.
  3. Acepte la instalación de esta extensión.
  4. Compruebe en la esquina superior derecha de la pantalla justo a la izquierda del icono de búsqueda que hay un icono naranja nuevo.

Ahora una vez instalada la extensión en Google Chrome ,sigue estos pasos para obtener el apk directamente desde Google Play Store.

  1. Ir a Play Store y seleccionar cualquier aplicación que desee descargar.Por ejemplo vamos a descargar la famosa app de Zowi que no esta disponible en Amazon Playzowi
  2. Copiar la URL de Google Play de la app que necesite ( Ctrl+C)
  3. Pulse el botón rojo de APK downlader en e la esquina superior derecha de la pantalla justo a la izquierda del icono de búsqueda.
  4. Seleccione ‘Apk Downloader extensión‘ de las opciones sobre acciones.
  5. Copiar la url de la aplicación  con Ctrl+V en la caja de dialogo
  6. Pulsar Generate Donwload Linkzowi2.PNG
  7. Esperar hasta iniciar la descarga.
  8. El Apk se descargarán automáticamente sin la intervención de los servicios de Google Play en una ruta de su pc.
  9. Puede renombrar el fichero apk por otro que sea intuitivo  pues normalmente el nombre del fichero no suele coincidir con el nombre de la aplicación)

 

 

Instalación del APK en el Fire

En  primer lugar  para que pueda instalar un apk  en su Fire debe  activar la casilla de “Orígenes desconocidos” que encontrará dentro de los ajustes de  Fire OS en  “Seguridad”.

Para instalar la apk  el archivo APK en su Fire  simplemente siga los pasos a continuación:

  1. Conectase  a la nube de Amazon ( Amazon drive)
  2. Coloque el archivo APK en la ruta de Amazon .amazondrive
  3. Vaya a su tableta e inicie Amazon Drive
  4. Busque el apk   y cópielo en una ruta local de su tableta (por ejemplo en download)
  5. Ejecuet el apk
  6. Haga clic en ‘instalar’
  7.  Espere a que se instale el APK.
  8. Una vez instalada  ya puede abrir la aplicación

 

Descarga del APK desde otro Navegador

Quizás  si no tiene instalado el navegador Chrome, o quiere hacerlo  desde la misma tableta   le interese  para descargar el  apks desde Google Play  usar algún servicio de descarga que nos pase el apk directamente de Google Play  como por ejemplo el servicio evozzi.com.

Estos son los pasos a seguir:

  1. Ir a Play Store y seleccionar cualquier aplicación que desee descargar.
  2. Copiar la URL ( Ctrl+C)
  3. Ir  a https://apps.evozi.com/apk-downloader/
  4. Pulsr Ctrl+V enla caja para pegar la url desde Google Play
  5. Pulsar Generate Download Link
  6. Solo tenemos que pulsar en el botón verde  y se iniciara la descarga del apk a local
  7. Conectase  a la nube de Amazon ( Amazon drive)
  8. Coloque el archivo APK en la ruta de Amazon .amazondrive
  9. Vaya a su tableta e inicie Amazon Drive
  10. Busque el apk   y cópielo en una ruta local de su tableta (por ejemplo en download)
  11. Ejecute el apk
  12. Haga clic en ‘instalar’
  13.  Espere a que se instale el APK.
  14. Una vez instalada   puede abrir la aplicación

 

Por cierto  ,no olvide que para poder instalar el  apk debe activar la casilla de “Orígenes desconocidos” que encontrará dentro de los ajustes de  Android y “Seguridad”.

 

 

Cómo agregar un botón de encendido/apagado a la Raspberry Pi


Siempre debemos apagar con  seguridad nuestra Raspberry Pi ,pues de lo contrario nos exponemos  a perder  el sistema de arranque y  tener que volver  a  crear una  imagen  con todo el trabajo que esto conlleva  respecto a las personalizaciones que tanto nos gustan
Raspberry Pi no cuenta con   un pulsador de encendido para intentar competir con su clones  y de este modo  mantener el precio «bajo»,  aunque  sin embargo, es muy fácil  añadir  el suyo propio  como vamos a ver en este post donde añadiremos un botón de encendido a su Raspberry para que puede encender o  apagar esta con total de seguridad .
No nos bastara añadir el pulsador pues tendremos  que usar unos scripts que vigilen  dos pines GPIO (general entrada/salida) en el Pi para que cuando se presione el botón activar o desactivar el  Pi.

 

raspberrypi

¿Por qué es importante un botón de encendido ?

Como comentábamos  nunca deberíamos «tirar» del cable de alimentación de su Raspberry Pi pues esto puede conducir a la corrupción de los datos graves (y en algunos casos, dañar físicamente tu tarjeta SD) pues para ello se puede cerrar con seguridad el Pi a través de un comando de consola (shutdown)  o por supuesto también  desde el propio interfaz gráfico de Raspian (shutdown)

Veamos  ahora como podemos añadir un pulsador  pero entes tenemos que entender cómo despertar la Raspberry Pi de un estado de suspensión antes de construir la funcionalidad de apagado.

Una manera fácil de comprobarlo es apagando  con sudo shutdown -h now y conectando los pines 5 y 6 con un cable hembra a hembra. Sólo necesitará cortarlo momentáneamente y entonces usted debe encontrar que la Raspberry Pi se «despertó».

En este punto es interesante destacar que cuando «apaga» el Pi, lo enviará en un estado de suspensión, lo cual significa  que sigue consumiendo una cantidad muy pequeña de  energía ( muy  similar a cómo todos modernos equipos trabajo cunado quedan en stand-bye).

Lógicamente  si  agrega un botón de encendido podrá tanto detener como despertar el Pi de un estado detenido, pero si su Raspberry Pi se ha apagado, usted puede desconectar de forma segura la fuente de alimentación  sin la preocupación de corrupción de datos.

 

El equipamiento hardware como vemos es muy sencillo pues basta dos cablecillos que conectaremos en los pines 5 y 6  de la Raspberry PI del conector de expansión( justos los dos de la tercera columna empezando por la drecha)

IMG_20181018_224306[1].jpg

 

Sencillamente, si se cortocircuitan entre sí los pines 5 y 6 (GPIO3 y GND) se pondrá nivel bajo el pin correspondiente al GPIO y podremos actuaren consecuencia con la Raspberry Pi

Obviamente el cortocircuito lo sustituiremos por un pequeño pulsador normalmente abierto  que conduciremos con dos cablecillo  a los pines 5 y 6  de nuestra Raspbery Pi

 

IMG_20181018_224929[1]

Finalmente sujetaremos el pulsador con cinta de doble cara , pegándolo o practicando un agujero al contenedor de la Raspberry Pi

 

IMG_20181018_225410[1]

 

 

La solución de sleep es bastante sencilla, pero para cerrar con seguridad el Pi vamos a tener que utilizar una solución de software. Ya que sabemos que vamos a utilizar los pines 5 y 6 para el Pi, vamos a usar estos pines para apagarlo tambien . Tanto así que podemos conectar nuestro botón a los alfileres y se concluirá y despertar la Pi.

Vamos a tener que escribir un script que escuche una pulsación y  cierre el Pi. Antes nos fijamos en la secuencia de comandos, vamos a discutir algunos enfoques diferentes. En primer lugar, podríamos escribir un script que inicie un bucle infinito y espere un cambio en el estado de los pines GPIO.

Usando  seudo-código, podría ser algo como:

while True:
    if GPIO3 is pressed:
        shutdown the pi

Mientras que esto funcionaría y probablemente no tenga problema de rendimiento real, hay realmente una manera mejor:podemos escuchar  una interrupción (un cambio de estado de bajo a alto o alto a bajo) que interrumpa  el procesador para qeu realize uan determinada accion .

Afortunadamente la biblioteca de RPi.GPIO proporciona un método llamado wait_for_edge que bloqueará la ejecución de nuestro script hasta que se detecte una interrupción. Así configuramos GPIO3 y una vez que detectamos un borde de caída vamos a apagar el Pi.

Entonces, vamos a usar un script llamado listen-for-shutdown.py.

Para crear el script, podemos usar el editor nano asi  que después de conectar con el Pi, ejecute el siguiente comando para crear este

sudo nano listen-for-shutdown.py

Luego, pegue el código siguiente en el archivo y pulse CTRL-X y salida, Y para guardar cuando se le solicite.

#!/usr/bin/env python


import RPi.GPIO as GPIO
import subprocess


GPIO.setmode(GPIO.BCM)
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.wait_for_edge(3, GPIO.FALLING)

subprocess.call(['shutdown', '-h', 'now'], shell=False)

A continuación necesitamos poner este script en el arranque por lo que  deberemos copiar el script en lar uta de  usr y hacerlo ejecutable , acciones que haremos con los dos siguintes comandos:

sudo mv listen-for-shutdown.py /usr/local/bin/
sudo chmod +x /usr/local/bin/listen-for-shutdown.py

Pero este script solo apagaria la placa  y nosotros queremso tambien qeu se pueda arrancar pulsando el boton por lo que  añadiremos otro script llamado listen-for-shutdown.py: que e enciende/apaga nuestro servicio.

Para crear el script  escriba  la secuencia de comandos:

sudo nano listen-for-shutdown.sh

Introduzca el código siguiente en el archivo y guárdelo:

#! /bin/sh

### BEGIN INIT INFO
# Provides:          listen-for-shutdown.py
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

# If you want a command to always run, put it here

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting listen-for-shutdown.py"
    /usr/local/bin/listen-for-shutdown.py &
    ;;
  stop)
    echo "Stopping listen-for-shutdown.py"
    pkill -f /usr/local/bin/listen-for-shutdown.py
    ;;
  *)
    echo "Usage: /etc/init.d/listen-for-shutdown.sh {start|stop}"
    exit 1
    ;;
esac

exit 0

 

Ahora necesitamos coloque este archivo en /etc/init.d y hacerlo ejecutable, acciones que haremos con los dos siguientes comandos.

sudo mv listen-for-shutdown.sh /etc/init.d/
sudo chmod +x /etc/init.d/listen-for-shutdown.sh

Ahora registramos la secuencia de comandos para ejecutar en el arranque y le pasaremos el parámetros de arranque con los dos siguientes comandos.

sudo update-rc.d listen-for-shutdown.sh defaults
sudo /etc/init.d/listen-for-shutdown.sh start

 

Seguro querido lector que por lo menos la próxima vez que desconecte su Raspberry de forma violenta recuerda que podría haber puesto un botón para hacer el apagado seguro…  Y por cierto si tiene una Orange Pi u otro clon , este sencillo truco le puede servir tambien..

 

 

Fuente  howchoo.com

La primera grabadora láser portatil


Este invento de la compañía Muherz   que permite tallar con un láser  en distintos materiales como cuero, fieltro, madera, etc.  surgido gracias a kickstarter  ha superado todas las expectativas de financiación  , y en efecto ya esta disponible comercialmente , ahora bien a  a un precio algo mas alto de los esperado ( unos 749€  en Amazon) .

A cambio de esta cantidad, no hay más instrucciones a seguir,no hay que montar nada   y no nos tenemos que preocupar por el espacio , pues tiene  una medidas bastantes reducidas de 50x50x50 (eso si excluimos el contenedor).

Como vemos en la imagen Cubiio consiste en una fuente de láser basado en semiconductor y dos espejos motorizados de corriente impulsada con el fin de desviar el láser a lo largo de ejes X e Y. La CPU incorporada se encarga de  traducir los bocetos en comandos digitales para lograr en los espejos la inclinación particular para luego proyectar el punto enfocado del láser a la superficie del blanco a lo largo de la trayectoria diseñada. Es básicamente un  «galvanómetro, ( usado muy comúnmente en los polimetros analógicos ) al  que se ha cambiado la aguja por un espejo.

Bueno en realidad no es solo un  «galvanómetro» pues ademas las máquinas de láser tradicional con galvanómetro han de corregir el  problema de distorsión de la imagen mediante el uso de «lentes f-theta,» que son muy voluminosos y caros  por lo que han desarrollado  un algoritmo para compensar la distorsión con éxito.(la patente del algoritmo de lente virtual está pendiente

El cubo donde se incluye el láser  y toda la electronica en realidad se coloca en una caja mayor que  incluye la  fuente, un filtro de aire y receptáculo  para Cubiio , aunque puede usarse sin esta  por ejemplo para grabar sobre piezas  que no puedan situarse ne la caja

Seguridad

Como debería ser en otras herramientas con láser   y a gran diferencia de otros productos  similares  en kits o  de origen asiático ,  en este diseño se ha tenido muy en cuenta la seguridad ,pues sin duda, cualquier dispositivo láser puede ser muy  perjudicial especialmente para nuestros ojos.

safety item

Cubiio implementa  las siguientes medidas de seguridad :

  • Protección ocular  con  gafas especiales certificadas que  están incluidas en cada paquete de Cubiio. Siempre utilice gafas mientras que Cubiio está trabajando. No se ven en la radiación de láser, incluso con las gafas.
  • Cerradura con contraseña: Contraseña es necesaria antes de cada tiempo de funcionamiento. Sólo las personas autorizadas pueden utilizar Cubiio.
  • Indicación de proceso del laser: Un brillante LED indica cuando el láser está energizado y funcionamiento.
  • Detección de movimiento: Dispone de un acelerómetro de 3 ejes sensible. Mientras que el movimiento accidental ocurre durante la marcha, Cubiio se apaga inmediatamente.
  • Parada por sobrecalentamiento : Cubiio debería funcionar en el ambiente con suficiente disipación de calor. Si la temperatura interna se acerca al umbral de daño, Cubiio se apaga.
  • CubiioShield: Ofrecen protección mejorada para los usuarios que tienen mayor nivel de seguridad.

 

Uso

Cubiio es controlado por la aplicación Cubiio sin cables. Después de recibir Cubiio, por tanto debe descargarse la  Cubiio App de Apple Store o Google Play a continuación, seguir 4 sencillos pasos:

  1. Elegir un cuadro G-Código del archivo o escribir algo en Cubiio App.
  2. Emplaar  el elemento que desea grabar en la zona de Cubiio de trabajo.
  3. Cubiio también proporcionan la función de previsualización para mejor experiencia de usuario. Durante la vista previa,  se mueve a lo largo de la trayectoria prevista o el rectángulo de límite. Los usuarios pueden ajustar fácilmente el tamaño, la posición y el ángulo de rotación.
  4. Pulse iniciar y disfrutar.: Una vez asegurándo que se desea grabar, basta con pulsar en el grabado grabar realmente.

Operator by app

G-code es un lenguaje común de máquinas que permite  convertir, desde gráficos vectoriales a todo tipo de imágenes  que puede ser procesada por el software libre de código abierto – INKSCAPE, en el cual usted puede diseñar gráficos vectoriales y generar sus propios archivos G-Code. Ejecute los archivos G-Code Cubiio como en  otros grabadores láser.

A continuación en la siguiente tabla ponemos los materiales con que se  puede grabar con  Cubiio:

En las siguientes imágenes  podemos ver precisamente el resultado del grabado en diferentes materiales:

work on cupwork on phone case

work on are holderwork on chair

En definitiva  hay muchos ejemplos para lo que puede usarse este grabador láser como por ejemplo para hacer un regalo especial,elevar el valor del producto con su propia insignia o grabar literalmente en todas partes, incluso en curvas y vertical superficie

Especificaciones

Veamos por ultimo algunas de las especificaciones de este original  y sobre todo seguro grabador láser:

    • Peso: 1,3 Kg (láser módulo 150 gramos)
    • Fuente de laser: OSRAM semiconductor azul color láser
      estimación de vida útil 10000 horas
    • Salida del laser: 100 nivel ajustable
      max 800 mW con CubiioShield; máxima de 500 mW sin CubiioShield
    • Velocidad de fresado: 2000 mm/min máximo
    • Resolución: 152-254 dpi ajustable
    • Acabado: aluminio anodizado
    • Opción del color: rojo, negro, bronce, oro y azul
    • Tornillo de montaje: 1/4″-20 UNC para trípodes estándar
    • ENTRADA-salida: Tarjeta Micro SD
    • Formato de archivo apoyado: bmp y G-Code
    • Conexión de la aplicación: BLE (Bluetooth Low Energy)
    • Aplicación sistema operativo: iOS 4.4 + 10 + / Android
    • Filtro: Carbón activo + zeolita
    • Entrada de energía: AC 85-264 v, 47-63Hz
    • Requisito de energía de la fuente de láser: micro USB DC 5V, 2A
      Banco de alimentación (5V, 2A) apoyado, pero no incluido
    • Detalles del módulo del Laser:

Como usar una webcam standard con una Raspberry Pi


Una de las opciones que, a priori, puede parecernos más   atractiva  y tal vez útil por las posibilidades  que  no ofrece como cámara de seguridad, reconocimiento de imágenes, cámara trasera para vehículos , etc   para nuestra Raspberry Pi  es  conectarle una cámara e  intentar  visualizar y/o  capturar en el monitor la imagen captada por la misma..

Lamentablemente  en el universo Linux es algo más complicado añadir drivers para todo el hw disponible ,  y es ahí  donde por desgracia no le son ajenas las cámaras web usadas para pc pues en lugar de utilizar el módulo de la cámara  nativa del Raspberry Pi  que suele tener un coste ciertamente elevado es mas interesante  utilizar una versátil webcam USB estándar para tomar fotos y vídeo en la Raspberry Pi.Tenga en cuenta que la calidad y capacidad de configuración del módulo de cámara nativo con interfaz CSI  es muy superior a una webcam USB estándar,  pero por el contrario este también tiene una gran limitación : la longitud del cable de cinta que excepto compremos que dos  adaptadores de CSi a HDMI (lado cámara) , de HDM a CSI (lado Raspberry Py)   y luego un largo cable hdmi   solo se podría situar tan solo unos pocos centímetros respecto a la Raspberry Pi .

raspberrypi

Requisito previos

Una vez que tengamos una cámara para operar con nuestra RasPi hemos de asegurarnos de que la misma es “soportada” por el S.O. Linux que estamos utilizando.

La consulta de la lista de compatibilidad puede ayudar  pero podemos comprobarlo en desde  linea de  comandos para verificar si el sistema la identifica correctamente.

Antes de conectar la cámara al sistema iremos al terminal y teclearemos el comando dmesg | tail, lo que hará que se nos muestren los últimos mensajes generados por la RasPi.  Ahora conectamos la cámara a la Raspberry Pi y repetimos el comando anterior (dmesg | tail), y en este caso se nos deberán mostrar algunos mensajes que hagan referencia al nuevo hardware detectado.

Otra comprobación interesante es verificar si la cámara ha sido detectada como dispositivo Linux, para ello teclearemos ls /dev , lo que hará que aparezca  , si es que el sistema la detecta , como dispositivo  /dev/videoX ( normalmente /dev/video0 pero asegurese con un ls /dev)

De forma previa podemos instalar  el  software para poder visualizar de una forma cómoda los ficheros obtenidos  para poder verlos desde el propio terminal dentro del entorno gráfico pues la visualización de imágenes desde el entorno gráfico se puede efectuar con solo “pinchar” en la imagen a mostrar desde el navegador gráfico de archivos para los cual podemos instalar el sw de imagen magick

Para instalar el paquete citado  basta teclear:

 sudo apt-get install imagemagick

Existen varias utilidades para capturar imágenes  desde un web cam  veamoslas:

Fswebcam

En efecto la  herramienta fswebcam, que funciona bajo línea de comandos,  nos permite capturar imágenes a través de la Webcam USB, para ello en primer lugar, instale el paquete:fswebcam  con el comando sudo , es decir:

sudo apt-get install fswebcam 

Ahora escriba el comando seguido de un nombre de archivo y una imagen se tomaron con la cámara web y se guardarán al nombre de archivo especificado como por ejemplo fswebcam /dev/video0 image.jpg

Este comando mostrará la siguiente información:

[email protected]:~ $ fswebcam -d /dev/video0 pepe.jpg
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Writing JPEG image to 'pepe.jpg'

Como vemos la resolución por defecto es pequeña y ademas se complementa en la parte inferior con un pequeño banner  que muestra la fecha y hora.

prueba.PNG

En caso de utilizar una web cam hd,  para especificar la resolución podemos forzar que la imagen para sea tomada  a mayor resolución , para ello se puede  utilizar la bandera:1280 x 720-r

fswebcam -r 1280x720 -d /dev/video0 pepe2.jpg

Este comando mostrará la siguiente información:

--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Adjusting resolution from 1280x720 to 640x480.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Writing JPEG image to 'pepe2.jpg'

Puede   quitar el banner inferior puede añadir el siguiente parámetro:--no-banner :

fswebcam -r 1280x720 --no-banner image3.jpg

El cual  muestra la siguiente información:

--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
--- Capturing frame...
Corrupt JPEG data: 2 extraneous bytes before marker 0xd6
Captured frame in 0.00 seconds.
--- Processing captured image...
Disabling banner.
Writing JPEG image to 'image3.jpg'.

Ahora con  ese parámetro ya   se toma la imagen a resolución completa  sin banner

Script de captura

Puede escribir un script de Bash para que tome una foto con la webcam por lo que la secuencia de comandos  que vamos a vera continuación guarda las imágenes en el directorio,

En primer lugar  crear el subdirectorio primero en:/home/pi/webcamwebcam  conmkdir webcam

Para crear una secuencia de comandos, abra su editor de la opción y escriba el siguiente código de ejemplo:

#!/bin/bash

DATE=$(date +"%Y-%m-%d_%H%M")

fswebcam -r 1280x720 --no-banner /home/pi/webcam/$DATE.jpg

Este script tome una fotografía y usa como nombre del archivo con una marca de tiempo.

Para poder ejecutar el script webcam.sh en primer lugar nos gustaría hacer el archivo ejecutable:

chmod +x webcam.sh

Luego ejecutar con:

./webcam.sh

Al ejecutarlo dar la  siguiente salida:

--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
--- Capturing frame...
Corrupt JPEG data: 2 extraneous bytes before marker 0xd6
Captured frame in 0.00 seconds.
--- Processing captured image...
Disabling banner.
Writing JPEG image to '/home/pi/webcam/2013-06-07_2338.jpg'.

Time-lapse con cron

Usted puede utilizar para tomar una fotografía en un intervalo dado, como cada minuto para capturar un time-lapse.cron ,para ello primero abra la tabla cron para editar:

crontab -e

Esto tampoco pedirá que editor que desea utilizar, o abrirá en su editor predeterminado. Una vez que tenga el archivo abierto en un editor, agregue la línea siguiente para tomar una fotografía cada minuto (refiriéndose a la secuencia de comandos de Bash desde arriba):

* * * * * /home/pi/webcam.sh 2>&1

Guardar y salir y usted debería ver el mensaje:

crontab: installing new crontab

Asegúrese de que su gscript no permite guardar cada fotografía tomada con el mismo nombre de archivo. Esta acción sobrescribirá la imagen cada vez.

 

Uvcpature

Para poder utilizar las prestaciones de nuestra cámara web también podemos instalar los paquetes uvccapture y libv4linux-0

Antes de hacerlo puede ser preciso (recomendable) actualizar las fuentes de instalación con: sudo apt-get update  y para descargar los paquetes ejecutaremos:

 sudo apt-get

install uvccapture libv4l-0

Conectada la cámara y teniendo los programas adecuados ya instalados, vamos a realizar una prueba simple de que todo está funcionando correctamente. Desde el terminal tomamos una instantánea con los parámetros estándar (opción -m) :

 uvccapture -m

Ahora listamos la carpeta para comprobar que se capturó el fichero snap.jpg (nombre por defecto de la captura) y luego lo visualizamos mediante el comando display snap.jpg

En caso de que  el fichero capturado (snap.jpg) salga  bastante obscuro podemos ver como están los ajustes por defecto de la cámara mediante el parámetro -v , uvccapture -m -v

También si el brillo está muy bajo, podemos capturar una nueva imagen pero subiéndolo bastante mediante el comando (parámetro -Buvccapture -m -B50

Además de los parámetros comentados, el comando uvccapture nos permite otra serie de interesantes opciones, como por ejemplo podemos parametrizar una nueva captura – modificando brillo y contraste – pero guardando la misma en un fichero llamado “captura.jpg

uvccapture -m -B50 -C10 -o”captura.jpg”

Por si fuera poco el comando uvccapture permite que efectuemos de forma secuencial, – y en un lapso de tiempo elegido por nosotros – la captura consecutiva de tomas desde la cámara USB. No debemos confundir esta posibilidad – aunque se le parezca – con la toma de un “stream” o flujo de vídeo continuo. Lo que obtendremos al efectuar esta captura consecutiva es imágenes cada cierto intervalo. Así que vamos a verlo con un ejemplo…

Ejecutamos el comando uvccapture con el parámetro -t , el cual hace que se capture una imágen cada cierto número de segundos (3 segundos en nuestro ejemplo), el cual, si no se especifíca algo diferente se guardará en el fichero snap.jpg.

uvccapture -m -B70 -C40 -S5 -t3   (pulsar VTRL+c para finalizar el bucle de captura)

El resultado de la captura será una toma cada 3 segundos que se guardará en el fichero por defecto (snap.jpg). La única desventaja de este método radica en que el fichero de captura se “machaca” con cada una de ellas, por lo que solo estará a nuestra disposición el último de los generados.

Para subsanar esto podemos hacer uso de una de las prestaciones del programa uvccapture que nos permite ejecutar un comando Linux inmediatamente después de efectuar una captura. ¿Y que podemos ejecutar?… pues parece claro que lo más idóneo sería algún tipo de comando o sucesión de estos que nos permita salvaguardar la última captura, de forma y manera que al realizarse la siguiente toma esta no sea “machacada” impunemente de forma muy similar a como vimos en el script anterior.

 

 

 

Otras herramientas útiles

Otras herramientas están disponibles que puede ser útil cuando se utiliza la cámara o una webcam:

  • SSH  Utilizado para acceder remotamente el Raspberry Pi en su red local
  • SCP  Sirve para copiar ficheros sobre SSH  ypara obtener copias de las fotografías tomadas en la Pi en el ordenador principal
  • rsync : Uso para sincronizar la carpeta de imágenes tomadas en una carpeta entre el Pi al ordenadorrsync
  • cron Utilizar para programar tomar una fotografía en un intervalo dado, como cada minuto para capturar un time-lapsecron

 

 

 

Mas  información en  raspberrypi.org

Raspberry Pi como centro de entretenimiento al volante


El proyecto, desarrollado por Michal Szwaj, plantea un sistema para un vehículo  en el que es posible controlar la reproducción multimedia   o acceder a los mapas de Google, aunque de momento no  ofrece funciones como la navegación GPS, pero la versatilidad de la Raspberry Pi   con el soporte Bluetooth ,hace que esa opción no parezca difícil de implementar.

OpenAuto,  es un proyecto que con una Raspberry Pi 3 y una pantalla táctil nos da acceso a unas funciones muy similares a las que ofrece Android Auto, basándose en la  biblioteca  aasdk y librerías Qt siendo el objetivo principal  ejecutar esta aplicación en una placa  de RaspberryPI 3 sin problemas. El proyecto se basa en la instalación de una distribución Linux, Raspbian Stretch, a la que luego se le añaden librerías como las célebres Qt para poder ejecutar las aplicaciones orientadas a ser utilizadas en el coche.

A la Raspberry Pi 3 se le conecta una pantalla táctil (480p, 720p o 1080p)  pues  este es recomendable para la interacción con el sistema. Completar el proceso es relativamente sencillo, y tanto el código fuente como las instrucciones de instalación están disponibles públicamente en GitHub .

Las funcionalidades soportadas  son las siguientes:

  • 480p, 720p y 1080p con 30 o 60 FPS.
  • Aceleración de hardware de RaspberryPI 3 soporte para decodificar la secuencia de vídeo (hasta [email protected]).
  • Reproducción de audio de todos los canales de audio (los medios de comunicación, sistema y discurso).
  • Entrada de audio para comandos de voz.
  • Pantalla táctil y soporte de  botones de entrada.
  • Bluetooth.
  • Lanzamiento automático después de dispositivo hotplug.
  • Detección automática de dispositivos Android conectados.
  • Modo inalámbrico (WiFi) mediante servidor de unidad principal (debe estar habilitado en configuración desarrollador ocultos).
  • Configuración fácil de usar.

 

Electrónica necesaria

Sin duda , aparte de la propia Rasberry Pi  3 , el display  táctil es un componte  fundamental en este proyecto. Con una resolución de 800×480 el modulo oficial de display +sensor se conecta a la Raspberry Pi  3 a través de una placa  adaptadora que se encarga de controlar la alimentación y la señal de vídeo.

Solo se necesitan dos conexiones de la Raspberry Pi 3 : la  alimentación desde el conector GPIO y el cable plano al conector DSI, presentes en todas las Raspberry.

El kit incluye:

  • Pantalla 7″ multitáctil 10 puntos
  • Placa conversara
  • Cable plano DSI
  • 4x tornillos para ajustar la Raspberry a la pantalla
  • 4x cables para conectar la pantalla a la Raspberry

En el siguiente video se puede ver el proceso de  montaje de este kit.

El controlador táctil ofrece 10 puntos de presión, por lo que el usar teclados en pantalla como el integrado en Raspbian lo hacen realmente sencillo.

Este kit convierte pues  una Raspberry en una tableta multitáctil, sistema de información o dispositivo independiente.Es realmente interactivo  pues la ultima version de Raspbian soporta teclado virtual en pantalla, así que no se necesita conectar un teclado y un ratón físicos ni por supuesto una pantalla externa.

Como podemos ver Android Auto se ejecuta en una Raspberry Pi 3 con la pantalla táctil oficial de 7 pulgadas anteriormente citada.  Estos son los componentes esenciales para implementar  este proyecto:

 

 

 

Raspvid

raspivid es la herramienta de línea de comandos para capturar vídeo con el módulo de cámara nativo de Raspberry. Con el modulo de cámara conectado y activado, se puede grabar un vídeo utilizando el siguiente comando:

raspivid -o vid.h264

Recuerde que debe utilizar y para voltear la imagen si es necesario, como con raspistill-hf-vf (esto guardara un archivo de vídeo 5 segundo en el camino dado aquí como (longitud por defecto de tiempo).vid.h264)

Para especificar la longitud del vídeo tomado, pase en la bandera con un número de milisegundos. Por ejemplo:-t raspivid -o video.h264 -t 10000  (Esto graba 10 segundos de video.)

Para una lista completa de las opciones posibles, ejecutar sin argumentos, o este comando a través de y desplácese a través de la pipa:raspividless

raspivid 2>&1 | less

Utilice las teclas de flecha para desplazarse y el tipo de salida.q

Para ver la cámara trasera ejecutar raspvid seguido de los  parámetros  , como por ejemplo:

raspvid  -t 5000

raspvid -t 0

raspvid -t  -vh

raspvid -t 0 -vf ( invierte la imagen)

raspvid -t 0 -hf -vf

 

 Instalar aasdk en Raspberri PI 3

  1. Instalar el software necesario

 sudo apt-get install -y libboost-all-dev libusb-1.0.0-dev libssl-dev cmake libprotobuf-dev protobuf-c-compiler protobuf-compiler

  1. Repositorio de aasdk clon

$ cd

$ git clone -b master https://github.com/f1xpl/aasdk.git

  1. Crear el directorio aasdk_build en el mismo nivel que aasdk dir

$ mkdir aasdk_build

$ cd aasdk_build

  1. Generar archivos de cmake

$ cmake-DCMAKE_BUILD_TYPE = lanzamiento… /AASDK

  1. Construir aasdk

$ make

Instalar el resto de sw en Raspberry PI 3

  1. Instalar el software necesario

$ sudo apt-get install -y libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediawidgets5 qtmultimedia5-dev libqt5bluetooth5 libqt5bluetooth5-bin qtconnectivity5-dev pulseaudio librtaudio-dev librtaudio5a

  1. Construir ilclient de frambuesa PI 3 firmware

$ cd /opt/vc/src/hello_pi/libs/ilclient

$ make

  1. Repositorio de Open clon

$ cd

$ git clone -b master https://github.com/f1xpl/openauto.git

  1. Crear el directorio openauto_build en el mismo nivel que Open dir

$ mkdir openauto_build

$ cd openauto_build

  1. Generar archivos de cmake

Nota: Si es necesario, ajustar los path  a su localización de directorios aasdk y aasdk_build.

$ cmake -DCMAKE_BUILD_TYPE=Release -DRPI3_BUILD=TRUE -DAASDK_INCLUDE_DIRS=»/home/pi/aasdk/include» -DAASDK_LIBRARIES=»/home/pi/aasdk/lib/libaasdk.so» -DAASDK_PROTO_INCLUDE_DIRS=»/home/pi/aasdk_build» -DAASDK_PROTO_LIBRARIES=»/home/pi/aasdk/lib/libaasdk_proto.so» ../openauto

  1. Construir OpenAuto

$ make

  1. Ejecutar Open

$ /home/pi/openauto/bin/autoapp

Añadir Open a autorun

  1. Archivo abrir autostart

$ sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

  1. Agregar debajo de línea al final del archivo autorun

@/ hogar/pi/Open/bin/autoapp

 

Apagar  Raspbery PI 3 cuando el teléfono se está desconectando

  1. Archivo abierto openauto.rules

$ sudo nano /etc/udev/rules.d/openauto.rules

  1. Añadir a continuación las líneas al final del archivo openauto.rules

SUBSISTEMA == «usb», acción == «add», ENV {ID_VENDOR_ID} == «18d 1», ENV {ID_MODEL_ID} == «2d 00» RUN += «/ bin/sh – c ‘ / sbin/shutdown – c & & echo 0 > /sys/class/backlight/rpi_backlight/bl_power'»

SUBSISTEMA == «usb», acción == «add», ENV {ID_VENDOR_ID} == «18d 1», ENV {ID_MODEL_ID} == «2d 01», RUN += «/ bin/sh – c ‘ / sbin/shutdown – c & & echo 0 > /sys/class/backlight/rpi_backlight/bl_power'»

SUBSISTEMA == «usb», acción == «remove», ENV {ID_VENDOR_ID} == «18d 1», ENV {ID_MODEL_ID} == «2d 00» RUN += «/ bin/sh – c ‘ / sbin/shutdown: apagado 1 & & echo 1 > /sys/class/backlight/rpi_backlight/bl_power'»

SUBSISTEMA == «usb», acción == «remove», ENV {ID_VENDOR_ID} == «18d 1», ENV {ID_MODEL_ID} == «2d 01», RUN += «/ bin/sh – c ‘ / sbin/shutdown: apagado 1 & & echo 1 > /sys/class/backlight/rpi_backlight/bl_power'»

Este  script va a hacer las siguientes acciones:

  1. Desactivar el apagado de pantalla y programar de forma  retrasada  por 1 minuto cuando el teléfono se está desconectando
  2. Encender la pantalla y cancelar el apagado cuando el teléfono se está conectando

Puede ajustarse el  retraso de 1 minuto para sus necesidades.

 

Reglas de udev (permisos de USB)

Para utilizar Open con sistema operativo basado en Linux (por ejemplo, Raspbian) con udev, debe crear una regla para permitir la comunicación con los dispositivos USB en modo de lectura/escritura.

La regla más simple parece debajo de uno:

SUBSISTEMA == «usb», atributos {idVendor} == «*», atributos {idProduct} == «*», MODE = «0660», grupo = «plugdev»

Para agregar esta regla de udev, hacer:

$ cd /etc/udev/rules.d

$ sudo touch openauto.rules

$ sudo nano openauto.rules

Aplique estas reglas, guarde el archivo y reinicie el dispositivo.

Tenga en cuenta que la regla anterior permite  abrir cualquier dispositivo USB en modo de lectura/escritura por cualquier aplicación instalada en el sistema. Considerar como insegura.

Configuración de PulseAudio

Paquetes audio de AndroidAuto se entregan en trozos muy pequeños. Debido a esto podrían necesitarse ajustes de configuración de PulseAudio para evitar problemas con el audio.

Añadir/anulación por debajo de las líneas en /etc/pulse/daemon.conf

resample-method = ffmpeg

En /etc/pulse/default.pa añadir tsched = 0 en la línea de ‘carga-módulo módulo-udev-detect’

load-module module-udev-detect tsched=0

Después de cambios de configuración debe reiniciar la instancia de pulseaudio. Puede hacerlo con  la ejecución del comando  pulseaudio -k .

 

Fuente https://github.com/f1xpl/openauto/wiki/Build-instructions

 

ELECTRÓNICA ADICIONAL

Para facilitar el manejo  de openAuto  y extender su funcionamiento  Everlanders ha conectado 4 pulsadores directos para activar la cámara, variar el brillo o despertar la placa

No deja de ser importante el  apartado de alimentación  pues en la Raspberry Pi 3 es de 5v DC 2amp y en un automóvil es de 12V  requiriéndose  un convertidor   dc-dc  .Obviamente en los tiempos que correen ,es mucho mas eficiente  un convertidor conmutado 12v-5v  que un regulador  7805

También ,por ultimo para detectar la marcha atrás ,es muy  interesante usar un opto-acoplador para aislar a la Raspberry Pi 3 de posibles problemas ele ctricos   en el automovil dado el aislamiento galvánico que nos ofrecen los optoaisladores.

El esquema final de este montaje completamente opcional es el siguiente:

esquema.PNG

Para manejar los pulsadores se requieren   los siguientes tres siguientes scripts escritos por el  Everlands:

LightMonitor.py

Este script en Python sirve  para atenuar la pantalla y cambiar a la cámara de retroceso. Recuerde, que es interesante usar un optoacoplador para detectar la marcha atrás con los la lógica se invierte … 0 = encendido 1 = apagado. Ademas, solo se debe ejecutar uno de estos scripts de «Monitor», es decir  no puede estar ejecutando RearviewMonitor.py Y LightMonitor.py

CODIGO DE LIGTMONITOR.PY

#!/usr/bin/python

import RPi.GPIO as GPIO
import time
import subprocess, os
import signal
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
RearView_Switch = 14 # pin 18
Brightness_Switch = 15 # pin 16
#Extra_Switch = 1 # pin 3
GPIO.setup(RearView_Switch,GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(Brightness_Switch,GPIO.IN, pull_up_down=GPIO.PUD_UP)

print » Press Ctrl & C to Quit»

try:

run = 0
bright = 0
while True :
time.sleep(0.25)

# esto restringe la secuencia de comandos para verificar las luces cada 1/4 de segundo. #No tiene sentido revisar 10.000 veces por segundo.

# Si se encienden las luces de marcha atrás, hacer esto:
if GPIO.input(RearView_Switch)==0 and run == 0:
print «Switching Rearview Camera On»
rpistr = «raspivid -t 0 -vf -h 480 -w 800»
p=subprocess.Popen(rpistr,shell=True, preexec_fn=os.setsid)
run = 1

Cuando las luces de marcha atrás se apagan, hacer esto:

if GPIO.input(RearView_Switch)==1 and run == 1:
os.killpg(p.pid, signal.SIGTERM)
print «Killing the reverse camera feed»
run = 0

# Estos dos bloques siguientes monitorean los faros o la luz del marcador y ajustan la #configuración de brillo de la pantalla.

if GPIO.input(Brightness_Switch)==0 and bright == 0:
print «Setting Brightness to 20» # 20 is about 10%
subprocess.call («/usr/local/bin/backlight.sh 20», shell=True)
bright = 1

if GPIO.input(Brightness_Switch)==1 and bright == 1:
print «Setting Brightness back to 255» #255 is 100%
subprocess.call («/usr/local/bin/backlight.sh 255″, shell=True)
bright = 0

except KeyboardInterrupt:
print » Quit»
GPIO.cleanup()

 

backlight.sh

Este script en cshell sirve par ajustar el nivel de luminosidad de la pantalla oficial qeu hemos conectado a la raspberry. Como es de esperar acepta  un parámetro que es precisamente un entero entre 0 y 255

CODIGO SCRIPT BACKLIGHT

#!/bin/bash

level=$1
#echo «level given is $level»

if [ $# != 1 ]; then
echo «USAGE: $0 brightness_level (0 to 255)»
exit 1
fi

if [[ $level -ge 0 && $level -le 255 ]]; then
#echo «level given is $level»
echo $level > /sys/class/backlight/rpi_backlight/brightness
echo «Screen brightness set to $level.»
exit 0
else
echo «Brightness level $level is out of range! (0 to 255 only)»
exit 1
fi

Para  probar el  script de retro-iluminación   ejecutar el script con el parámetro usando un valor entero menor que 255 ,por ejemplo  ./backlight.sh 128

 

ButtonMonitor.py

#!/usr/bin/python

import RPi.GPIO as GPIO
import time
import subprocess, os
import signal
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
RearView_Switch = 14 # pin 18
Brightness_Switch = 15 # pin 16
#Extra_Switch = 1 # pin 3
GPIO.setup(RearView_Switch,GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(Brightness_Switch,GPIO.IN, pull_up_down=GPIO.PUD_UP)

print » Press Ctrl & C to Quit»

try:

run = 0
bright = 0
while True :
time.sleep(0.1)

#los siguientes cuatro bloques se utilizan para alternar entre las vistas de la cámara.

if GPIO.input(RearView_Switch)==0 and run == 0:
print » Started Full Screen»
rpistr = «raspivid -t 0 -vf -h 480 -w 800»
p=subprocess.Popen(rpistr,shell=True, preexec_fn=os.setsid)
run = 1
while GPIO.input(RearView_Switch)==0:
time.sleep(0.1)

if GPIO.input(RearView_Switch)==0 and run == 1:
os.killpg(p.pid, signal.SIGTERM)
print » Started Full Screen Transparent»
rpistr = «raspivid -t 0 -vf -op 128 -h 480 -w 800»
p=subprocess.Popen(rpistr,shell=True, preexec_fn=os.setsid)
run = 2
while GPIO.input(RearView_Switch)==0:
time.sleep(0.1)

if GPIO.input(RearView_Switch)==0 and run == 2:
os.killpg(p.pid, signal.SIGTERM)
print » Started PIP Right side»
rpistr = «raspivid -t 0 -vf -p 350,1,480,320»
p=subprocess.Popen(rpistr,shell=True, preexec_fn=os.setsid)
run = 3
while GPIO.input(RearView_Switch)==0:
time.sleep(0.1)

if GPIO.input(RearView_Switch)==0 and run == 3:
print » Stopped »
run = 0
os.killpg(p.pid, signal.SIGTERM)
while GPIO.input(RearView_Switch)==0:
time.sleep(0.1)

# Estos tres bloques siguientes alternan entre las tres configuraciones de brillo.

if GPIO.input(Brightness_Switch)==0 and bright == 0:
print «Setting Brightness to 255»
subprocess.call («/usr/local/bin/backlight.sh 255», shell=True)
bright = 1
while GPIO.input(Brightness_Switch)==0:
time.sleep(0.1)

if GPIO.input(Brightness_Switch)==0 and bright == 1:
print «Setting Brightness to 128»
subprocess.call («/usr/local/bin/backlight.sh 128», shell=True)
bright = 2
while GPIO.input(Brightness_Switch)==0:
time.sleep(0.1)

if GPIO.input(Brightness_Switch)==0 and bright == 2:
print «Setting Brightness to 20»
subprocess.call («/usr/local/bin/backlight.sh 20», shell=True)
bright = 0
while GPIO.input(Brightness_Switch)==0:
time.sleep(0.1)

except KeyboardInterrupt:
print » Quit»
GPIO.cleanup()

 

Respecto a la activación ,para probar la camara  ejecutar  ButtonMonitor.py.  Ahora una vez probado , tenemos que hacer  que se ejecute automáticamente . Para ello tenemos que editar el archivo /home/pi/.config/lxsession/LXDE-pi/autostart

En la ultima linea del script  añadir  /usr/local/bin/ButtonMonitor.py

autostart.PNG

 

IMPORTANTE : Deberemos copiar los tres  scripts  a la ruta /usr/local/bin  y conceder los permisos de ejecución  mediante el comando sudo chmod +x . La fuente original de los  scripts  es :https://gist.github.com/Everlanders

 

En el siguiente vídeo podemos ver todo el proceso de creación de un dispositivo basado en Raspberry PI  para uso exclusivo en un vehículo  usando  todos los componentes mencionados anteriormente.

 

Actualice su vehículo con funcionalidades avanzadas propias de la aviación


Los HUD (Head-Up Display) llevan años en  la ficción con nosotros  ,como por ejemplo en  interior  del casco de Iron Man (2008) los visores de los personajes del anime Bola de Dragón (1984) o la pantalla de Minority Report (2002), pero toda esta ideas  actualmente ya no son ciencia ficción  pues los primeros dispositivos  reales se diseñaron ya hace mas de dos  décadas  para la aviación, mostrando información en pantalla al piloto para que este pudiese girar la cabeza sin perder esos datos de velocidad, altitud o ángulos.

A la aviación  pronto le siguió el sector automovilístico  con  marcas  como Mazda, Citroën o Peugeot  que usan  pantallas traslúcidas de policarbonato y otros materiales sobre ellas, proyectando en estas distinta información, como la velocidad del vehículo, el límite de velocidad de la vía, e incluso breves instrucciones de navegación.

Incluso algunos fabricantes como BMW  quieren llegar mas lejos usando la propia luna del vehículo como HUD proyectando  es esta diferente información  útil  para el conductor, concepto que es el que implementan  la mayoría de las soluciones actuales

 

Por supuesto los motoristas mucho más expuestos que los conductores de otros vehículo también pueden disfrutar de  esta tecnologia  con el  llamado     HUD HMD (Helmet-Mounted Display o monitor instalado en casco)  que ayuda a conducir con mayor seguridad   destacando en este campo la marca Skully

 

Display  HUD avanzado

Como  vemos  los HUD  básicamente son  displays orientados a la seguridad,  pues la idea fundamental de este tipo de dispositivos es que el conductor mantenga su mirada en dirección al frente  sin perder de vista la carretera mostrando a  la vez superpuesta esta información relevante  por tanto sin obligar al conductor a girar la cabeza cada vez que quiera comprobar algo.

Un ejemplo de HUD sencillo son las apps   que reflejan información  a la altura del parabrisas con un simple soporte   tal y como ya hemos hablado en este blog en muchas ocasiones ,pero actualmente  gracias a la fusión de estos displays  HUD  de nueva tecnologia  y la información proporcionada por el puerto de diagnóstico o OBDII de su vehículo , podemos proyectar la información útil de conducción  en su parabrisas  de modo que  no tenga que apartar la vista de la carretera para dirigirla  al cuadro de instrumentos por ejemplo  para saber a la velocidad  a la que se circula  o  las revoluciones del motor .

 

Una novedad ademas de los nuevos HUDs es que gracias a la evolución de la información  del OBDII  pueden suministrar incluso mas información que el propio vehículo podía ofrecer

Como ejemplo , hasta hace poco un HUD conectado al OBDII  podía proporcionar información básica  como :

  •  Velocidad
  •  Las revoluciones del motor
  • Temperatura de agua
  •  Voltaje de la batería
  •  Alarmas  (  de bajo voltaje, alta temperatura, velocidad,etc)
  • etc  ( dependiente de cada modelo)

Actualmente la mayoría de los nuevos modelos pueden ofrecer información mucho mas rica que la proporcionada por modelos sencillos de HUD . Concretaemente  el modelo VGEBY ( uno de los mas vendidos  en l gama media )  puede ofrecer ademas de la información básica anterior , las siguientes alertas , informaciones y sugerencias mas avanzadas  propias de algunos ordenadores de a borde de coches de alta gama como puede ser :

  • El numero de marcha 
  • Alarma de RPM
  • Control de horas en marcha para sugerir al conductor descansar
  • Código de error del motor
  • Alarma de consumo   para mejorar la eficiencia en el consumo correlacionado   la velocidad de rotación del motor con el numero de marcha y la velocidad lineal,etc
  • Alarma de exceso de velocidad

Este modelo   cuenta con  una  pantalla  HUD de  5.5 pulgadas  y  puede mostrar muchos parámetros al mismo el tiempo ,  como  son la velocidad del vehículo, velocidad del motor, temperatura del agua ,varias  alarmas (voltaje,posición de la válvula de mariposa, ángulo de avance de encendido, tiempo de 100 km aceleración), consumo de combustible, kilometraje, aviso de   poco combustible, fallo del motor, etc.

Esta pantalla se conecta al ODB 2  mediante  un cable especial que en un extremo cuenta con mini-usb ( para conectar al HUD)  y por otro un conector ODBII  para conectar al vehículo.Por cierto ,este cable suele ser muy fino para que pase desapercibido,por lo que  debe tenerse cuidado con este,  pues puede partirse fácilmente si hacemos mucha presión sobre el para disimularlo.

Aunque  podamos ver este  HUD    bajo diferentes marcas   y acabados , en realidad casi todos  se basan en el mismo modelo , con ligeras variaciones lo cual se traduce en diferentes calidades  o precios, pero todos pueden adaptarse automáticamente al tipo de vehículo que está en línea con OBDII o EUOBD (Sistema de diagnóstico a bordo).

La información ofrecida por    este  HUD  es mucho mas rica que la mostrada por otros modelos pues es concreto es la siguinte:

  • Velocidad en km/h
  • Revoluciones por minuto del motor
  • Consumo de combustible
  • Tiempo en marcha
  • Temperatura del radiador
  • Indicador del numero de  marcha engranada
  • Avisos de fallos del motor
  • Tensión de la batería
  • Presiones del sistema de admisión
  • Recordatorio de descanso
  • Tiempo de aceleración en 100 km
  • Alarmas , etc

El modo  de visualización puede ser seleccionado  por el propio conductor  , el cual puede elegir el modo de visualización normal, alta velocidad modo de visualización y modo de visualización automática.

Mediante la función de visualización se pueden mostrar : Velocidad de conducción, velocidad del motor(RPM)  , temperatura del agua, voltaje de la batería, consumo de combustible, conmutación libre entre kilómetro y milla, conmutación libre entre C y F.

En cuanto las alarmas  cuenta con las siguientes:  Alarma de sobrevelocidad, alarma de alta temperatura, alarma de baja tensión, alarma de falla del motor y posibilidad de  eliminación del código de fallo, etc

Una peculiaridad  necesaria   es tenerlo configurado por defecto en   Km y no en  millas, función que viene configurada  normalmente en Europa (como otros parámetros  similares)

Es interesante destacar que estos modelos deben incluir  algún mecanismo para  apagarse automáticamente   y por supuesto  iniciarse   cuando el vehículo se ha arrancado (es  decir AUTO ENCENDIDO / APAGADO) , apagándose pues  cuando  el vehículo se  haya detenido  para proteger la batería del vehículo.

Por otra parte, aunque debería manipularse  lo mínimo posible , se pueden cambiar  las funciones  con una sola  mano para controlar el HUD, aunque no hace falta decir que debería hacerse con el vehículo parado.

Asimismo,  buscando la máxima comodidad  es muy útil el  modo de ajuste automático  del brillo de la pantalla  , aunque también en casi  todos los HUID  , este ajuste  se puede ajustar manualmente.

 

Es muy importe destacar  que este tipo de dispositivos están  disponibles para coches con una interfaz OBD2 / EUOBD .(No son compatible con Blade Electric Vehicle)  ,y como vamos a  ver ,  son  muy fáciles de instalar , tanto es asi  que podríamos decir que es “plug and play”.

 

Instalación del HUD

  • Antes de nada casi todos los vehículos modernos cuentan  con una interfaz OBD2 / EUOBD.  Para conocer si su  vehículo  lo es  puede abrir el capó del motor y debería encontrar una pegatina, si la etiqueta tiene la letra “OBDII CERTIFIED”, significa que puede instalar el HUD.   No obstante , aunque el vehículo no cuente con esta pegatina, lo normal es que si es un vehículo del 2010  en adelante , esta característica la soporte. 
ond2.PNG
  • Para verificar el conector de diagnóstico del vehículo debajo del volante, puede encontrar toma de 16 pins del vehículo.
figura2 IMG_20180120_162125[1].jpg
Una vez localizado  conecte el extremo del cable  suministrado en el conector del vehiculos
IMG_20180120_162216[1].jpg
  • Haga pasar el cable por el borde de la puerta
IMG_20180120_162249[1].jpg
  • Ahora bordee  el parabrisas  con  el cable hasta llegar a su la posición  donde coloque  el  aparato
IMG_20180120_162352[1].jpg
  • Ahora ya conducido el cable  debe poner el circular antideslizante en posición plana delante sobre el  HUD  .Puede ajustar  ángulo del  HUD de modo qeu la imagen  reflejada en el parabrisas este  nivelada.
IMG_20180120_163331[1].jpg
  •  Pegar OPCIONALMENTE  la película reflectante sobre el parabrisas . Algunos consejos para pegar la película antirreflectante:
         – Puede rociar uniformemente agua sobre el parabrisas.
          -Rasgue la capa protectora de la película y rocíe un poco de agua para ambos lados, luego pégalo en el lugar que quiera.
          -Nivelar el agua debajo de la película con un objeto liso hasta que no haya agua
    y burbuja dentro.
         -Cuando el agua se evapore, puede limpiar el agua y el polvo alrededor del
    película.
IMG_20180120_165205[1].jpg
  •  Para probar el dispositivo , debe encender el host de HUD y debería ver el
    voltaje de la batería del vehículo, y luego entrará  en el estado de investigación de
    la versión del ordenador de a bordo del vehículo reconociendo este con un pitido indicando con esto de que esta listo. 
  • Después de estos simples pasos podemos decir que HUD está instalado exitosamente.                                                                                                                                      

 

Por favor, revise las reglas y regulaciones locales para el uso de este  tipo de dispositivos en  carretera   verificando que las regulaciones locales  autorizan  este tipo de instalaciones y es conforme  que  la posición del indicador esté dentro de distancias fijas del tablero para algunas ubicaciones.

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