Quiero crear una aplicación de Android para sincronizar con una Raspberry Pi. ¿Como empiezo?

Esta respuesta contiene los detalles de la transferencia de datos a través de Bluetooth de baja energía (BLE):
Requisitos:
1.) Un dispositivo Android con BLE. (La mayoría de los dispositivos Android son compatibles con ble hoy en día, también son compatibles con iphone 4).
2.) Adaptador USB compatible con Bluetooth 4.0.

Detalles específicos:
1.) Uno de los dos dispositivos de comunicación es periférico y el otro es central.
2.) Los periféricos transmiten algunos de los datos que tienen en forma de paquetes publicitarios. Un paquete de publicidad es un paquete relativamente pequeño de datos que puede contener información útil sobre lo que un periférico tiene para ofrecer, como el nombre del periférico y la funcionalidad principal.
3.) Una central, por otro lado, puede escanear y escuchar cualquier dispositivo periférico que sea información publicitaria que le interese. Una central puede solicitar conectarse a cualquier periférico que haya descubierto publicidad.


4.) Los periféricos pueden contener uno o más servicios. Un servicio es una recopilación de datos y comportamientos asociados para realizar una función o característica de un dispositivo (o partes de ese dispositivo).
Los servicios en sí están compuestos de características o servicios incluidos (es decir, referencias a otros servicios). Una característica proporciona más detalles sobre el servicio de un periférico.


5.) Ahora bajando a la parte de codificación. En raspberry pi, hay muchas opciones para implementar la característica periférica o central. El que recomendaría está en nodejs:
Para Central en raspberrypi: sandeepmistry / noble
Para periféricos en raspberrypi: sandeepmistry / bleno
Estos módulos pueden descubrir, leer y escribir en los UUIDS característicos deseados.
Para Android ble: Bluetooth de baja energía
El procedimiento recomendado sería hacer que el dispositivo Android sea un periférico y el dispositivo de frambuesa como central. Luego, puede anunciar datos sobre una característica en el dispositivo Android y leerlos en el raspberrypi y escribir el acuse de recibo. Se puede seguir el siguiente procedimiento hasta que se complete todo el procedimiento de sincronización.
Aunque el truco es la sincronización bluetooth solo se recomienda para pequeñas cantidades de transferencia de datos solamente. Necesitas hacer un juicio de la compensación entre la cantidad total de tiempo que deseas dedicar a la sincronización.
Para una comprensión clara de los conceptos de periférico y central, también puede consultar: Descripción general de Core Bluetooth
Obviamente, puede referirse a https://github.com/ y, si tiene suerte, también puede encontrar proyectos de Android en la transferencia de datos BLE