|
|
(не показано 10 промежуточных версий 5 участников) |
Строка 1: |
Строка 1: |
| '''Внимание!''' Данные инструкции следует выполнять только
| | #REDIRECT [[Socat]] |
| в закрытой подсети. Не следует давать доступ к RS-485 портам
| |
| по TCP, если Wiren Board доступен по реальному IP снаружи.
| |
| | |
| Допустим, Wiren Board имеет IP 192.168.3.12.
| |
| | |
| Выполняем на Wiren Board от root'а:
| |
| <pre>
| |
| apt-get install socat
| |
| service wb-homa-modbus stop
| |
| socat -d -d -d -x /dev/ttyNSC0,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8 TCP-LISTEN:10010&
| |
| socat -d -d -d -x /dev/ttyNSC1,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8 TCP-LISTEN:10011&
| |
| </pre>
| |
| | |
| Обратите внимание на кодирование количества стоп-битов:
| |
| * cstopb=1 — 2 стоп-бита,
| |
| * cstopb=0 — 1 стоп-бит.
| |
| Параметр cstopb имеет булевский тип, подробнее смотрите ```man socat```.
| |
| | |
| | |
| Вторая команда - остановка драйвера Modbus во избежание
| |
| конфликтов при работе с RS-485 портами.
| |
| | |
| Выполняем на компьютере (под Linux):
| |
| <pre>
| |
| socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/tmp/ttyNSC0 tcp:192.168.3.12:10010&
| |
| socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/tmp/ttyNSC1 tcp:192.168.3.12:10011&
| |
| sudo ln -fs /tmp/ttyNSC{0,1} /dev
| |
| </pre>
| |
| | |
| После выполнения этих команд в системе (на PC) появляются
| |
| специальные файлы /tmp/ttyNSC0 и /tmp/ttyNSC1, соответствующие
| |
| RS-485 портам Wiren Board. Последняя команда для удобства создаёт
| |
| в /dev символические ссылки на файлы портов, что позволяет,
| |
| например, использовать на PC конфигурацию драйвера Modbus,
| |
| написанную для Wiren Board, без каких-либо изменений.
| |
| | |
| Опции -d и -x в обоих случаях можно опустить - они нужны для
| |
| вывода диагностики и шестнадцатеричных дампов передаваемых данных.
| |