我正在制定一个自定义蓝牙产品,制造商已经在广告数据包中嵌入了数据。如何有效解析这些数据,以便在iOS应用程序中可用?解析BLE制造商数据 - Objective-C
我目前从NSDictionary中抓取数据,如下所示:
NSData *rawData = [advertisement objectForKey:@"kCBAdvDataManufacturerData"];
数据包中的数据的结构,像这样:
uint8_t compId[2];
uint8_t empty[6];
uint8_t temperature[2];
uint8_t rampRate[2];
uint8_t dutyFactor[2];
uint8_t alarms[2];
uint8_t statusFlag;
uint8_t speedRpm[2];
uint8_t vib[2];
uint8_t deviceTypeId;
uint8_t radioStatus;
uint8_t cycleTimer[2];
uint8_t batteryLevel;
我首先想到的是将其转换为一个字符串并解析出我需要的数据,但这看起来很慢并且效率很低。开发人员应该有一个标准的方式来处理这个问题。对于按位运算符,我仍然很绿。所有的数据格式化为小端。
请看看我的问题。为什么我无法访问制造商数据? https://stackoverflow.com/questions/46402904/is-there-any-way-access-manufacturer-data-from-ios-device – sorunluadam