iOS CoreBluetooth的swift實現 (2)

iOS CoreBluetooth的swift實現(1)

iOS CoreBluetooth的swift實現 (3)

不妨想一下,我們在與人交流的時候需要做些什么,當然,我們先實現設備作為central時的數據接收和處理。


1.辨明對方的身份,如果他是你想聽他說話的人,那就聽他說吧(廢話)

2.接收別人說的話,大腦對這些信息進行處理。

3.注意保持聽取,不要就聽一會兒,態度端正一點。


在程序中我們做的方式可以類比過去(用CBCentralManager實現)

1.搜索相應Peripheral并連接

2.連接后進行數據接收,對里面的characteristic進行讀寫。

3.保持數據的更新回調


貼一下代碼來解釋一下


central

當然現在還沒有太多內容,取決于你的需求

COCenManager.scanForPeripheralsWithServices([CBUUID]?, options: [String:AnyObject]?)

這個方法里要傳入設備serviceUUID數組,設備就會搜索具有這些UUIDservice的設備,這個就需要知道UUID的一些東西了,他其實是作為一個標簽一樣的存在,可以自己查一下相關的知識,這里不再詳細講解。UUIDnil,那就會搜索所有設備。

經過這幾步(參數確定,不要像我這樣。)我們就建立了設備與peripheral的連接,注意,如果連接失敗需要在didFailToConnectPeripheral里做出響應。

discoverService

discoverService傳入一個CBUUID數組,如果填入nil則是默認搜索了所有的service當然不推薦這么做,這樣會耗費沒必要的電量和時間。當調用這個函數成功之后,設備會回調

func peripheral(peripheral:CBPeripheral, didDiscoverServices error:NSError?)

在這個函數里面我們可以對所需要的service進行提取處理。首先我們最想做的就是提取出他所提供的的內容--characteristic。

discoverCharacteristics([CBUUID]?, forService:CBService)

就是這個了!用peripheral獲得相應serviceCharacteristicsUUID數組,就可以讀取啦。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容