Настройка окружения
Выясняем какие USB-to-COM преобразователи доступны в системе:
1 | ls -l /dev/ttyU* |
Настройка прав доступа из под обычного пользователя:
1 | sudo chmod a+rwx /dev/ttyUSBx |
либо пользуемся механизмом udev, для чего нам понадобится положить по пути /etc/udev/rules.d
файл такого содержания (с расширением *.rules):
1 2 | SUBSYSTEMS=="usb", ATTRS{idProduct}=="ea60", ATTRS{idVendor}=="10c4", SYMLINK+="cp2102_%n", MODE="0666", GROUP="plugdev" SUBSYSTEMS=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="ft232r_$attr{serial}", MODE="0666" |
— в примере прописаны VID&PID микросхем-преобразователей FT232R и СР2102. После сохранения файла необходимо добавить пользователя в группу plugdev
(если он еще не добавлен):
1 | sudo usermod -a -G plugdev [username] |
И перезачитать содержимое правил в директории /etc/udev/rules.d
:
1 | sudo udevadm control --reload-rules |
Узнать VID:PID произвольного донгла USB-to-UART можно, используя команду lsusb:
1 | lsusb | cut -d' ' -f6-10 |
— первые два значения VID и PID в формате vvvv:pppp
.
Настройка TTY-порта
Надо установить утилиту stty из пакета coreutils:
1 | sudo yum install -y coreutils.x86_64 |
Настройка порта:
1 | stty raw -echo 9600 < /dev/ttyUSB1 |
или то же самое с другим синтаксисом:
1 | stty raw -echo 9600 -F /dev/ttyUSB1 |
В каком-то случае может понадобиться индивидуальная настройка stty. См. man stty
.
Работа в CLI: UART TX
Отправка в порт ASCII-строки:
1 | echo -n AT+ > /dev/ttyUSB1 |
Отправка бинарного файла в UART:
1 | dd if=fw_image_9600.sbl of=/dev/ttyUSB1 bs=1 |
Работа в CLI: UART RX
Приём из порта ASCII-последовательностей:
1 | cat < /dev/ttyUSB1 |
picocom
Удобная интерактивная консоль, в общем случае может хватить запуска со следующими «магическими» параметрами:
1 | sleep 1 && picocom --omap delbs --imap crcrlf,lfcrlf -b 9600 /dev/ttyUSB1 |