2016-06-29 191 views
-2

我試圖設計一個讀取多個溫度的應用程序。一個特徵UUID只能處理1個值是真的嗎?如果是這樣,我怎麼讀取多個值?(例如,溫度1,溫度2,溫度3 ...)我需要自己聲明多個特徵UUID嗎?但是如果我只是在我的應用程序中聲明這些內容,外設如何知道UUID與什麼值相對應?大多數例子中只讀一個值(溫度,心臟率等)iOS swift BLE讀取多個特徵

+0

「我是新來的蘋果」,「有沒有人在公司知道的iOS」,「我只是一個實習生」 ......沒什麼個人,但我們不在乎。你在問什麼? – Alexander

+0

它被編輯,對不起。那麼你知道答案嗎? – Runze

+0

我不知道你在問什麼。 – Alexander

回答

0

您可以從相同的特性得到不同的值。爲此,您可能必須爲寫入特性寫入不同的值。例如,假設您的寫入特徵爲A,並且您的讀取特徵爲B

你可以寫一個值一個這樣

[self.discoveredPeripheral writeValue:data 
        forCharacteristic:characteristic 
           type:CBCharacteristicWriteWithResponse]; 

按你想做出請求,其中的數據有所不同。

爲了您讀特性,指示屬性應該作爲didDiscoverCharacteristicsForService委託回調如下每當你寫一個值一個設置爲YES現在

if (c.properties & CBCharacteristicPropertyIndicate) { 
    [peripheral setNotifyValue:YES forCharacteristic:c]; 
} 

,你會得到委託方法didUpdateValueForCharacteristic的回調。您必須正確處理響應。

當然,所有這一切工作,你的BLE裝置應相應地編程。

注意,代碼是用Objective-C的

+0

謝謝。這個問題是用你說的同樣的想法解決的。 – Runze

+0

如果這有助於解決您的問題,請將其標記爲已接受。如果其他人將來遇到這樣的問題,對他人會有幫助。 –