IOS藍牙設備數據回調的坑


1.手機端向藍牙設備發送寫入數據后會有一個回調方法

//寫入數據后的回調

- (void)peripheral:(CBPeripheral *)peripheral

didWriteValueForCharacteristic:(CBCharacteristic *)

characteristic error:(nullable NSError *)error

因為我們這邊的設備是血壓儀,是向外設發送開始測量之后,然后把測量的數據返回來,所以要進到上面的方法里。

2.數據返回后會進入下面的方法

//獲取的charateristic的值

-(void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{

self.UUID2data = [NSData data];

    self.UUID2data = characteristic.value;

    NSString *datastring = [self convertDataToHexStr:self.UUID2data];

    NSLog(@"datastring = %@",datastring);

    NSString *str = @"550f03";

    if ([datastring containsString:str]) {

       NSString *UUID2str = [datastring substringWithRange:NSMakeRange(6, 16)];

        self.UUID2TF.text = UUID2str;

    }

因為我們的數據包前面三位是固定的而且沒什么用,所以要截取掉,這樣有用的數據就出來了,還需要提一下characteristic.value是16進制的需要進行轉換在展示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM