Buenas taberneros developpers,
quisiera saber porqué habéis renunciado a la opción de conexión por Bluetooth.
A mi no me iba ni tan mal. Como no sé de desarrollar para Android y tampoco quería sumergirme demasiado en el desarrollo para esta plataforma usé el MIT App Inventor.
Usaba el envío de caracteres o números enteros desde la App al hacer click sobre alguno de los botones de la interface: -1 grado, +1 grado, -10, +10, centrar, etc... que el loop de lectura de la entrada de datos por Bluetooth leía y modificaba los datos almacenados en memoria temporal en consecuencia. Desde luego nunca traté de usar una solución de checksum para validar que los datos TX/RX no se recibieran corruptos debido a alguna interferencia u otro error. Pero el código sólo aceptaba la entrada de datos si se correspondía con el carácter o entero enviado, de lo contrario quedaba descartado.
El retorno del Arduino hacia el móvil me enviaba en una sola sentencia varios datos como el Rumbo deseado versus el Rumbo real, posición del zafrán, velocidad y algunos datos de debugging para pruebas. Aunque para los tests solía conectar directamente el portátil al arduino y recogía toda la información para poder ir ajustando el algoritmo PID.
En definitiva, el Bluetooth no me iba tan mal y creo que facilitaría el problema de tipo de interface de conexión entre móvil y piloto automático. El MIT App Inventor me permitió hacer una interface bastante sencilla, con un buen contraste para ver bien a pleno sol. El ratio de envío y recepción de datos sí que me solía dar algún quebradero de cabeza. A una velocidad de 1 mensaje por segundo todo iba bien, si bajaba mucho se perdían bastantes datos y el refresco no era el esperado. Una pena porque la brújula de la interface quedaba más chula si el refresco era rápido. Este es el aspecto de la interface:
Bueno, perdón por el tostón sólo para que persistáis con Bluetooth que creo que daría más versatilidad al Fenix.
Un saludo cordial

Txalamar.