2016-10-20 1 views
0

У меня есть вопрос или проблема с Swift BLE.Запишите значение для мибэнда с быстрым

У меня есть группа MI, которую я хочу контролировать с помощью собственного приложения.

Чтение значений с устройства без проблем. Но теперь я хочу написать значение.

Я нашел this site где большинство характеристик перечислены:

Start Vibration 
Write 8, 2 to Characteristic 0xFF05 (CONTROL_POINT). 

Так что я хочу, чтобы начать вибрацию следующим текстом:

if cc.uuid.uuidString == "FF05"{ 
    let data: Data = "8, 2".data(using: String.Encoding.utf8)! 
    miBand.writeValue(data, for: cc, type: CBCharacteristicWriteType.withResponse) 
} 

Я попытался его с другими характеристиками, тоже, но никто из них не работал. Никакой ошибки, никакого ответа, ничего.

Я что-то упустил?

EDIT

мне удалось отправить что-то к моей малине через Bluetooth. Похоже, что текущая прошивка на полосе Mi больше не поддерживает данные, которые я отправляю. Я также заметил, что вы больше не можете читать все характеристики.

ответ

0

Проверьте свойства CBChaaracteristic, чтобы написать или другое. Если свойство записывается, запросите данные, чтобы написать CBCharacteristic и получить ответ от периферии.

0

Я думаю, проблема заключается в данных, которые вы пытаетесь написать. Попробуйте следующее:

if cc.uuid.uuidString == "FF05"{ 
    let bytesToWrite:[UInt8] = [8, 2]; 
    let data = NSData(bytes: bytesToWrite, length: bytesToWrite.count) 
    miBand.writeValue(data, for: cc, type: CBCharacteristicWriteType.withResponse) 
} 

Для Ми Band 2 они также изменили протокол, так что это может быть возможно, что и для Ми диапазона 1 вы должны использовать характерный 2A06 вместо FF05

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