0x38 、 0x39 、 0xC0 、 0xE8 などの 16 進コードがあります。この 16 進コードをそのまま blue-tooth に送信したいので、16 進または int に変換する必要はありません。私は自分のアプリ(blue-tooth Activity)で送信するためにこのコードを使用しました:
byte[] hex_txt = {(byte)0x38, (byte)0x39, (byte)0xC0, (byte)0xE8};
OutputStream outStream;
try {
outStream = socket.getOutputStream();
outStream.write(hex_txt);
System.out.println("byte sent: " + hex_txt);
}
このコードをブルートゥースに送信すると、さらに Arduino ボードに送信され、これらの 16 進コードと一致していくつかの操作を実行する必要があります。私の arduino コードは次のとおりです。
if(Serial.available()>3)
{
if(Serial.read()==0x38 && Serial.read()==0x39)
code=Serial.read()+Serial.read()*256;
irsend.sendCode(code,16);
Serial.println("code sent is");
Serial.println(code,DEC);
}
このArduinoコードに問題はありませんが、アプリからブルートゥースに送信しているものは間違っている可能性があります..一致していません. これらの16進コードを送信する必要があるのはどのタイプですか?