2015-06-20 18 views
7

Sto creando un'applicazione iOS che dovrebbe connettersi a un dispositivo BLE personalizzato. Ho bisogno di app iOS per inviare 2 comandi HEX, uno per abilitare una parte del dispositivo e un altro per richiedere dati.iOS BLE Bluetooth - invia/riceve dati HEX

C'è qualche modo in iOS per inviare/ricevere dati HEX personalizzati, oltre a lavorare con le caratteristiche dei servizi &?

+0

Hai trovato una soluzione a questo, si prega di condividere –

risposta

4

No, non è possibile, ma il motivo non è iOS, ma i "servizi" e le "caratteristiche" sono solo una parte del modo in cui viene definito il protocollo BLE.

spec ufficiale: https://developer.bluetooth.org/TechnologyOverview/Pages/BLE.aspx

Generic Attribute Profilo

La specifica Bluetooth più recente utilizza un'architettura basata sui servizi basato sul protocollo di attributo (ATT). Tutte le comunicazioni a bassa energia avvengono sul Generic Attribute Profile (GATT). Un'applicazione o un altro profilo utilizza il profilo GATT in modo che un client e un server possano interagire in modo strutturato in .

Il server contiene un numero di attributi e il Profilo GATT definisce come utilizzare il Protocollo attributo per rilevare, leggere, scrivere e ottenere indicazioni. Queste funzioni supportano un'architettura basata sul servizio. I servizi vengono utilizzati come definito nelle specifiche del profilo. GATT consente di esporre il servizio e le caratteristiche definite nelle specifiche del profilo.

+0

La tua risposta è errata: è possibile inviare dati in BLE al di fuori del paradigma GATT. –

1

L'altra risposta è accidentalmente giusta, ma per le ragioni sbagliate.

Ovviamente in BLE è possibile inviare qualsiasi tipo di dati, non solo GATT. È solo che il iOS ti obbliga a lavorare con GATT. Non ci sono API iOS per nient'altro. Quindi, sì, è iOS che ti impedisce di farlo.

Se non si sarebbe costretti a lavorare con il GATT, ci sarebbero alcune altre opzioni:

  • L2CAP canali di credito-based - si crea un canale che permette di inviare pieno 23 ottetti di dati al pacchetto (che è in BLE 4.0 e 4.1, 4.2 consente più di quello), in qualsiasi formato si sceglie di.
  • Con l'accesso all'HCI, è possibile inviare un pacchetto dati ACL personalizzato per evitare l'intestazione L2CAP. Ma devi anche modificare l'altro lato per assicurarti che lo analizzi correttamente.