Как физически подключить С2000-ПП к одноплатному компьютеру (Orange Pi, Raspberry Pi и т.д.)?
Способ 1. Преобразователь USB <-> RS485.
Можно использовать практически любые преобразователи этого типа. Тестировались C2000-USB (старого и нового типа) компании Болид, а так же различные преобразователи из Китая.
Например вот такое многофункциональное чудо:
Здесь и далее работа с одноплатником проводится от пользователя root, если настраиваете подключение под другим пользователем, используйте команду sudo.
Для работы с С2000ПП нам нужно узнать путь к файлу терминала.
Подключимся к консоли и введем команду:
root@valrond:~# ls -l /dev/tty* crw-rw-rw- 1 root tty 5, 0 Oct 27 20:05 /dev/tty crw--w---- 1 root tty 4, 0 Oct 27 20:05 /dev/tty0 crw--w---- 1 root tty 4, 1 Oct 27 20:06 /dev/tty1 ... ... ... crw-rw---- 1 root dialout 4, 71 Oct 27 20:05 /dev/ttyS7
Система выведет нам список терминалов доступных в настоящий момент.
Теперь подключим преобразователь к свободному USB порту.
Снова введем команду:
root@valrond:~# ls -l /dev/tty* crw-rw-rw- 1 root tty 5, 0 Oct 27 20:05 /dev/tty crw--w---- 1 root tty 4, 0 Oct 27 20:05 /dev/tty0 crw--w---- 1 root tty 4, 1 Oct 27 20:06 /dev/tty1 ... ... ... crw-rw---- 1 root dialout 4, 71 Oct 27 20:05 /dev/ttyS7 crw-rw---- 1 root dialout 188, 0 Oct 29 15:43 /dev/ttyUSB0
Появившийся новый терминал /dev/ttyUSB0 и есть подключенный преобразователь.
Преобразователи компании Болид определяются как /dev/ttyACM0
Теперь соединим проводами С2000-ПП и преобразователь.
Способ 2. Преобразователь UART 3,3v <-> RS485.
У одноплатных компьютеров есть встроенные порты UART. На каких выводах они расположены вы можете узнать из документации на конкретную модель, используемую вами.
Форм-фактор у преобразователей UART 3,3v <-> RS485 бывает разный, но по сути все одинаково: питание, uart-RX, uart-TX, uart-GND, RS485-A, RS485-B.
Для примера используем вот такой китайский преобразователь. Он отличается крайне малыми габаритными размерами, всего 18х12х2 мм.
Соберем схему подключения С2000-ПП к Orange Pi ZERO:
Обратите внимание, что tx и rx подключаются прямо, а не крестом, т.к. это преобразователь, а не реальная линия.
На Orange Pi порты UART_1, UART_2 и т.д. подключены к терминалам /dev/ttyS1, /dev/ttyS2 и т.д. соответственно.
Для того, чтобы проверить что порт UART_1 готов к работе подключимся к консоли и введем команду:
root@valrond:~# stty < /dev/ttyS1 -a speed 9600 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0; -parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
Система выведет текущие настройки порта. Если вместо этого система выводит сообщение об ошибке, необходимо настроить одноплатник для работы по встроенному порту UART.