Foro MMLink

Control de smartphone / tablet en general usando MML y tasker  

  RSS

jcalonsol
(@jcalonsol)
Active Member
Registrado: hace 2 años 
Mensajes: 14
05/09/2019 20:37  

Hola a todos.

Es la primera vez que escribo en este foro, aunque lo sigo desde el inicio y, en primer lugar, quiero agradecer muy sinceramente al Administrador por la magnífica herramienta que ha puesto a nuestra disposición y por este mismo foro y sitio web.

Por supuesto, vaya por delante que si esto no debe estar aquí o se entiende que no va con la dinámica del foro o del sistema MML, en general, basta con cambiarlo o eliminarlo. No hay ningún problema.

Espero en breve tener el MML así que he estado preparando alguna cosa y me permito publicar la siguiente información por si pudiera ser de interés para algún usuario del sistema MMLink. He tenido un sistema parecido basado, en parte, en un simulador de joystick bluetooth (conectado al tablet, en ese caso concreto, mediante el perfil HID) y había preparado una serie de scripts tasker para poder integrarlo y manejarlo a mi gusto. A la espera del MML y a falta de probarlos con el mismo, los he estado adaptando. Espero que me sirvan para poder utilizar la rueda para diversas funciones:

  • subir y bajar volumen,
  • encender y apagar la música (music toggle),
  • hacer zoom in-out en determinadas aplicaciones,
  • moverte por entre un conjunto de aplicaciones específicas ("ciclar" entre ellas).

La idea final es poder manejar la rueda y usar estas funciones con la aplicación de GPS en marcha y en pantalla activa (foreground) a pantalla completa o, incluso, cuando están lanzadas en forma de pantalla partida (split screen), y con la aplicación de aviso de advertencias y/o radares en segundo plano (background) y/o como widget semi-transparente.

En primer lugar, querría explicar cuál es el entorno de uso cuando me subo a la moto para hacerme una ruta de uno o varios días:

  1. Tengo una Tablet Samsung Galaxy Active Tab 2 sólo WIFI de 8” situada, en formato "apaisado", en el lugar del GPS original de BMW.
  2. Tengo un intercomunicador Cardo Packtalk conectado a la tablet con A2DP por al canal 2 del intercomunicador. Por el canal 1 del intercomunicador tengo un móvil Huawei Mate 10 Pro con acceso a internet (datos) y llamadas mediante los perfiles A2DP y HFP.
  3. Tanto en el móvil como en la tablet, tengo los mismos programas de forma que si necesito hacer el cambio de uno por otro, es posible.
  4. El conjunto mínimo de aplicaciones que uso es el siguiente:
    1. Locus Map Pro para diseño de rutas y navegación con BRouter para generación de rutas offline. He generado un perfil de moto y un dashboard específico para cuando me conecto a la moto. Lo uso con mapas 2D y auto-zoom (cercano) basado en velocidad. Locus permite el zoom mediante comandos. Hay un plug-in de tasker específico para automatizar este programa (muchas funcionalidades) y funciona bien. Creo que este programa, por el nivel de automatización que tiene, se puede integrar bien con casi cualquier cosa, aunque manejarlo no es sencillo en un primer momento, pero luego es muy potente.
    2. Kurviger Pro para diseño de rutas (online) y navegación (tanto online como offline). Lo uso con mapas 3D y zoom manual (lejano). Tiene una función potente para generar rutas con más o menos curvas, tanto en la web como en la app (siempre con conexión de datos) y luego se puede navegar la ruta sin datos (offline). Su nivel de automatización desde Tasker no es completo (siempre se puede tirar de lo que se pueda hacer con autoinput), por lo que la integración sencilla con la rueda es bastante menor (admite zoon in-out con botones hardware así que seguramente se podrá automatizar con tasker o mediante “pulsación” de los botones + y – que aparecen en pantalla, pero no he hecho ninguna de estas dos cosas).
  • Normalmente uso estos dos primeros programas en paralelo en pantalla partida y así puedo, por un lado, si quiero o necesito, “visualizar” las curvas antes de llegar a ellas y, por otro, tener una idea del trayecto a medio-largo plazo.
    1. Poweramp para música. Tiene control muy completo de multimedia desde Tasker.
    2. Aplicaciones avisadoras de radar: CamSam (offline) y Radares TomTom (online). Ambas permiten un widget muy discreto que se muestra pequeño en la pantalla cuando avisa de un radar y mediante un pitido en el intercomunicador. Ambas tienen auto-arranque y parada asociadas a una conexión BT.
    3. MML. Espero utilizarlo principalmente en background (no tengo teléfono en la tablet y no uso Tomtom ni sygic, sólo Waze en ocasiones). Imprescindible para manejar los “intents” del movimiento de la rueda y para sacar el máximo partido al sistema (sobre todo aquellos que tengan teléfono y avisos o gestión de la puerta del garaje, radares, etc.).

