Paso 9: USB a variante de smartphone (Android)
¿Qué es en esta aplicación? He intentado comentar el código tanto como pude, pero aquí están unos higlights.
- La interfaz de usuario es muy básica - un área de texto para confirmar el estado de Bluetooth, una lista de dispositivos BT detectado, y se mostrará una segunda área de texto donde se leen los datos del puerto serie.
- La principal actividad UploadThingspeakAppActivity activa el BT si no activado ya, busca dispositivos BT en gama, mostrará en una lista.
- Cuando se selecciona un dispositivo BT, crea un socket, utilizar un identificador llamado UUID (para un puerto Serial, el UUID a utilizar es 00001101-0000-1000-8000-00805F9B34FB)
- La conexión se gestiona en un subproceso independiente, ConnectedThread. Esto es una práctica recomendada para evitar la aplicación de la congelación. La instancia de ConnectedThread es responsable de todas las tareas de comunicación con la estación de IEQ y Thingspeak.
- Se conecta a la toma y escucha a la comunicación, carácter por carácter. Al llegar a final de línea, forma la URL necesaria para actualizar Thingspeak y se abre. Observe cómo los campos String etiquetas [] y String campos [] hacer el enlace entre el código de Arduino y su canal de Thingspeak, de la misma manera como en el código de procesamiento.
- Los archivos de manifiesto requiere los permisos para utilizar el smartphone Bluetooth y funciones de Internet con
< android:name="android.permission.BLUETOOTH permiso de uso" / >
< android:name="android.permission.BLUETOOTH_ADMIN permiso de uso" / >
< android:name="android.permission.INTERNET"/ permiso de usos >
- Un último punto: la interfaz de usuario se mantiene abierta con android: keepScreenOn = "true" en el diseño. Esto evita que Android de pausar la aplicación y cortar la conexión. Tenga en cuenta que también cambiar a otra aplicación cierra la conexión.
Y por supuesto, es preferible mantener el teléfono conectado al cargador mientras está en uso, porque Bluetooth + pantalla siempre drena la batería ultra rápido!