1. Включение портов
Предварительно в веб-интерфейсе Teleofis ER108 включите и настройте необходимые порты. Также выставьте IP-адрес устройства (например, 192.168.1.88), см. Руководство пользователя. Конвертеры TELEOFIS ER108 rel.4.2.
2. Установка драйвера виртуальных портов
Скачайте дистрибутив с сайта Virtual Serial Port Driver for Linux (VSPDL). На данный момент последняя версия от 09.08.2024. Распакуйте архив vspd-1.54-rsmu.x86_64.tar.gz.
Установку выполняйте с правами root. Внутри архива есть файл README с описанием процесса установки. Драйвер стартует автоматически при старте системы.
systemctl start vspd systemctl restart vspd
3. Настройка виртуальных портов
Под пользователем root редактируем файл /usr/local/vspd/etc/vspd.conf
<vspdconfig>
<!-- ROOT DIRECTORY FOR THE DAEMON -->
<root dir="/usr/local/vspd"/>
<devprefix value="/dev/vspd"/> <!-- имя портов /dev/vspsX где X-номер -->
<!-- HOST TO BIND BY DEFAULT -->
<!-- IP интерфейса компьютера -->
<bind host="192.168.1.15"/>
<timeout exec="10000" priority="10"/>
<log type="file" level="EMR" path="var/vspd.log"/>
<log type="file" level="ALR" path="var/vspd.log"/>
<log type="file" level="CRT" path="var/vspd.log"/>
<log type="file" level="ERR" path="var/vspd.log"/>
<log type="file" level="WRN" path="var/vspd.log"/>
<log type="file" level="NTC" path="var/vspd.log"/>
<log type="file" level="INF" path="var/vspd.log"/>
<log type="file" level="DBG" path="var/vspd.log"/>
<!-- ==================== RS232 Config==================== -->
<vsp num="0"> <!-- Имя порта /dev/vsps0 -->
<bind host="" port="1001"/>
<connection rmode="client/server" proto="tcp" conmode="ondata" timeout="5" onthe fly="disabled"/>
<destination ip="192.168.1.88" port="60001" cport="65535"/> >!-- 192.168.1.88 – ip teleofis ER108 -->
<packets maxlen="255" maxdelay="0" starton="any"/>
<log type="file" level="EMR" path="var/dev.0.log"/>
<log type="file" level="ALR" path="var/dev.0.log"/>
<log type="file" level="CRT" path="var/dev.0.log"/>
<log type="file" level="ERR" path="var/dev.0.log"/>
<log type="file" level="WRN" path="var/dev.0.log"/>
<log type="file" level="NTC" path="var/dev.0.log"/>
<log type="file" level="INF" path="var/dev.0.log"/>
<log type="file" level="DBG" path="var/dev.0.log"/>
</vsp>
<!-- ==================== RS485-1 Config==================== -->
<vsp num="1"> <!-- Имя порта /dev/vsps1 -->
<bind host="" port="1002"/>
<connection rmode="client" proto="tcp" conmode="ondata" timeout="5" onthe fly="disabled"/>
<destination ip="192.168.1.88" port="60002" cport="65535"/>
<packets maxlen="255" maxdelay="0" starton="any"/>
<log type="file" level="EMR" path="var/dev.1.log"/>
<log type="file" level="ALR" path="var/dev.1.log"/>
<log type="file" level="CRT" path="var/dev.1.log"/>
<log type="file" level="ERR" path="var/dev.1.log"/>
<log type="file" level="WRN" path="var/dev.1.log"/>
<log type="file" level="NTC" path="var/dev.1.log"/>
<log type="file" level="INF" path="var/dev.1.log"/>
<log type="file" level="DBG" path="var/dev.1.log"/>
</vsp>
<!-- ==================== RS485-2 Config==================== -->
<vsp num="2">
<bind host="" port="1003"/> <!-- Имя порта /dev/vsps2 -->
<connection rmode="client" proto="tcp" conmode="ondata" timeout="5" onthe fly="disabled"/>
<destination ip="192.168.1.88" port="60003" cport="65535"/>
<packets maxlen="255" maxdelay="0" starton="any"/>
<log type="file" level="EMR" path="var/dev.2.log"/>
<log type="file" level="ALR" path="var/dev.2.log"/>
<log type="file" level="CRT" path="var/dev.2.log"/>
<log type="file" level="ERR" path="var/dev.2.log"/>
<log type="file" level="WRN" path="var/dev.2.log"/>
<log type="file" level="NTC" path="var/dev.2.log"/>
<log type="file" level="INF" path="var/dev.2.log"/>
<log type="file" level="DBG" path="var/dev.2.log"/>
</vsp>
</vspdconfig>
После редактирования файла перезапустите сервис:
systemctl restart vspd
Установите права:
chmod 666 /dev/vsps*
Также добавьте разрешение на доступ к портам при старте компьютера. Пример файла /etc/rc.local:
#!/bin/sh -e chmod 666 /dev/ttyS* chmod 666 /dev/vsps* exit 0
4. Проверка портов
Проверку портов можно производить с помощью программ putty или minicom. Порты имеют имена:
/dev/vsps0/dev/vsps1/dev/vsps2
Открытие порта с помощью minicom:
minicom -D /dev/vsps0
Логи работы можно посмотреть в папке:
/usr/local/vspd/var/
Также работу портов можно проверить командой:
sudo dmesg | grep vsps
/usr/local/vspd/etc/vspd.conf.