Como se indica en este mismo foro, en el post de controlar el volumen bluetooth con la rueda, el administrador publicó los "intents" que hay que utilizar para poder moverse mediante los 4 movimientos permitidos  (up, down, right y long right) cuando la aplicación MotoMediaLink está funcionando en background. 

En primer lugar, hay que gestionar la conexión a la tablet y automatizar todo lo necesario para empezar a usar la moto y los dispositivos, para ello está el perfil PTJCAL que se activa en el evento de conexión bluetooth del intercomunicador a la tablet y ejecuta en la conexión una tarea que automatiza el brillo de la pantalla, el volumen por defecto del bluetooth, puede o no conectar la tablet a internet mediante bluetooth o wifi tethering a través del móvil y lanza aquellas aplicaciones que no tienen autolanzamiento (y autoparada) en sus propios ajustes. También lanza el poweramp para poder encender la música manualmente (si no, luego no se puede controlar remotamente con comandos media de bluetooth). Se fuerza la rotación en modo landscape (horizontal) que es la forma en la que va la tablet en la moto. También activa el modo no molestar (no quiero notificaciones mientras estoy en ruta salvo las llamadas telefónicas). Por el contrario, en la desconexión del intercomunicador, se reajusta el brillo y el volumen y se desactiva la rotación forzada a la activa del sistema.

En segundo lugar, hay que gestionar la conexión del MML por bluetooth. Lo único que se hace en este caso es inicializar una variable global a Tasker que indica el índice de la aplicación a mostrar al ciclar aplicaciones en la pantalla con la rueda. La idea es que cada vez que se pulsa right, la aplicación cambie a la siguiente aplicación en el ciclo (por ejemplo, locus => kurviger => poweramp => otras apps o vuelta al inicio). Al desconectar el MML se hace un borrado (clear) de la variable global.

Para gestionar el movimiento de la rueda, de forma general, hay que generar 4 perfiles tasker para gestionar los 4 eventos de los intents que lanza la app MML ejecutándose en segundo plano. En cada perfil se ejecuta una tarea tasker diferente. Por ejemplo:

  • Al mover la rueda arriba (up), la tarea tasker consulta con autoinput (un módulo extra de tasker) la aplicación que está activa en foreground y, en cualquier caso, hace un zoom in en locus . Además, si la aplicación en foreground es kurviger, pasa a la siguiente canción. Y si la aplicación es poweramp, sube el volumen.
  • De forma inversa al mover abajo la rueda (down).
  • Al mover a la derecha (right), pasa a la siguiente aplicación del ciclo.
  • Al mover y mantener a la derecha (long right = lright), hace un toggle de la música (si está encendida, la apaga, y viceversa). Salvo que haya otra forma, destacar que para que funcione el “toggle” de la música, previamente hay que haber dado al play de poweramp manualmente (desde la app de poweramp o desde un widget de la pantalla android).

Como he comentado antes, en mi caso, me gusta que Locus vaya en paralelo a Kurviger en pantalla partida (el foco tiene que estar en kurviger, que no se refresca si no tiene el foco en ella). En ese caso, cuando se pulsa right, las aplicaciones van ciclando en la parte derecha de la pantalla y Locus siempre queda activa y a la izquierda por lo que siempre tengo disponible el mapa y la ruta en Locus aunque cambie de aplicación. Si no se va en pantalla partida, las aplicaciones van ciclando simplemente, una encima de la otra.

El zoom in-out de locus está configurado en la aplicación para que automáticamente se ajuste a su nivel de zoom que le corresponda según la velocidad que se lleve (activado por defecto en el modo locus de moto). Es decir, está parametrizado para volver a su nivel de autozoom que le corresponda por velocidad al pasar unos segundos de haberse cambiado manualmente, por ejemplo con la rueda o los botones en pantalla de la aplicación, pero permite consultar una zona haciendo zoom en un momento dado. También se permite la función de autocenter, bien por parámetro de locus, bien por perfil tasker consultando la velocidad de movimiento (por ejemplo, sólo autocentrar cuando estás en marcha a un mínimo de velocidad y no cuando estás parado enseñando la ruta a otra persona o diseñándola).

