ios開發藍芽 BLE

2021-09-30 13:31:31 字數 2876 閱讀 8189

#import 

//中心管理者

@property (nonatomic,strong)cbcentralmanager * themanager;

@property (nonatomic,strong)cbperipheral * theperpher

;@property (nonatomic,strong)cbcharacteristic *writedatacharacteristic;

3.初始化cbcentralmanager

-(cbcentralmanager *) themanager

return _themanager;

}

4.開始掃瞄藍芽

[self.themanager

scanforperipheralswithservices:nil options:@];

5.當藍芽狀態改變是會呼叫這個方法

- (void)centralmanagerdidupdatestate:(cbcentralmanager *)central];

}else

}}

6.鏈結外圍裝置

- (void)connect:(cbperipheral *)peripheral

7.掃瞄到裝置會進入成功方法

//連線到peripherals-成功 //掃瞄外設中的服務和特徵  連線上外圍裝置的時候會呼叫該方法

- (void)centralmanager:(cbcentralmanager *)central didconnectperipheral:(cbperipheral *)peripheral

//連線到peripherals-失敗

-(void)centralmanager:(cbcentralmanager *)central didfailtoconnectperipheral:(cbperipheral *)peripheral error:(nserror *)error

8.發現服務裝置

//發現服務

- (void)centralmanager:(cbcentralmanager *)central diddiscoverperipheral:(cbperipheral *)peripheral advertisementdata:(nsdictionary *)advertisementdata rssi:(nsnumber *)rssi);

}}

/**

* 發現外圍裝置的服務會來到該方法(掃瞄到服務之後直接新增peripheral的services)

*/- (void)peripheral:(cbperipheral *)peripheral diddiscoverservices:(nserror *)error

}}

9. 找到了裝置的服務,然後掃瞄特徵

//掃瞄到特徵

- (void)peripheral:(cbperipheral *)peripheral diddiscovercharacteristicsforservice:(cbservice *)service error:(nserror *)error

nslog(@"掃瞄到外設服務特徵有:%@->%@->%@",peripheral.name,service.uuid,service.characteristics);

//獲取characteristic的值

for (cbcharacteristic *characteristic in service.characteristics)

//電池電量

else if ([characteristic.uuid.uuidstring isequaltostring:butery])

else if ([characteristic.uuid.uuidstring isequaltostring:shake])

//裝置資訊

else if ([characteristic.uuid.uuidstring isequaltostring:device])}}

}

//掃瞄到具體的值

- (void)peripheral:(cbperipheral *)peripheral didupdatevalueforcharacteristic:(cbcharacteristic *)characteristic error:(nullable nserror *)error

//與外設斷開連線

- (void)centralmanager:(cbcentralmanager *)central diddisconnectperipheral:(cbperipheral *)peripheral error:(nserror *)error

10.寫資料

//寫資料

-(void)writecharacteristic:(cbperipheral *)peripheral

characteristic:(cbcharacteristic *)characteristic

value:(nsdata *)value

else

}

iOS開發 藍芽後台接收資料 BLE4 0

最近在做乙個藍芽相關的專案,需要在應用進入後台,或者手機屬於鎖屏狀態的情況下,仍然保持藍芽連線,並且能正常接收資料。本來以後會很麻煩,但是學習了下.發現就2步而已。簡單的不能再簡單了。好了。下面是具體實現辦法。1.在 info.plist檔案中,新建一行required background mod...

iOS開發 藍芽後台接收資料 BLE4 0

最近在做乙個藍芽相關的專案,需要在應用進入後台,或者手機屬於鎖屏狀態的情況下,仍然保持藍芽連線,並且能正常接收資料。本來以後會很麻煩,但是學習了下.發現就2步而已。簡單的不能再簡單了。好了。下面是具體實現辦法。1.在 info.plist檔案中,新建一行required background mod...

iOS開發 藍芽後台接收資料 BLE4 0

最近在做乙個藍芽相關的專案,需要在應用進入後台,或者手機屬於鎖屏狀態的情況下,仍然保持藍芽連線,並且能正常接收資料。本來以後會很麻煩,但是學習了下.發現就2步而已。簡單的不能再簡單了。好了。下面是具體實現辦法。1.在 info.plist檔案中,新建一行required background mod...