私は配列[0, 100, 150, 175, 255]
をシリアル経由でPythonで送信しようとしています。私はbytearrayに変換して送信します。シリアルポート経由で小数点配列を送受信する方法は?
データIが
['\x00', 'd', '\x96', '\xaf', '\xff']
のようなルックスを受けていると私は[0, 100, 150, 175, 255]
に戻ることはできません。
このようなデータを送受信するより良い方法はありますか?私はPythonには新しく、いくつかの方法には慣れていません。
これは私が使用しているコードです。
SEND
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=10)
elements= [0,100,150,175,255]
data2=bytearray(elements)
while True:
ser.write(data2)
はありがとう
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=10)
vect = []
while True:
vect.extend(ser.read())
を受けます。
の両方で正常に動作する:ここで
デモですか? 'eval'と' 'unicode_escape'' ??? –@ PM2Ringその問題は何ですか? –
'eval'は他のオプションがない場合にのみ使用してください。 'eval'は遅いだけでなく、' eval'と 'exec'はセキュリティリスクの可能性があるので避けるべきです。任意のunsanitisedデータを 'eval'に渡すことは、非常に安全です。詳細は、SOベテランNed Batchelderの[Eval really dangerous](http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html)を参照してください。 –