質問: self.ser.read_until(size=r_size) # size分Read print('Recv: ' + str(self.r_data)) return self.r_data ``` ### 試したこと 試しに下記のようなコマンドを送ろうと思い、 送信部分に直接コマンドを入力すると、正しく送れているようです。 コマンド:81 01 04 47 00 00 00 00 FF self.ser.write(b'\x81\x01\x04\x47\x00\x00\x00\x00\xFF') データの型変換が上手くいってないのでしょうか?
回答: 16進文字列をバイナリーデータに変換するコードは、Qiitaの記事 16進文字列をバイナリに変換 で説明されています。 参考にしてください。 encode関数、decode関数は、文字コードの変換に使うものだと思います。