Использовать удаленный последовательный порт в качестве локального

Большая часть этого исходит от http://wiki.phonicuk.com/Installing-Mono-in-CentOS-5-x.ashx

1) Удовлетворите зависимости перед компиляцией моно

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
yum install bison gettext glib2 freetype fontconfig libpng libpng-devel \
    libX11 libX11-devel glib2-devel libgdi* libexif glibc-devel urw-fonts \
    java unzip gcc gcc-c++ automake autoconf libtool make bzip2 wget

2) скомпилируйте моно

cd ~
wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.gz
tar zxvf mono-2.10.8.tar.gz
cd mono-2.10.8
./configure --prefix=/usr/local
make

3) установите моно

make install

3
06.03.2019, 06:40
2 ответа

Обратите внимание, что «виртуальный последовательный порт» — это терминология Windows; В Linux нет «виртуальных последовательных портов».

В Linux есть файл, который поддерживает дополнительные ioctls; если они вам не нужны, вы можете попробовать перенаправление с помощью таких инструментов, как socat.

Если они вам нужны, я не знаю решения. Однако то, что вы можете сделать, это прозрачно пересылать USB-устройства по сети, используя, например,. usbip . Большинство дистрибутивов Linux включают usbip в виде пакетов.

Таким образом, вы рассматриваете последовательный порт USB на удаленном устройстве как локальное устройство USB, а затем получаете доступ к /dev/ttyUSBXна локальном устройстве.

Это также будет пересылать пакеты USB, представляющие операции DTR, RTS и т. д., в обоих направлениях.

4
27.01.2020, 21:17

Мое внимательное прочтение man socatвыявило следующий пример:

socat PTY,link=$HOME/vmodem0,rawer,wait-slave \
    EXEC:"ssh modemserver.us.org socat - /dev/ttyS0,nonblock,rawer"

задокументировано как:

- generates  a pseudo terminal device (PTY) on the client that can
be reached under the symbolic link $HOME/vmodem0.  An appli‐
cation that expects a serial line or modem can be configured to
use $HOME/vmodem0; its traffic will be directed to a  modem‐
server  via  ssh  where  another  socat  instance  links  it  to
/dev/ttyS0.

Таким образом, ПК запускает socat, который выделяет ptyссылку на $HOME/vmodem0, а затем направляет это через stdin/stdout команды ssh,который выполняет socatна удаленном конце для аналогичного (, но противоположного )направления stdin/stdout в/из (удаленного)/dev/ttyS0. В скобках справочная страница предлагает использовать $HOME/dev/vmodem0в качестве имени ссылки, но я сократил его только для удобства.

Вам, очевидно, нужно адаптировать команду для использования вашего IP-адреса Raspberry вместо modemserver.us.orgи /dev/ttyUSBXвместо /dev/ttyS0, но я полагаю, что все остальное может быть дословным.

0
27.01.2020, 21:17

Теги

Похожие вопросы