Unser benutzerdefinierter Smart Router gibt mir eine NSData
Antwort
<800c01ff 0001ffff ffff29ff>
Hier 800c
ist meine Geräte-ID. Wie konvertiere ich es in int
?
deviceId = 32780;
Wenn ich einen Befehl an den Router sende, konstruiere ich ihn wie folgt:
Byte mqttData[12];
mqttData[0] =[[NSNumber numberWithUnsignedChar:(deviceID >> 8) & 0xFF] intValue];
//mqttData[0]=128 or 80 in Hex
mqttData[1] =[[NSNumber numberWithUnsignedChar:deviceID & 0xFF] intValue];
//mqttData[1]=12 or 'C' in Hex
return [NSData dataWithBytes:mqttData length:sizeof(mqttData)];
int deviceId = CFSwapInt16BigToHost(*(int*)([deviceIDData bytes]))
Antwort aus Larmes Kommentar.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen