Ваш код работает на моем компьютере. Я думаю, что функция, которую вы пытаетесь использовать (writelines
), была добавлена не так давно в pyserial, так что, возможно, вы используете устаревшую версию.
В любом случае, насколько я знаю, writelines
наследуется от класса обработки файлов, и вам не нужно использовать его для того, что вы пытаетесь сделать. На самом деле я не думаю, что это даже хорошо документировано
Просто измените его на:
ser.write(byte_command)
Если вы предпочитаете, вы можете увидеть, какая у вас версия Pyserial и / или обновить.
Для проверки вашей версии запустите: pip3 list | grep serial
Если у вас нет версии 3.4, вы можете обновить с помощью: pip3 install pyserial --upgrade
Учитывая, как writelines
работает с файлами (см., Например, здесь ), ваша ошибка может быть связана с вашим основным ядром Python (для вашей справки я использую Python 3.7.3).