Procedimientos y trucos sobre el manejo del Smart
Cómo poder descargar todas las aplicaciones directamente desde Google Play al Smart
Explicación cortesía de Runy.
Enlace al post original.
Como sabéis el Parrot no es 100% compatible con todas las aplicaciones, así que hay algunas que no se pueden descargar directamente desde el Market. Para solucionar ésto hay que hacerle creer al Market que nos conectamos desde otro aparato en lugar del Parrot. Cualquier modelo de teléfono moderno vale.
Para poder "engañar" al Market existe la aplicación
Market Helper. Hay que bajarla desde su web (es gratuita), ya que no está en el Market y la primera vez que la ejecutéis veréis que no funciona bien ;D
Es un problema con la resolución de la pantalla, para solucionarlo hay que bajarse cualquier programa de los que permiten rotar la pantalla, yo me he bajado éste:
Pantalla de Rotación
Lo ejecutáis, lo ponéis en modo Portrait y ejecutáis el Market Helper. Tal y como pone la web hay que seleccionar un modelo de dispositivo, yo he elegido el Galaxy S3.
Seleccionas tu cuenta de usuario y pulsas activar
Después hay que hacer un reset al Parrot y entrar desde el Parrot u otro aparato en
ésta web y ver como se ha actualizado tu información.
Escuchar las voces de algunas aplicaciones más alto con la música puesta
En algunas aplicaciones como TomTom o Google Navigator, las voces se regulan con el volumen multimedia, con lo que las instrucciones suenan demasiado bajo y hay que subir el volumen de la música demasiado para escuchar las voces a un volumen decente.
unlimited dijo:
Ésta sería una ecualización predeterminada:
http://i.imgur.com/rU5ZfOU.png
Pues la mantenemos más o menos la forma pero bajamos las barras abajo, de tal manera que la frecuencia con menor potencia, quede abajo del todo:
http://i.imgur.com/dcuklMa.png
La música sonará más baja, pero como la ecualización no afecta a las voces del TomTom, escuchando la música a un volumen normal, el resultado es que escucharemos las voces a un volumen más alto.
Formas de intercambiar archivos con el Asteroid Smart
Sin WiFi:
* Sacando la SD de la ranura (Proceso engorroso),
* Conectando un Pen Drive a uno de los puertos disponibles y utilizando un explorador de archivos root, como Root Explorer podemos transferir archivos de la SD al Pen Drive y viceversa. La ubicación exacta de las unidades externas se encuentra en la ruta "/tmp/udev/dev/.mnt" y pueden denominarse "sda1", "sda", "sdb1"....
http://i.imgur.com/4TfM3zl.png
* Con un teléfono android, al menos en un Samsung Galaxy S2, al conectarlo en modo almacenamiento masivo desde el Asteroid sólo podremos ver el almacenamiento interno del teléfono. Podremos intercambiar archivos, pero sólo si están en la memoria interna,
* Con un teléfono android y utilizando la aplicación
USB Mass Storage Enabler. Ésta aplicación "transforma" la SD del teléfono en un pen drive virtual. Al conectarlo a cualquiera de los puertos del Asteroid Smart habiendo activado el modo "UMS" de la aplicación, podremos ver la SD en el Smart y podremos intercambiar archivos.
* A través del puerto micro USB del Asteroid Smart (destinado a tareas de depuración y desarrollo). Al conectarlo al PC, en el Smart aparece la pantalla de conectar en modo almacenamiento masivo y podremos acceder a la tarjeta SD desde el PC,
* A través del puerto micro USB del Asteroid Smart (destinado a tareas de depuración y desarrollo). También podemos utilizar un cable de tipo OTG (USB Hembra a Micro USB) y conectar nuestro teléfono android. Igualmente podremos activar el modo de almacenamiento masivo en el Smart y podremos ver la SD en nuestro teléfono.
Con WiFi:
* Desde el Asteroid Smart podremos acceder a nuestra red de ordenadores a través de la aplicación ES Explorador de Archivos.
* Si ponemos en funcionamiento la aplicación Samba Filesharing for Android en el Parrot, desde nuestro ordenador podremos acceder al almacenamiento del Asteroid Smart.
Solución provisional al problema de la búsqueda de contactos mediante comando vocal
(Probablemente solucionado en la actualización de firmware 2.1.2)
unlimited dijo:
A veces le entra un ataque de epilepsia a nuestro cacharrín y aunque reconoce perfectamente el comando vocal para llamar a un contacto, no lo sabe buscar en la agenda...
Vamos a Ajustes / Aplicaciones / Todas y buscamos la aplicación "Información de los contactos"
http://i.imgur.com/uD5vAeT.png
Le damos a borrar datos, volvemos a sincronizar la agenda con el teléfono y al menos a mí me ha vuelto a funcionar a la primera.
Solución provisional al problema del interface de mandos de volante connects2 y la actualización del Smart 2.1.1
(Solucionado en la actualización de firmware 2.1.2)
Bueno, pues confirmo que el procedimiento que indican en Parrot Forum funciona perfectamente y que debió de ser lo que hice en su día "sin querer".
Funciona a la primera:
* Activamos los mandos externos,
* Cancelamos la actualización,
* Pulsamos en la tecla "Menú" y seleccionamos "Parámetros Avanzados"
* Buscamos la opción "Update Unika" y aceptamos,
* Esperamos a que falle la actualización,
* Volvemos a activar los mandos externos y vemos como ya no nos pide actualizar.
Comprobamos que la operación es correcta desactivando / activando los mandos de nuevo y comprobamos que no nos vuelve a pedir actualizar.
Hasta que saquen una nueva actualización es buena solución, ya digo que a mí me duró casi un mes.
Cómo crear vuestra propia bootanimation
Aquí lo tenéis bastante bien explicado, de todas formas os lo contaré a mi manera.
A continuación os indico la estructura del .ZIP:
desc.txt
part0
736_480_00001.png
736_480_00002.png
736_480_00003.png
736_480_00004.png
736_480_00005.png
736_480_00006.png
736_480_00007.png
736_480_00008.png
736_480_00009.png
736_480_00010.png
part1
736_480_00011.png
736_480_00012.png
736_480_00013.png
736_480_00014.png
736_480_00015.png
736_480_00016.png
736_480_00017.png
736_480_00018.png
736_480_00019.png
736_480_00020.png
En el archivo "desc.txt" indicaremos cómo queremos desarrollar la animación y los valores serán los siguientes:
736 480 15
p 1 10 part0
p 1 10 part1
p 1 0 part2
p 0 0 part3
Significado de cada valor
Línea 1:
736: Es el ancho de la pantalla restando la columna de botones de la izquierda. El valor está expresado en pixel. El Smart tiene una resolución total de 800x480 pixel.
480: Es la altura de la pantalla.
15: los FPS (imágenes por segundo) que queramos para la animación.
Línea 2:
p: Define una parte de la animación
1: Cuantas veces debe repetirse la animación de esta parte (0 significa indefinidamente hasta que se cargue Android),
10: Define una pausa. El valor está expresado en milisegundos. Los valores posibles son de 0 a 10,
part0: Es el nombre de la carpeta donde se encuentran las imágenes de la primera parte de la animación.
Línea 3:
p: Define otra parte de la animación
1: Cuantas veces debe repetirse la animación de esta parte (0 significa indefinidamente hasta que se cargue Android),
10: Define una pausa. El valor está expresado en milisegundos. Los valores posibles son de 0 a 10,
part1: Es el nombre de la carpeta donde se encuentran las imágenes de la segunda parte de la animación.
En las líneas sucesivas iremos indicando los parámetros para las siguientes carpetas que compongan la animación.
Los archivos .PNG
La resolución debe de ser la misma que la expresada en la primera línea del archivo de texto "desc.txt".
El nombrado hay que realizarlo de la siguiente manera: 736_480_00001.png, 736_480_00002.png... etc, así que en la animación se nos mostrará primero la imagen cuya terminación es 01, seguido de la 02.... Es importante respetar el incremento de la numeración aunque se cambie de carpeta.
Las carpetas
Conforman cada una de las partes de la animación, las cuales podemos adaptar a nuestro gusto a través de los valores del archivo "desc.txt"
El nombrado hay que realizarlo de la siguiente manera: part0, part1, part2... etc y vamos incrementando en una unidad. El número de carpetas depende de las escenas que queramos añadir a la animación.
¿Cómo crear el archivo .ZIP?
Debemos utilizar un compresor que nos de la opción de crear un .ZIP
sin compresión. Yo he utilizado WinRAR.
¿Dónde colocamos nuestra animación personalizada?
Trabajaremos en la ruta "/system/media", que es donde se encuentra el bootanimation.zip original. Debéis emplear un explorador root y activar los permisos de R/W para dicho directorio. Os recomiendo que renombréis el bootanimation.zip original para no perderlo.
Ejemplos
http://youtu.be/e-UDPcs2KQY
Enlace de descarga
Éste boot es igual que el gif, sólo que cuando llega a la parte del engranaje, se queda girando hasta que completa la carga del parrot:
Enlace de descarga
Enlace de descarga
Mejorar la calidad del enlace WiFi
unlimited dijo:
Un consejo: Cuando utilicéis el WiFi en el Smart, apagad el Bluethoot. Notaréis como la conexión WiFi va mucho mejor. Ésto es porque el Bluethoot y el WiFi trabajan en la frecuencia de los 2,4 GHz y pueden crearse interferencias entre ellos.
Formato de video óptimo para reproducir en el Smart
unlimited dijo:
Por cierto, para aquellos a los que les de problemas el reproductor de vídeo (con algunos formatos/resoluciones puede ir a trompicones), en XDA Developers comentan que el programa "Handbrake" es bastante bueno para cambiar el formato de los vídeos a otro óptimo para el Smart:
Enlace a la web de HandBrake
Yo la verdad es que no soy de ver vídeos en el coche, pero hay a quien ésto le pueda interesar...
Remapear los mandos del volante
Primero os contaré lo que he hecho para entender cómo funciona el tema y después un modo para que hagáis los mapeos que queráis en menos de 10 minutos.
¿Qué es necesario?
* Tener el Smart rooteado,
* Un
Terminal emulator
* La aplicación
KeyTest
* Un explorador root como
Root Explorer
Lo primero que vamos a hacer es instalar la aplicación KeyTest. El objetivo de la aplicación es conocer el scancode de cada botón. Sólo es ir pulsando cada tecla de los mandos del volante y la aplicación nos devuelve una información que debemos de anotar.
Repito, lo que a nosotros nos interesa es el valor
SCANCODE. La captura de pantalla anterior no es mía.
RECUERDO QUE TENGO UN BRERA CON UN INTERFACE CONNECTS2
A mí los valores que me dieron fueron los siguientes. Éstos valores pueden ser perfectamente diferentes en el Unika, con lo que debéis aseguraros antes de hacer un Copy/Paste:
Insertar CODE, HTML o PHP:
Tecla física Scancode Función pre-asignada
-----------------------------------------------------------
(Teléfono) 5 CALL
(Vol+) 24 VOLUME_UP
(Comando Vocal) 6 ENDCALL
(Vol-) 25 VOLUME_DOWN
(Mute) 85 MEDIA_PLAY_PAUSE
-----------------------------------------------------------
(<<) 88 MEDIA_PREVIOUS
(UP) 66 DPAD_CENTER
(>>) 87 MEDIA_NEXT
(DOWN) 4 BACK
(SRC) 6 ENDCALL
-----------------------------------------------------------
Podemos ver que mi caso el botón (Comando Vocal) y (SRC) dan exactamente el mismo código de scancode, el 6. Ésto quiere decir, que lamentablemente tendré 2 teclas con una misma función.
Un inciso:
Os juro que hasta hace 3 días pensaba que la función de las teclas (Comando Vocal) y (SRC) era la de "HOME", porque al pulsarlas siempre se vuelve al "escritorio", pero nada más lejos de la realidad, mientras que la acción "HOME" te lleva al "escritorio
home o principal", la acción "ENDCALL" te lleva simplemente al "escritorio", pero no necesariamente el principal, si no el último en el que hayas estado. De lo que no tenía ni la más remota idea era que tenía la opción de colgar una llamada desde los mandos del volante desde el principio, y es que he averiguado que en el trascurso de la llamada, si vuelvo a pulsar la tecla (Teléfono), no se cuelga la llamada ni se mutea como yo pensaba, sino que se transfiere al teléfono. Las teclas que
colgaban el puñetero teléfono (y sí,
además te llevan al escritorio), son las de (Comando Vocal) y (SRC).
Como todo es hacerse y me ha sido grato descubrir ésta doble funcionalidad, éstas 2 teclas las he mantenido con la misma función pre-asignada.
Una vez hemos anotado los scancodes de los botones abrimos el Terminal emulator en el Smart e introducimos lo siguiente:
Insertar CODE, HTML o PHP:
cat /proc/bus/input/devices
Ésto lo que hace es mostrarnos todos los teclados disponibles que dispone el Smart. El terminal emulator nos devuelve lo siguiente:
I: Bus=0003 Vendor=19cf Product=b00b Version=0001
N: Name="Rnb4_KBD"
P: Phys=
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=kbd event0
B: EV=3
B: KEY=30000 0 0 0 0 1a40004 0 40001f8
I: Bus=0003 Vendor=19cf Product=beef Version=0001
N: Name="MultiCC_KBD"
P: Phys=
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=kbd event1
B: EV=3
B: KEY=30000 0 0 0 0 1a40004 0 3180078
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="Atmel maXTouch Touchscreen"
P: Phys=
S: Sysfs=/devices/platform/i2c_omap.3/i2c-3/3-004a/input/input2
U: Uniq=
H: Handlers=event2
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=4610000 1000003
I: Bus=0003 Vendor=19cf Product=b00b Version=0001
N: Name="parrotVTK"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=kbd event3
B: EV=b
B: KEY=400 0 10004 0 0 0 0 0 0 0 7ffe
B: ABS=610000 1000003
Vendor es el fabricante, detrás del signo "=" viene su código,
Product es el producto, detrás del signo "=" viene su código,
Name es el nombre del teclado.
Los mapeos de los diferentes teclados se encuentran en
/system/usr/keylayout/
Así que vamos allí con el Root Explorer, habilitamos los permisos de lectura/escritura para el directorio y nos encontramos con los siguientes mapeos o archivos .kl
AVRCP.kl
MultiCC_KBD.kl
parrotVTK.kl
qwerty.kl
Rnb4_KBD.kl
samos_kbd.kl
¿Cuál es el .kl donde se encuentra el mapeo de los botones del volante?
El vendor de código 19cf se corresponde al fabricante Parrot, (daros una vuelta por internet para averiguarlo como hice yo)