En definitiva, adjunto los perfiles y las tareas tasker en formato XML para quien las quiera probar o revisar. Utilizo Tasker, AutoInput, TouchTask, Bluetooth Connect y Locus Map, que son módulos de tasker o plug-ins específicos. Deben costar un total de 10€ aproximadamente, todo ello incluyendo Join (de Tasker) que, en el caso de que lleve la tablet conectada al teléfono por tethering, me permite ver de forma automática quién me llama en la tablet aunque la llamada me llegue al teléfono que llevo en el bolsillo de la chaqueta (el teléfono también está automatizado para decir el nombre del contacto en el tono de llamada).

Espero que sea de utilidad a alguno o, si no, que no haya sido un pestiño demasiado largo 🙂

Un saludo en V.

This topic was modified hace 1 año  by Administrador

kanijo29 y Qualo me gusta
ResponderCitar
Topic Tags
jcalonsol
(@jcalonsol)
Active Member
Registrado: hace 2 años 
Mensajes: 14
09/09/2019 08:34  

Hola de nuevo.

Sólo decir que las pruebas han funcionado perfectamente y que el MML y tasker interactúan perfectamente.

Adjunto:

  • Una imagen para mostrar cómo ha quedado el MML-B bajo el asiento del acompañante (en la imagen el MML-B es la cajita negra superior; la blanca inferior es un DVR de una cámara que llevo instalada).
  • Y un video de cómo ha funcionado la prueba (el triángulo de aviso es porque estaba probando el MML sin conectar todavía al RDC, tal y como indica el video del MML).

Muy agradecido por el proyecto, el MML-B y por todas las dudas contestadas.

This post was modified hace 1 año  2 times by jcalonsol

ResponderCitar
Raul79
(@raul79)
Active Member
Registrado: hace 1 año 
Mensajes: 11
10/09/2019 08:18  

Hola no se ve el video!!


ResponderCitar
jcalonsol
(@jcalonsol)
Active Member
Registrado: hace 2 años 
Mensajes: 14
10/09/2019 08:36  

Hola @Raul79.

Por favor ¿Puedes probar ahora ? Creo que no puse correctamente las opciones de compartir de YouTube. 

Un saludo.


ResponderCitar
Raul79
(@raul79)
Active Member
Registrado: hace 1 año 
Mensajes: 11
10/09/2019 08:39  

Ahora si, que pasada,. 

TODO eso de la pantalla partida que se ha el poniendo en tasker y dándole permisos? 


ResponderCitar
jcalonsol
(@jcalonsol)
Active Member
Registrado: hace 2 años 
Mensajes: 14
10/09/2019 09:04  

Lleva bastante trabajo, sobre todo si no conoces Tasker como era mi caso antes del verano 🙂 

Contestando a tu pregunta, la pantalla partida (split screen) es una característica de Android directamente a partir de no sé qué versión (quizá la 6). Con los Samsung, puedes ejecutarla desde un icono del escritorio que hayas definido al efecto. También lo puedes hacer desde tasker (hay comando un "split screen" disponible en alguno de los módulos que comento, no recuerdo de memoria cuál es). Para pantallas de tamaño menor a 6" yo creo que no merece la pena (la visualización sería demasíado pequeña, al menos para mis ojos). Echa un vistazo a los scripts Tasker que figuran en el adjunto de mi primer mensaje y, con lo comentado en mi primer mensaje, tendrás que entenderlos un poco. No es un producto final, quiero decir que no es una app cerrada con funcionalidades concretas. Es un programa (script) que, únicamente mediante la captura de los "intents" emitidos por el sistema MML a través de su aplicación en segundo plano, permite hacer lo que yo necesito, que es un poco lo que muestro en el video. Pero creo que, si sabes tasker, es relativamente sencillo de cambiar y adaptarlo a lo que necesites. Si no, siempre tienes la app oficial de MML. 

Lo que me parece realmente interesante del asunto es que el MML te da la libertad y la posibilidad de hacerlo de forma abierta, tipo Do It Yourself (DIY), y eso me parece muy potente.

Muchas gracias por tu comentario.

This post was modified hace 1 año  2 times by jcalonsol

ResponderCitar
Share: