Android Auto con una Raspberry Pi


Android Auto, es un sistema que usa un hardware especifico  diseñado para poder utilizar algunas funciones de nuestros móviles mientras conducimos, como ver mensajes, cambiar de canción, recibir instrucciones para el GPS, hacer llamadas, etc. Hasta ahora era necesario que el coche fuera de los más nuevos e incorporara el sistema o incorporar una cara pantalla que lo incluya, pero gracias a Raspberry Pi ya no es necesario ¿le  interesa como lograrlo, pues siga leyendo porque la verdad es que no puede ser mas sencillo .

 

 

En efecto , en 2015, Google presentó Android Auto , un sistema que permite a los usuarios proyectar ciertas aplicaciones desde sus teléfonos inteligentes Android en la pantalla de información y entretenimiento de un automóvil. La interfaz amigable para el conductor de Android, con botones táctiles y comandos de voz más grandes, tiene como objetivo hacer que sea más fácil y seguro para los conductores controlar la navegación, la música, los podcasts, la radio, las llamadas telefónicas y más, mientras mantiene la vista en la carretera. Android Auto también se puede ejecutar como una aplicación en un teléfono inteligente Android, lo que permite a los propietarios de vehículos de modelos más antiguos sin pantallas de unidades principales para aprovechar estas características.

 

Si bien hay muchas aplicaciones disponibles para Android Auto, los desarrolladores están trabajando para ampliar  su catálogo.De hecho una nueva herramienta de código abierto llamada OpenAuto espera facilitarlo al ofrecer a los desarrolladores  como una forma de emular Android Auto en una Raspberry Pi 

 Con OpenAuto, los desarrolladores pueden probar sus aplicaciones en condiciones similares a las de cómo trabajarán en una unidad de cabeza de automóvil real ,  pero ademas ,  como puede imaginarse también sirve para implementar Android Auto en un vehículo convencional  que no contara  con esta facilidad .

Las funciones implementadas a día de hoy en Android Auto son:

  • Vídeo a 480p, 720p y 1080p a 30 o 60 fps
  • Decodificación hardware de vídeo en la Raspberry Pi 3 (hasta [email protected])
  • Reproducción de audio de todos los canales (multimedia, sistema y voz)
  • Entrada de audio para comandos de voz
  • Touchscreen y botones
  • Bluetooth
  • Inicio automático tras conectar el dispositivo
  • User-friendly

Además de la   Raspberry Pi 3 y un dispositivo Android  con la app de Android Auto instalada, se necesita:

  • Microfono USB : la Raspberry Pi 3 no tiene una entrada de micrófono, que se requiere para usar el Asistente de voz de Google ( si no se instala no se podrán dar ordenes vocales)
  • Dispositivo de salida de video: puede usar una pantalla táctil o cualquier otro dispositivo de salida de video conectado a HDMI o salida compuesta (RCA)
  • Dispositivo de entrada: por ejemplo, una pantalla táctil o un teclado USB

 

OpenAuto

OpenAuto es un emulador para la unidad principal de Android Auto.Emula el software de la unidad principal y le permite usar Android Auto en su PC o en cualquier otra plataforma integrada como Raspberry Pi 3.

El software de la unidad principal es una interfaz para la proyección automática de Android. Toda la magia relacionada con Android Auto, como la navegación, el Asistente de voz de Google o la reproducción de música, se realiza en el dispositivo Android.

 La proyección de Android Auto en la unidad principal se realiza utilizando el códec H.264 para video y el códec PCM para la transmisión de audio. Esto es lo que hace principalmente el software de la unidad principal: descodifica la transmisión de video H.264 y las transmisiones de audio PCM y las reproduce de manera conjunta. Otra función de la unidad principal es proporcionar entradas de usuario pues OpenAuto admite eventos táctiles y teclas duras.

