Serial-порт: как с ним работать?

29 декабря 2019


Очень часто при отладке различных программ на Arduino используется так называемый Serial-порт. Из него можно как считывать данные, так и отправлять команды на наше устройство.

Посмотрим, как работать с Serial, но не со стороны Arduino, а со стороны компьютера. Готовы? Поехали!

Вариант первый. Arduino IDE

Один из инструментов, входящих в состав 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. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.


Поделиться: