Paso 8: Escribir datos BLE directamente desde el Terminal (frambuesa Pi)
Con el circuito construido y probado ya estamos listos para empezar a enviar datos de brillo/color RGB LED de la Raspberry Pi. La primera cosa a hacer es asegurarse de que nuestra RFduino está listo para recibir datos para controlar el LED RGB. Para esto carga el código en el archivo ble_led_control utilizando el IDE de Arduino.
Una vez que el código es cargado a la RFduino, podemos volver a nuestra frambuesa Pi y utilizar el comando gatttool que estábamos usando antes. Sin embargo, en lugar de utilizar el modo interactivo , ingresaremos completados comandos directamente. Por ejemplo, para encender los LEDs azul y rojo de brillo máximo utilizamos el comando:
sudo gatttool -b DC:E2:F4:0B:3A:03 -t random--char-escritura-req - un 0x0011 - n FF00FF
Estamos familiarizados con la primera parte del comando (sudo gatttool -b DC:E2:F4:0B:3A:03 -t random) ya que es lo que estábamos usando antes, sin embargo nos hemos deshechos de la "-I" interruptor, que es lo que inició el prompt interactivo. Por el contrario, estamos escribiendo la ''-char-escritura-req " directamente usando el mismo mango como antes (0x0011). Lo único que ha cambiado es el último valor.
En un paso anterior vimos cómo los datos se envían en bytes, que hizo un poco complicado cuando necesitamos enviar valores de caracteres según nos sea necesario para enviar su representación hexadecimal en lugar de otro. En este caso, simplemente queremos enviar 3 valores entre 0 y 255 que el brillo de cada LED.
Afortunadamente, podemos utilizar un solo byte para representar cada valor (0 es 0 x 00, 10 0x0A,... 255 es 0xFF). Así que para enviar los datos RGB para que los LEDs azul y rojo se establecen en brillo máximo, simplemente enviamos 3 bytes "FF", "00" y "FF". Esto debe resultar en un color púrpura/color de rosa en el LED RGB!
En nuestro último paso a describir una manera simple de hacer nuestra frambuesa Pi cambiar los colores mediante programación utilizando Python!