Para una implementación exitosa, se necesita implementar el soporte de aceleración de hardware de video usando la GPU Raspberry Pi 3 (VideoCore 4).Gracias a esto, la proyección automática de Android en la  Raspberry Pi 3 puede manejarse incluso con una resolución de 1080p a 60 fps. Se pueden usar las bibliotecas cliente OpenMAX IL e IL entregadas junto con el firmware Raspberry Pi para implementar la aceleración de hardware de video.

Aprovechando el hecho de que el sistema operativo Raspberry Pi es Raspbian basado en Debian Linux, OpenAuto también puede construirse para cualquier otra plataforma basada en Linux que brinde soporte para la decodificación de video por hardware. La mayoría de las plataformas basadas en Linux proporcionan soporte para decodificación de video por hardware directamente en GStreamer. Gracias a las bibliotecas altamente portátiles como Boost y Qt , OpenAuto se puede construir y ejecutar en la plataforma Windows. 

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 en la que se han basado para iniciar el proyecto se le conecta una pantalla táctil (480p, 720p o 1080p) que es recomendable para la interacción con el sistema. Completar el proceso es relativamente sencillo, y tanto el código fuente (en GitHub) como las instrucciones de instalación están disponibles públicamente.

El proyecto, desarrollado por Michal Szwaj, plantea por ahora un sistema en el que es posible controlar la reproducción multimedia —el soporte Bluetooth es protagonista—, o acceder a los mapas de Google, por ejemplo. De momento no se ofrecen funciones como la navegación GPS, pero la versatilidad de la Raspberry Pi hace que esa opción no parezca difícil de implementar.

El proyecto de hecho no solo está disponible para la Raspberry Pi, sino también para sistemas Linux y Windows, y su licencia GPLv3 invita a cualquiera a investigar y contribuir a una iniciativa que una vez más demuestra la versatilidad de la Raspberry Pi.

Componentes de Open Auto

El núcleo de OpenAuto es la biblioteca aasdk , que proporciona soporte para todas las funciones de Android Auto. La biblioteca aasdk está construida sobre las bibliotecas Boost, libusb y OpenSSL. libusb implementa la comunicación entre la unidad principal y un dispositivo Android (a través del bus USB). Boost proporciona soporte para los mecanismos asíncronos de comunicación. Es necesario para la alta eficiencia y escalabilidad del software de la unidad principal. OpenSSL se utiliza para cifrar la comunicación.

La biblioteca aasdk está diseñada para ser completamente reutilizable para cualquier propósito relacionado con la implementación del software de la unidad principal. Puede usarlo para crear su propio software de unidad principal para su plataforma deseada.

Otra biblioteca muy importante utilizada en OpenAuto es Qt. Proporciona soporte para multimedia, entrada de usuario e interfaz gráfica de OpenAuto. Y el sistema de compilación que está utilizando OpenAuto es CMake .

 El protocolo de Android Auto se toma de otro gran proyecto de unidad principal de Android Auto llamado HeadUnit . Las personas que trabajan en este proyecto hicieron un trabajo increíble en la ingeniería inversa del protocolo AndroidAuto y crearon los buffers de protocolo que estructuran todos los mensajes.

Para instalar Android Auto paso a paso podemos seguir los siguientes pasos :

  1. Construir aasdk 

    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=Release ../aasdk

      1. Construir aasdk

      $ make

  2. Instalar el software necesario

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

  1. Construir ilclient desde el  firmware de la Raspberry

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

$ make

  1. Clonar repositorio de Open

$ 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. Si es necesario, ajustar trazados por consiguiente a su localización de directorios aasdk y aasdk_build.

$ cmake-DCMAKE_BUILD_TYPE = liberación-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 = “usual PI/AASDK/lib/libaasdk_proto.so”… /openauto

  1. Construir Open

$ make

  1. Ejecutar Open

$ /home/pi/openauto/bin/autoapp

 

