О Bluetooth с низким энергопотреблением. Я знаю, что iPhone 4S, iPhone 5, iPad 3 с iOS 5.1 и выше поддерживают BLE 4.0. И я прочитал пример кода TemperatureSensor от Apple. У меня вопрос: какие требования к датчикам? Другими словами, какие датчики можно подключить в этом приложении? Все ли устройства, поддерживающие BLE 4.0, могут быть подключены к моим устройствам iOS, поддерживающим BLE 4.0?
Все ли устройства, поддерживающие BLE 4.0, могут быть подключены к моим устройствам iOS, поддерживающим BLE 4.0?
Ответы (2)
Коммуникация BLE основана на GATT (общие атрибуты), который, по сути, представляет собой обмен значениями различных характеристик в рамках услуги. Если вы читали пример кода TemperatureSensor, вы, должно быть, заметили, что он начинает обнаруживать устройства в соответствии с UUID службы, а затем считывает/записывает характеристики, все еще основанные на UUID, в службе. Следовательно, пока датчик поддерживает BLE и вы знаете о его службах (его UUID, его характеристики и свойства), вы можете запрограммировать свое приложение iOS для связи с ним. Некоторые службы «предопределены» Bluetooth SIG, поэтому информацию об этих службах можно найти на странице Веб-сайт Bluetooth SIG.
Да, вы можете подключить любое устройство BLE к устройству iOS с поддержкой BLE.
Что касается примера кода, о котором вы говорите, он ищет конкретный сервисный UUID для датчиков температуры:
[centralManager scanForPeripheralsWithServices:uuidArray options:options];
Поскольку на рынке нет датчиков температуры, которые я мог бы найти, вы можете использовать nil для сканирования любых устройств:
[centralManager scanForPeripheralsWithServices:nil options:options];
Чтобы поэкспериментировать с этим, вы можете использовать приложение LightBlue. или ссылка на iTunes который позволяет превратить ваш iPhone в периферийное устройство с любыми сервисами / характеристиками, которые вы определите.