2015-04-19 2 views
1

Я создаю простое приложение IOS для взаимодействия с устройством Bluetooth LE.Отправка команды на устройство Bluetooth LE из приложения iOS

Основные шаги (Подключение, обнаружение служб, обнаружение характеристик и значений характеристик чтения) выполняются правильно.

Теперь я ищу для учебника/например, для отправки команды к устройству Bluetooth LE я подключен на.

Я ищу в Руководстве разработчика Apple, но я ничего не нахожу.

+0

Вам нужно написать на технические характеристики и устройство, которое оно само должно знать, что делать, когда его характеристическое значение было изменено. – Larme

+0

Th e устройство знает, что когда значение свойства было изменено, оно должно написать для вывода списка чисел. Должен ли я знать некоторую документацию устройства о чтении этого вывода или я могу просто ждать выхода? И как я прочитал этот вывод? – alesdario

+0

Это зависит от того, как это работает. Например, он может использовать уведомление по другому признаку (необходимо зарегистрировать уведомление) или если он поддерживает writeWithResponse, как только вы знаете, что ваши данные были написаны, вы можете начать читать другой характер. – Larme

ответ

0

Вы можете отправить данные с помощью метода writeValue:forCharacteristic:type: метода CBPeripheral. Какая характеристика + данные соответствуют требуемым командам, должны быть описаны в спецификации устройства.

+0

Ваша проницательность понятна, но как я могу прочитать результат характеристики? – alesdario

1

При взаимодействии с CBCharacteristic я собираюсь считать его характеристикой чтения/записи (вы можете подтвердить это, посмотрев на значение для properties по вашей характеристике).

Два основных метода при взаимодействии с характеристикой являются:

func writeValue(_ data: NSData!, forCharacteristic characteristic: CBCharacteristic!, type type: CBCharacteristicWriteType) 
func readValueForCharacteristic(_ characteristic: CBCharacteristic!) 

Оба этих метода найдены на вашем CBPeripheral. После того, как вы назвали одну из этих функций, которые вы можете использовать CBPeripheralDelegate подтвердить каждый из этих действий в этих delegate методах:

optional func peripheral(_ peripheral: CBPeripheral!, didWriteValueForCharacteristic characteristic: CBCharacteristic!, error error: NSError!) 
optional func peripheral(_ peripheral: CBPeripheral!, didUpdateValueForCharacteristic characteristic: CBCharacteristic!, error error: NSError!) 

Это место, вы будете выглядеть, чтобы подтвердить свой прочитанные и пишет успех. (Внутри вашего чтения вы можете получить значение, которое было зачитано от BLE устройства от value собственности на CBCharacteristic.

Имейте в виду взаимодействия у вас есть (то, что вы можете читать и писать) полностью зависит от BLE устройства вы допрашивают/взаимодействовать. по существу, вы должны знать, что читать, что писать и как.

2

вы должны проверить TemperatureSensor пример компании Apple, в частности, где он называет [servicePeripheral writeValue:data ...

Смежные вопросы