Puede seguir todos los pasos anteriores  o bien seguir el instalador  creado por novaspirit , el cual hace todo el proceso automáticamente:

  1.  Descargar el script de instalación desde el  github de novaspirit                                       $ git clone https://github.com/novaspirit/androidauto_rpi_install 
  2. Ahora necesitamos cambiar a ese directorio                                                                         $ cd androidauto_rpi_install 
  3. Para ejecutar el script install.sh necesitamos cambiar los permisos para permitir que se ejecute.                                                                                                                         $ chmod +x install.sh 
  4. Ahora podemos instalar Android Auto                                                                                  $ ./install.sh 

Este proceso puede tardar casi media hora pero ojo porque nos informara en primer lugar que ha instalado las dependencias  y tendremos que pulsar  intro par seguir 

Asimismo al rato nos informara que esta clonando y construyendo el SDK  de Androd Auto

Acto seguido nos informara de que esta construyendo el firmware de ilclient

Seguidamente ya se empezará a clonar y construir la imagen de OpenAuto 

 Si en este punto aborta con  un error es muy posible  que haya ocurrido en el transcurso de la compilación de OpenAuto

Puede realizar los pasos finales del script de modo manual sin la  opción del parametro -j4, es decir:

$make 

Y ahora habilitamos  OpenAuto en el arranque :

$echo “sudo /home/pi/openauto/bin/autoapp” >> /home/pi/.config/lxsession/LXDE-pi/autostart

Y con esto arrancamos OpenAuto

$whiptail –title “OpenAuto RPi” –msgbox “Strating OpenAuto” 8 78

$/home/pi/openauto/bin/autoapp

 

Después de esta larga espera, ya estará  lista la instalación  para conectar su teléfono a su Raspberry Pi.

Si ha  conseguido llegar a este punto  de la pantalla anterior , ya esta en condiciones de probar la funcionalidad de Android Auto para lo cual puede conectar por USB  un smartphone  Android  con la app instalada de Android Auto  a uno de los conectores USB de la Raspberry Pi

En seguida debería reconocer  el terminal que esta intentando conectar con la Raspberry, y en unos segundos ya debería cambiar la pantalla en la Raspberry pi por  el menu de Android Auto desde el cual podra acceder a Google Map, ver las llamadas o los mensajes  y reproducir su musica favorito a traves del interfaz tacil de su Raspberry Pi

 

OpenAuto está licenciado bajo GPLv3.Para obtener más información, visite la página GitHub del proyecto , donde puede encontrar su código fuente y mas información.

Crankshaft

Y es que en lugar de tener que gastar una fortuna  en una pantalla para el coche que incluya Android Auto de marcas como Pioneer o Sony, se  puede hacer lo mismo  gracias a una distribución de GNU/Linux llamada Crankshaft.

Solo necesitaremos la Raspberry Pi con la pantalla tactil instalada e instalar la imagen de Crankshaft y por supuesto encontrarle un hueco en el salpicadero de nuestro coche(su creador recomienda que compremos la pantalla oficial y una carcasa)

Huan Truong   se decidió a crear este proyecto cuando buscaba incorporar un sistema Android Auto en su viejo coche. Vio que había una alternativa llamada OpenAuto que recientemente fue lanzada de manera pública tal y como hemos visto , pero esta opción le parecía  más compleja porque requería compilarla y añadir una serie de configuraciones para hacerla funcionar. Por ello, se lanzó a hacerlo todavía más sencillo.

Crankshaft se puede descargar en la página web oficial. Troung recuerda que el proyecto se encuentra en versión alpha y no se responsabiliza de ningún problema que pueda surgir durante su utilización, ya que es un hobby y no una versión estable desarrollada por Google. Por tanto, tened mucho cuidado si lo utilizáis y dependéis de él.

Al estar todavía en fase experimental, le faltan bastantes funcionalidades. Por ejemplo, no cuenta con implementación para micrófono, por lo que el control por voz mediante Ok Google no funciona. Tampoco tiene Bluetooth, por lo que es necesario conectar el móvil mediante USB para poder usarlo con el sistema (Truong afirma que quiere incluirlo más adelante, aunque no tiene prisa). El listado de móviles compatibles incluye prácticamente todos los recientes, y puede comprobar el listado de usuarios que afirma que funciona con su móvil en la página de GitHub.

 

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.

