BluetoothプロトコルによるBluetooth伝送データの解析
3000 ワード
//
let num = "AAAA01400262007204041FCC".replace("AAAA","").replace("CC",""); //
let sun = 0; //
let strArr = []; //
for(let i=0;i=8){
str=str.substring(i-8,i);
}else{let str0="00000000";
str=str0.substring(0,str0.length-i)+str;
}
return str;
},
// bit6-bit0 -- bit6-bit4
bit6_0bit6_4(str0,str1){
return ((parseInt(str0.substring(1,8) + str1.substring(1,4),2).toString(10))/10).toFixed(2)
},
//
bit3_0bit3_0(str0,str1){
return ((parseInt(str0.substring(4,8) + str1.substring(4,8),2).toString(10)))
},
//
bit3_2bit3_0(str0,str1){
return ((parseInt(str0.substring(4,6) + str1.substring(4,8),2).toString(10))/10).toFixed(2)
},
//
bit1_0(str0){
return str0.substring(6,8)
},
文字列AAAA 014006272041 FCCを受信する場合、すべてのバイトは16進数である.最初のバイトAAAAと終了バイトCCを除去し、有用なデータは:01,40,02,62,72,04,04,1 F.合計9バイト!2,正しいかどうかを判断してチェックします.前の8バイトを加算します.01+ 40+02+62+00+72+04+04=11 F、8桁を低くして1 Fとします.9バイト目と同じです.正しいかどうかチェックして、次のステップを行います.正しくないです.このバイトは破棄します.3,上記の前8バイトはByte 0~Byte 7で順次表しています.速度値speedはByte 0のbit 6-bit 0とByte 1のbit 6-bit 4で構成されています.すなわち、01の低い7ビット(000001)と40のbit 6-bit 4(100)で構成されています.組み合わせて00000100=0 X 0 C=12で、表示される数値は010ビットとビットの1.2 bit-bit 2で表示されます.62のbit 6-bit 4(110)と組み合わせて0000101110=0 X 16=22と表示された値を10で割って表示します.つまり2.2 m/s^2を表示します.5減速加速度値はByt 4のbit 6-bit 0とByte 5のbit 6-bit 4で構成されています.つまり、00の低い7桁(0000)と72のbit 6-bit 4(111=000)を表示します.衝撃の数はByte 6のbit 6-bit 0とByte 7のbit 6-bit 4からなります.すなわち、04の低い7ビット(000000)と04のbit 6-bit 4(000)からなります.組み合わせて000000=0=0 X 20=32 msを表示します.7、衝突時間はByte 1のbit 3-bit 0とByte 3の組み合わせで、0010=0010の低いビット(0000)を表示します.バッテリー残量Byte 5のbit 3-bit 2とByte 7のbit 3-bit 0は72のbit 3-bit 2位(00)と04の低い4桁(0100)からなり、組み合わせて000100=0 X 04=4となり、表示された数値は10で割って、即ち0.4 v 9を表示し、パンチの種類はByte 5のbit 1-bit 0で表されています.