lunes, 4 de mayo de 2015

ANT+ plugin sampler

Como se indicó en una entrada anterior, deseamos utilizar un estandar de comunicación de bajo consumo para redes sin cable de area personal para una aplicación aún desconocida (LPWPAN).

Se puso apunto el entorno de desarrollo en una computadora X. SDK android y Netbeans con el plugin NB-Android.
1. El primer intento consistía en sólo ocupar el código necesario para recolectar datos del lector de frecuencia cardiaca de marca GARMIN junto con un teléfono inteligente con soporte de ese estandard. Habíamos instalado las aplicaciones S-life para Samsung Galaxy S4 y "ANT+ plugin sampler" para la gama de los sony Xperia Zx.  Los programas corren bien y permiten recolectar o presentar los datos directamente en el teléfono.
2. El segundo paso consiste en encontrar código fuente para poder nosotros mismo manipular el comportamiento del programa.  Para por ejemplo enviar los datos recolectados a un servidor remoto o para realizar algún cálculo.

Para completar el segundo paso se utilizó un segmento de código mínimo pero no lo logramos compilar. Es por eso que tratamos de hacer correr el código dado por ANT+ y luego iremos retirando los segmentos de código no necesarios.

Se generó un ejecutable que no se instalaba en el dispositivo de prueba. Pero no se daba mayor detalle sobre las razones para no poder instalar la aplicación.
El SDK de Android tiene un programa que ayuda a depurar los ejecutables para esa plataforma mediante el cable USB.

Al conectar el dispositivo y ejecutar un adb (se debe habilitar la depuración por USB): y si se trata de Xperia presionar en "about device", y luego 7 veces en número de compilación para convertirse en desarrollador.
 android-sdk-linux/platform-tools$ ./adb -d devices
List of devices attached
????????????    no permissions


Para los permimos buscar en internet como modificar udev
Si logramos solventar este problema probablemente aparezcan otros como por ejemplo:
android-sdk-linux/platform-tools$ ./adb -d devices
List of devices attached
BH90UXUK1L    unauthorized


Ya vamos mejorando, ahora solo estamos des autorizados. para solucionarlo se debe buscar en internet y seguir los pasos para que la conexión se haga correctamente.
Buscar soluciones hasta que se muestre de la siguiente manera:
android-sdk-linux/platform-tools$ ./adb devices
List of devices attached
BH90UXUK1L    device


Desde NetBeans se puede lanzar ya la aplicación directamente en el dispositivo.
Bueno no siempre.  Se nos presentó un error de tipo:
Package deployment failed with: INSTALL_FAILED_VERSION_DOWNGRADE
Una solución interesante se presenta en este blog, pero se debe tener en cuenta las particulariedades de nuestro proyecto. Al parecer existe una copia del mismo software ya instalado en el dispositivo y deseamos instalar una version más antigua y por eso el dispositivo se queja y no permite realizar la instalación.
En el archivo manifiesto del proyecto se hace referencia al nombre del paquete que se va a instalar.
package="com.dsi.ant.antplus.pluginsampler"
Entonces esto no ha cambiado desde el programa que ya  instalamos y nuestro paquete.  Por esto procedemos a cambiar el nombre del paquete y asi será un nuevo software y se podrá instalar.

Finalmente se logra instalar el programa compilado y con posibilidades para ser modificado para nuestros fines.

No hay comentarios:

Publicar un comentario