Error 400 en Google translate


En este breve post vamos a ver un típico error que puede  ocurrir de forma sistemática con el uso del servicio de traducción de Google : el   Error 400 obtenido  al intentar traducir una pagina desde el popular servicio del traductor de Google (https://translate.google.com/)

El aspecto del error es muy escueto, tal  como podemos ver  en la imagen de mas abajo , y la verdad es que  no da demasiadas   pistas de su origen y obviamente de su solución:

 

error de google

La traducción seria la siguiente

400. Eso en en error .

Su cliente ha emitido una solicitud con formato incorrecto o ilegal. Eso es todo lo que sabemos.

Por  extraño que pueda parecer no es un problema puntual de servidores  de Google , ni de red ,  ni tampoco generalizado  y en  efecto  como vamos   a  ver, no  se debe  a un mal funcionamiento  del sistema operativo,   sino   mas bien inherente  al  propio navegador ( en este caso Google Chrome) , para  lo cual antes de continuar, es importante que compruebe si desde otro navegador ,idealmente Microsoft Edge  funciona . Abstenerse de probar con  Firefox pus precisamente también con este puede presentar un problema similar

Lo normal es que precisamente desde el navegador  Microsoft Edge accediendo a la pagina de Google Translate  no ocurra lo mismo , lo cual confirmara que el error se debe a  la configuración del navegador Chrome  y por lo tanto, necesitara realizar un limpieza profunda en Chrome para deshacerse de este problema.

Un primer paso para intentar solucionar el problema es eliminar la cookies para lo cual siga estos pasos:

  1.  Lanze el navegador Chrome de su PC y escriba lo siguiente en la barra de direcciones.
    Chrome://Settings/siteData
  2. Pulsar “Eliminar Todos” .                                                                                                                                        borrar_datos.PNG
  3. Ahora cierre el navegador Google Chrome y vuelva a probar a traducir cualquier pagina desde Google Translate

 

Si con esta medida  ha solucionado el problema !enhorabuena!   y no tiene  que investigar mas. Si no lo  ha solucionado lamentablemente con esa medida,   toca dirigirse a una medida mas drástica de restablecimiento de Chrome , para lo cual  siga los siguientes pasos:

  1.  Haga clic en los puntos del parte superior   , situados al lado de la barra de direcciones  a la derecha  después de abrir el navegador Chrome.
  2. Ir  Configuración y haga clic en él.
  3. Al abrir una nueva pestaña, desplazese hacia abajo y haga clic en avanzado y la página se  expandirá hacia abajo con más opciones.
  4. Hacer scroll hasta abajo del todo
  5. Nos interesa la ultima opción  Recuperar ajustes y borrar
  6. Clicar en Restablecer                                                                                                                                                            
  7. Tenga en cuenta los cambios que se producen al recuperar la configuración pues se recuperan los valores predeterminados de las opciones de configuración que se indican a continuación:
    • El motor de búsqueda predeterminado, que vuelve a ser Google.
    • La página principal y las pestañas.
    • La página Nueva pestaña.
    • Las pestañas que haya fijado. 
    • La configuración de contenido, como permitir que un sitio web muestre ventanas emergentes o utilice tu micrófono.
    • Cookies y datos de sitios web, como artículos de un carrito de compra online.
    • Extensiones y temas

    Solo se recupera la configuración del perfil de Chrome en el que haya iniciado sesión. La nueva configuración se aplica en todos los ordenadores o dispositivos en los que haya iniciado sesión en su perfil activo.

  8. Si esta de acuerdo con lo anterior pulse RESTABLECER
  9. Tras unos minutos puede volver a probar  a traducir cualquier pagina desde Google Translate: ahora ya si debería de volver a funcionar

Como obtener las coordenadas GPS para el TomTom


Todos los que nos hemos visto obligados a usar un navegador  GPS  deltipo TOMTOM  , (el cual por suerte  casi la mayoría de  los coches  lo incorporan de serie )  ,  para dirigirnos a un  lugar que desconocíamos, nos hemos visto alguna vez en la tesitura de que ,bien porque no tenemos suficientemente actualizado las cartografía de nuestro navegador, o bien porque la dirección postal no existe , al no poder introducir esta de forma univoca  se pueden  generar errores tremendos  en cuanto al destino elegido, circunstancia que se ve agravada especialmente en los extraradios, en los polígonos industriales e incluso en las zonas zonas rurales.

 

 
Para solucionar precisamente esta falta de precisión al la hora de introducir un destino en el navegador la mayoría de los navegadores permite introducir éste forma de  en coordenadas geográficas que en el caso del Tomtom siempre deben venir expresadas en grados sesagesismales.

Desgraciadamente  no siempre es fácil encontrar este dato directamente, veamos como obtenerlo en dos simples pasos:

 

 

Obtener las coordenadas centesimales  de cualquier lugar  

Un grado centesimal lo compone cada una de las porciones que se consiguen al dividir el ángulo recto en 100 partes iguales .En el sistema centesimal , la circunferencia se divide en 400g , cada grado se divide en 100 minutos y cada minuto en 100 segundos . Los segundos se dividen a su vez en décimas , centésimas , milésimas .

Los grados centesimales se designan añadiendo el superíndice ” g ” a los grados ” , ” a los minutos y ” ,, ” a los segundos ,por ejemplo 12g 35´ 47´´, 08 = 12 grados , 35 minutos , 47,08 segundos

Bien , para obtener las coordenadas de cualquier sitio deberemos seguir los siguientes pasos:

  1. Abra Google Maps en el ordenador. Si utiliza el modo básico de Google Maps, verá un relámpago en la parte inferior y no podrá obtener las coordenadas de los sitios.
  2. Haga clic con el botón derecho en el sitio o en el área del mapa.
  3. Selecciona ¿Qué hay aquí?paradorcuenca.png
  4. En la parte inferior, verá una tarjeta con las coordenadas.target.png
  5. Anote  el valor  en grados centesimales  que aparece en la ventana inferior:, Es decir  en el ejemplo 40.079203, -2.125933

Convertir los grados sexagesimales  a centesimales

Grado sexagesimal consituye  cada una de las porciones que resulta de dividir el ángulo recto en 90 partes iguales .La circunferencia en total suma 360º , cada grado se divide en 60 minutos , y estos a su vez en 60 segundos , los segundos se dividen en décimas , centésimas , milésimas .

Los grados sexagesimales se designan poniendo ” o ” como superíndice a los grados ” , ” en los minutos y ” ,, ” en los segundos ,por ejemplo 32º 58´ 27´´ = 32 grados , 58 minutos , 27 segundos

Bien , para obtener las coordenadas sexagesimales  de cualquier sitio deberemos seguir los siguientes pasos:

  1. Vaya a https://www.coordenadas-gps.com/convertidor-de-coordenadas-gps 
  2. Introduzca las coordenas centesimales obtenidas en el paso anterior  en el apartado GD(grados decimales). Las del ejemplo seran 40.079203, -2.125933
  3. Es decir en el ejemplo introduciremos en Latitud 40.079203
  4. En el ejemplo  introduciremos  la Longitud  -2.125933  ( ojo  no olvidar el signo)
  5. Pulse el botón “Obtener Direccion
  6. Apunte los valores  marcados  como GMS  de latitud  y longitud , En el ejemplo:N 40° 4′ 45.131”O 2° 7′ 33.358”

conversion.png

En el navegador

Por ultimo a la hora de introducir estas coordenadas en el navegador TOMTOM ,  NO olvidemos introducir las coordenadas  con los símbolos de grados minutos y segundos (todos con comas ) y un detalle no menos importante  la latitud que normalmente si es positiva sera  Norte  que lo indicaremos por la letra  N a la derecha de las cifras  y la longitud que si es negativas sera  W ( de Oeste).

En el ejemplo , nos iremos en el  Tomtom –>Ir a –>Coordenadas GPS–>  y escibiremos N 40° 4′ 45.131”  y  luego  W 2° 7′ 33.358”.

 

Un navegador para Mac corriendo sobre windows


Safari es un navegador web de código cerrado desarrollado por Apple Inc estando disponible para macOS e iOS .

Coincidiendo con  el lanzamiento de Safari 3 se habilitó una versión para Microsoft Windows la cual ha estado siendo actualizada con las nuevas versiones del navegador  .Con el lanzamiento del panel de control de iCloud para Windows, la función de Safari en las computadoras de Apple, también fue incluida en la versión de Microsoft.En el 2012 Apple lanza la versión 6.0 de Safari solo para MacOS, dejando fuera a la versión de Windows como iultima versión con soporte  la version  5.1.7.

La compañía ha eliminado de su web toda referencia a la versión de Safari para el sistema operativo de Microsoft, dejando tan solo un enlace en la página de soporte a la última actualización lanzada en mayo (la 5.1.7) cuyo botón de descarga nos redirige a la página actualizada sin rastro de esta versión .

 

 

Hasta nuevo aviso, las únicas opciones para los usuarios de Windows que quieran descargar Safari es mediante este enlace directo al instalador o a través de las Nightly Builds de WebKit, pero ambas están ancladas en la versión 5.1.7.

Esta versión 5.1.7. destaca por ser el único navegador que no fue hackeado en la Pwn2Own, estando disponible en español para los sistemas operativos Windows XP, Windows Vista y Windows 7, tanto en sus versiones de 32 bits como de 64 bits, y cómo no, también para Mac OS X.

Safari 5 incorpora el veloz motor JavaScript Nitro, de forma que en sistemas Mac el navegador ejecuta JavaScript hasta un 30% más rápido que en Safari 4 y más del doble de rápido que Mozilla Firefox 3.6. Con todo, el navegador de Apple cuenta con más de 250 características.

En Safari 5.1.7 se corrigen tres vulnerabilidades de seguridad en Webkit, se mejora la respuesta del navegador cuando el sistema tiene poca memoria disponible y se corrige un problema que podía afectas a páginas web con formularios para autentificar usuarios. Además, en la versión para Mac OS X se corrige un problema que podía hacer que las páginas web dejaran de responder después de hacer un movimiento de zoom con los dedos, y además se deshabilitan las versiones de Adobe Flash Player que no incluyen las últimas actualizaciones de seguridad, y se ofrece la opción de conseguir la versión actual de la página web de Adobe.

 

 

Puede que el port de Safari para Windows nunca haya sido equiparable en velocidad y estabilidad al de Mac, pero al menos sí que disfruta de las mismas funciones como la lista de lectura para quienes tengan un iPad y un PC con Windows.

Otra  característica  que puede ser interesante para desarrolladores o  gestores de contenido   es probar el aspecto que tienen sus  creaciones de un modo a muy similar a como se verian en un Mac

 

 

Apple aún no se ha pronunciado oficialmente sobre asunto así que desconocemos si tienen intención de lanzar Safari 6 para Windows próximamente (quizás al estilo de Microsoft de hacer esperar a los usuarios de Mac dándole menos prioridad a sus versiones de Office para la plataforma de la manzana) o si han decidido poner fin al soporte de Windows para concentrar sus recursos ahora que WebKit es el estándar de facto gracias a Chrome para Windows y Safari Mobile para iOS entre otros.

Como instalar Android Car


Es raro hoy en día no viajar  sin un smartphone en el bolsillo  ,pues es la autentica navaja suiza pues ademas no solo podemos usarlos  para  llamar ,sino también para un sinfin de de funcionalidades,  incluso relacionadas como la mejora de la conducción

En este contexto aparece  Android  Auto  que aunque pueda venir instalado en algunos vehículos , lo cierto es que no es exclusivo de algunas marcas de coche pues si cuenta con un smartphone en Android también  puede tener esa funcionalidad incluso aunque  solo sea desde el propio terminal como vamos a ver en este post.

Android Auto actualmente en su ultima versión   es compatible con cualquier coche pues basta conectar su teléfono a una pantalla de coche compatible o colocando éste en una base y utilizando Android Auto directamente desde la pantalla del teléfono.

Cuenta con una interfaz sencilla  con  botones y textos grandes así como potentes acciones de voz, que  permite usar las aplicaciones del teléfono fácilmente mientras conduzca. Como no podía ser de otra manera, integra  Google Maps para la navegación  y Google Music para  escuchar listas de reproducción o podcasts de sus aplicaciones favoritas, pudiendo enviar mensajes por voz y mucho más.

androidauto

En caso de que  lo tenga ,para comprobar si la pantalla de su coche es compatible con Android Auto y obtener información sobre cómo habilitarlo  puede  consultar el manual del usuario o recomiendan ponerse en contacto con el fabricante del coche. Una vez habilitado, basta conectar el teléfono al coche con un cable USB de alta calidad para abrir Android Auto.

Algunas de las novedades que incorpora esta ultima versión NOVEDADES

    •  Diga “Ok Google” para dar comandos de voz sin necesidad de tocar la pantalla
    • Android Auto puede abrirse automáticamente en la pantalla del teléfono al conectarlo al Bluetooth del coche
    • Puede enviara un mensaje de respuesta personalizado con un solo toque
  • Permite explora sus listas de canciones más fácilmente con la nueva función para cambiar de letra

En cuanto a requerimientos , necesitara un teléfono con Android 5.0 o versiones posteriores (Lollipop, Marshmallow o Nougat) y una conexión de datos activa.Ademas como comentábamos  obliga a  actualizar o a instalar en caso de que no las tenga  algunas aplicaciones propias de Google , como son Google Maps, Google Play Música o la Búsqueda de Google.

Una vez que haya instalado el sw de Android Auto  también necesitara un soporte  para poderlo ver cómodamente sin que le quite visibilidad en el parabrisas. En ests sentido están surgiendo nuevas propuestas ademas de los típicos sujetos con ventosas o en las rejillas de ventilación , por ejemplo este Soporte Móvil  ,  tiene una importante novedad : se  sujeta exclusivamente en la ranura del portacd’s  del  autoradio clasico de coche ( normalmente y a en desuso puesto que podemos oor muestros temas favoritos  a traves del bluettoth conectado a nuestro smartohone mediante A2DP)  de modo que este nuevo diseño e s fácil de instalar y utilizar, por lo que no tiene que preocuparse por la ventosa se suelte en el salpicadero o el parabrisas, así que  la instalación no dañara  su vehículo al no llevar  ventosas, pinzas, tornillos, pegamento y etc.pues se asegura fácilmente a la parte inferior y los lados de su dispositivo con dos asideros laterales acolchados.

soporte

Por supuesto ademas cuenta con la rotación completa de 360 grados y la capacidad para poner el teléfono en modo horizontal, para poder e ver fácilmente cualquier cosa, y acceder a su teléfono desde cualquier lugar en el asiento delantero con este soporte para coche para su teléfono. Este modelo es un soporte universal siendo compatible con todo tipo de teléfonos inteligentes, incluyendo todos los dispositivos iPhone y Android. Con firmeza y seguridad monta smartphones, unidades de GPS, radios por satélite, reproductor de MP3 y otros dispositivos de hasta 5.5 pulgadas de tamaño de pantalla,etc.

Para consultar los problemas conocidos y obtener ayuda sobre el Android Auto puede encontrar mas información accediendo  a la página de AndroidAuto