動作環境
Ubuntu 16.04 LTS desktop amd64
Python 3.5.2
Python 2.7.12
CentOS6.8ではpySerialの動作がうまくいかなかった。
Ubuntu 16.04ではどうか。
概要
pySerialでのテキスト送信時に以下のエラーが出る。
OSError: [Errno 5] Input/output error
code
write_test_180119.py
import serial
import time
def main():
print("Hello")
con1 = serial.Serial('/dev/ttyUSB0', 9600, timeout=10)
str1 = b'from0\n'
con1.write(str1)
con1.close()
if __name__ == '__main__':
main()
発生
上記のスクリプトを何回か実行していると発生する。
一度エラーが出ると、それ以降の送信はすべて失敗する。
USBを抜き差しすることで送信可能状態に戻るが、送信を繰り返すうちに同じ症状に陥る。
Raspberry Pi
Raspberry Piで使っていたpySerialを確認してみた。
python-serial 2.6-1.1
Python 2.7.9からループバックテストコードを実行すると問題なく動作した。