, con lo que nos quedamos con MultiCC_KBD.kl y Rnb4_KBD.kl, que ambos tienen el mismo código de fabricante y producto y descartamos los demás.
Ahora los abrimos en un editor de texto, que vale el del propio Root Explorer o el bloc de notas del PC por ejemplo.
MultiCC_KBD.kl
Insertar CODE, HTML o PHP:
key 3 HOME WAKE
key 4 BACK WAKE
key 5 CALL WAKE
key 6 ENDCALL WAKE
key 66 DPAD_CENTER WAKE
key 82 MENU WAKE
key 85 MEDIA_PLAY_PAUSE WAKE
key 87 MEDIA_NEXT WAKE
key 88 MEDIA_PREVIOUS WAKE
key 240 SOURCE WAKE
key 241 MEDIA_RECO WAKE
key 19 DPAD_UP WAKE
key 20 DPAD_DOWN WAKE
key 24 VOLUME_UP WAKE
key 25 VOLUME_DOWN WAKE
Rnb4_KBD.kl
Insertar CODE, HTML o PHP:
key 3 HOME WAKE
key 4 BACK WAKE
key 5 CALL WAKE
key 6 ENDCALL WAKE
key 7 VOLUME_UP WAKE
key 8 VOLUME_DOWN WAKE
key 26 POWER WAKE
key 65 DPAD_UP WAKE
key 66 DPAD_CENTER WAKE
key 67 DPAD_DOWN WAKE
key 82 MENU WAKE
key 85 MEDIA_PLAY_PAUSE WAKE
key 87 MEDIA_NEXT WAKE
key 88 MEDIA_PREVIOUS WAKE
key 240 SOURCE WAKE
key 241 MEDIA_RECO WAKE
El número que sigue al texto "key" es en realidad el scancode y después viene la función pre-asignadas seguida de un "WAKE".
Cotejamos con los scancodes que anotamos al principio y nos damos cuenta de que todos cuadran salvo "VOLUME_UP" y "VOLUME_DOWN" de Rnb4_KBD.kl, con lo que
MultiCC_KBD.kl es el archivo que YO BUSCO
Hasta dar con el archivo, fui investigando un poco y he descubierto que el resto de archivos corresponden a los siguientes teclados:
* AVRCP (Teclado Bluetooth)
* MultiCC_KBD (Referencia Parrot: Teclado del volante)
* parrotVTK (Los botones virtuales de la izquierda de la pantalla)
* qwerty (Teclado Genérico)
* Rnb4_KBD (Referencia Parrot: No cuadran los VOL+/- en el Connects2 ¿?)
* samos_kbd (Otro ¿?)
Por internet leí un método de agregar un teclado de forma guay, para ello se toma un "Generic.kl" que suelen llevar los android en la ruta /system/usr/keylayout/, se copia, se pega y se renombra de la siguiente manera Vendor_<código vendor>_Product_<código product>.kl. Los códigos los cogemos del teclado en el que estamos interesados. Luego se abre y se modifican los parámetos a nuestro gusto. El sistema Android toma como prioritarios los archivos .kl con ésta nomenclatura antes que cualquier otro.
Como no tenemos el "Generic.kl", yo cogí el MultiCC_KBD.kl y lo renombré a "Vendor_19cf_Product_beef.kl", después hice los cambios que me parecieron, pero no me ha funcionado, así que he desestimado éste método y he hecho una copia de seguridad del MultiCC_KBD.kl original, copiándolo, pegándolo y editándolo.
El único cambio que he realizado es el de la tecla (UP) -key 66- y ha quedado de la siguiente manera:
Insertar CODE, HTML o PHP:
key 3 HOME WAKE
key 4 BACK WAKE
key 5 CALL WAKE
key 6 ENDCALL WAKE
key 240 DPAD_CENTER WAKE
key 82 MENU WAKE
key 85 MEDIA_PLAY_PAUSE WAKE
key 87 MEDIA_NEXT WAKE
key 88 MEDIA_PREVIOUS WAKE
key 66 SOURCE WAKE
key 241 MEDIA_RECO WAKE
key 19 DPAD_UP WAKE
key 20 DPAD_DOWN WAKE
key 24 VOLUME_UP WAKE
key 25 VOLUME_DOWN WAKE
Con lo que ahora en la tecla (UP) tengo la función SRC, que es súper útil para moverte por las fuentes de audio. La función que tenía antes, DPAD_CENTER, es como un "enter" cuando estás navegando por iconos en modo "pad", pero no le encuentro utilidad alguna en los mandos del volante, así que lo he puesto en donde estaba el SOURCE pre-asignado anteriormente -key 240- (fuera de uso en mi caso).
IMPORTANTÍSIMO
Si editamos el .kl fuera de la memoria interna, copiado en la tarjeta SD, en la memoria USB o en el PC, cuando lo volvamos a meter a /system/usr/keylayout/ tenemos que cambiar los permisos del archivo y dejarlos de la siguiente manera: "Dueño-->Read/Write - Grupo-->Read - Otros-->Read"
Si no los dejamos así, no va a funcionar. No veáis el quebradero de cabeza que me ha dado éste detalle.
Después de todo ésto, a reiniciar y a funcionar.
Método Resumido para hacerlo en 10 minutos:
¿Qué es necesario?
* Tener el Smart rooteado,
* La aplicación
KeyTest
* Un explorador root como
Root Explorer
1º Instaláis el KeyTest, lo abrís y tomáis nota de los scancodes. (Sólo hay que hacerlo la primera vez).
2º Con Root Explorer vais a /system/usr/keylayout/, habilitáis los permisos de lectura/escritura en el directorio, hacéis backup de "MultiCC_KBD.kl", lo abrís y modificáis las acciones como más os guste en un editor de texto. Lo guardáis y modificáis los permisos del archivo a "Dueño-->Read/Write - Grupo-->Read - Otros-->Read" en caso de que se hayan modificado involuntariamente (que lo hacen al sacar el archivo de la memoria interna).
3º Reiniciáis el Smart.
Por último indicaros que debéis hacer un backup del archivo modificado a vuestro gusto, puesto que en cada actualización de firmware será sustituido por el de serie.
Solución parcial al problema de modificar el volumen con las teclas del volante en el TomTom mediante el método de remapeao de teclas + Xposed Additions
Como en el TomTom el
BACK no sirve para nada, puesto que nos saldrá la confirmación para cerrar el programa, le he cambiado la función
BACK de la tecla con scancode 4 (la de DOWN) por la función
DPAD_DOWN en el archivo MultiCC_KBD.kl.... ¿Para qué? Si no lo hacemos, la utilidad de
Xposed Additions* interpreta igual la tecla "BACK" del volante que la del teclado virtual de la izquierda de la pantalla. De ésta manera desvinculamos las funciones de cada una de esas teclas y las podemos programar con Xposed independientemente.
Con Xposed la tecla que reconoce como
DPAD_DOWN, la he reprogramado con 2 condiciones. La primera es que con un click sencillo haga la función
BACK y la segunda es que si tenemos abierta la aplicación TomTom, al pulsarla se abra la aplicación
MÚSICA, que te lleva a la lista donde se conmutan las fuentes de audio.
El tema es que quiero cambiar el volumen del TomTom... Pulso tecla DOWN, me lleva a las fuentes de audio. Cambio el volumen y después de hacerlo vuelvo a pulsar la tecla DOWN y me vuelve a llevar a la aplicación TomTom sin necesidad de soltar las manos del volante.
Como comenté anteriormente, la tecla virtual BACK de la pantalla ya la reprogramé con Xposed: 1 toque = BACK y 1 toque prolongado = KILL APP, con lo que al final sólo ganamos y nada perdemos
*Xposed Additions es un módulo de Xposed Framework, para más información consultar el apartado
Xposed Framework del segundo post del hilo.