Очень часто при отладке различных программ на Arduino используется так называемый Serial-порт. Из него можно как считывать данные, так и отправлять команды на наше устройство.
Посмотрим, как работать с Serial, но не со стороны Arduino, а со стороны компьютера. Готовы? Поехали!
Один из инструментов, входящих в состав Arduino IDE, носит гордое название - Монитор порта. Он может быть запущен только когда плата подключена к компьютеру. Есть возможность изменять скорость передачи данных, и символ окончания строки.
Если мы хотим работать только с текстом - рабочий вариант, но если при подключении открывается консоль(например в случае с Micropython), об удобстве можно забыть.
Поскольку интерфейс Serial-порта используется не только при разработке микроконтроллеров, но и в других областях IT были созданы специальные программы, для удобного взаимодействия или управления.
Одним из самых популярных решений для Windows - является программа PuTTY. Не смотря на то, что она заявлена как SSH клиент, её очень часто используют для подключения по COM-порту.
Для этого необходимо на основной вкладке среди способов подключения выбрать Serial
, ввести имя порта, скорость и нажать на Open
.
К сожалению данная программа доступна только для Windows. Пользователям MacOS - можно использовать CoolTerm(кстати, он доступен и для Windows и Linux)
или программу с простым названием Serial, правда за её использование после пробного периода придётся отдать 30$.
Но в том случае, когда у вас уже готовое устройство и вам необходимо им управлять, каждый раз отправлять команду - очень не удобно. Гораздо проще автоматизировать это, написав свою программу.
Для того, что бы написать программу для управления устройством через Serial-порт на Python, необходимо использовать библиотеку PySerial
. Её можно установить через менеджер пакетов: pip install pyserial
.
Для создания подключения и отправки сообщения необходим следующий код:
my_serial = serial.Serial('/dev/ttyS1', 115200)
my_serial.write(b'command_1')
my_serial.close()
Он откроет подключение на порту /dev/ttyS1
, со скоростью 115200
, затем отправит на устройство байтовую строчку b'command_1'
, а после этого закроет подключение.
Подробнее об использовании библиотеки можно прочитать в этой статье.
Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.
Комментарии