Tengo un circuito muy simple que incluye un HM-10 que expone un dispositivo Bluetooth CC2541.
Básicamente, solo está conectado para apagarlo del Arduino Nano y luego tengo un divisor de voltaje en el HM-10 Rx ya que es de 3.3V. No hay problemas allí. Funciona y puedo enviar datos y recibir datos.
Estoy ejecutando un código de iOS que no se une al dispositivo, sino que permite al usuario pulsar un botón y enviar datos a través de la característica FFE1.
Los datos se envían utilizando la CoreBluetooth writeValue function de la clase CBPeriperhal. Se envía como un flujo de bytes.
Preguntas
- ¿los datos (enviados desde el dispositivo iOS a Arduino a través de Bluetooth) se cifran automáticamente a través de BLE?
- ¿Puede ofrecer alguna forma de probar una manera u otra si los datos son cifrado? ¿Algún tipo de software de rastreo para probar?
- ¿Hay alguna propiedad que deba establecer en el cifrado CBP para cifrar los datos?
- ¿Los datos solo se cifran automáticamente después de vincular el dispositivos?
Extras
Aquí está el código Arduino muy básico que funciona muy bien y muestra los bytes enviados a través de Bluetooth (desde mi iPad que ejecuta mi código iOS).
#include <SoftwareSerial.h>
SoftwareSerial BT_Serial(8,9); // RX, TX
bool bytesWereRead = false;
void setup() {
Serial.begin(9600);
Serial.println("Enter AT commands:");
BT_Serial.begin(9600);
}
void loop()
{
if (BT_Serial.available()) {
bytesWereRead = true;
int bytesRead = Serial.write(BT_Serial.read());
}
if (Serial.available()) {
BT_Serial.write(Serial.read());
}
}