
Arduino Android App: Parte IV
Ya vimos como conectarnos a dispositivos BT. Ahora veamos como comunicarnos con esos dispositivos!
Requisitos:
- Computadora (mac)
- Arduino UNO
- Arduino IDE
- HM10/11
- LED & Resistor 220O
- Android Studio (http://developer.android.com/sdk/installing/index.html?pkg=studio)

Ahora vamos a crear una aplicación para Android y un sketch para Arduino y hacer que se comuniquen de forma sencilla para controlar una LED.
En el folder de la aplicación Android esta incluido el código del Arduino Sketch (ino).
Veamos la Android App y entendamos que datos vamos a recibir primero para poder enviarlos desde nuestro Android. La aplicación contiene 4 archivos .java:
- DeviceScanActivity
- DeviceControlActivity
- BluetoothLeServices
- SampleGATTAttributes
Lo importante es conocer la estructura para entender que esta sucediendo. BluetoothLeServices es una clase encargada de administrar dispositivos BLE, conectar y desconectarse de ellos y transferir datos. La actividad inicial es DeviceScanActivity y contiene métodos como onCreate (llamado al inicio) y scanLeDevice (detecta dispositivos BLE). Luego viene DeviceControlActivity, responsable de métodos como displayGattServices (detectar servicios en dispositivos BLE), readSeek (lee el componente seekbar) y makeChange (lee o escribe datos via bluetooth. SampleGattAttributes contiene información como las UUIDs usadas en comunicación BLE Gatt.
En este caso estamos usando un modulo BT HM10, que es mas avanzado porque soporta BT4.0 o Smart BT. Para conectarse a un dispositivo de estos es un poco mas complicado porque utiliza un protocolo GATT para asegurar las conexiones y hacerlas mas eficientes. Es recomendado leer sobre BLE GATT en la web. Estos son los archivos finales:
Corremos la app en el celular y podremos buscar dispositivos con BT y conectarnos a ellos y controlar una LED o mas!