Перейти к содержимому
Калькуляторы

Консольный сервер

Примерно год назад потребовался мне консольный сервер на 8 RS-232 портов с программным интерфейсом, совпадающим с Cisco
(типа telnet 192.168.200.200 2001). Покупать Moxa или б/у Cisco 2514 дороговато, да и места в стойке жаль.
Было решено делать сервер на миниатюрном компьютере типа Raspberry с USB хабом и 8 переходниками USB-COM.
Для линукса идеально подходит сервис ser2net. После некоторых усилий сервер заработал, но к тому времени у меня
появилось убеждение, что 8 переходников USB-COM в USB хабе- это неудобно и ненадежно. Поэтому был куплен 8-портовый 
"адаптер ST-Lab U-620 USB2.0 to 8P". У него есть свой блок питания, что гарантирует нормальные параметры RS-232 портов.
Raspberry оказался явно избыточен для такой задачи, как ser2net, поэтому я попробовал в качестве аппаратного сервера 
Wi-Fi роутер TP-Link MR-3020V3.20.
 На MR-3020 нормально ставится OpenWrt. После установки OpenWrt нужно обеспечить доступ в Интернет.
На OpenWrt нужно поставить прямо из репозитория:
  kmod-usb-serial; 
  драйвер для чипсета переходника USB-COM (например kmod-usb-serial-pl2303); 
  пакеты serv2net, minicom, nano
При этом на встроенной флэшке еще и место останется.
Дальше нужно в web-интерфейсе установить пароль, чтобы была возможность зайти на MR-3020 по ssh.

Зайти на роутер ssh root@192.168.1.1
Воткнуть USB-COM адаптер в USB порт MR-3020.
Команда dmesg | tail покажет насколько успешно этот адаптер опознался операционной системой.
Команда ls /dev покажет список устройств, в котором должно появиться нужное количество /dev/ttyUSB
Если не появились - значит не установлен правильный kmod-usb-serial.
С помощью minicom можно проверить работоспособность USB-COM адаптера.
Добавить c помощью nano в /etc/ser2net.conf что-то типа этого (c учетом количества RS-232 портов):

BANNER:banner:\r\n(term-OpenWRT/TL-MR3020) device \d [\s]\r\n\r\n
2001:telnet:600:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT banner
2002:telnet:600:/dev/ttyUSB1:9600 8DATABITS NONE 1STOPBIT banner
2003:telnet:600:/dev/ttyUSB2:9600 8DATABITS NONE 1STOPBIT banner
2004:telnet:600:/dev/ttyUSB3:9600 8DATABITS NONE 1STOPBIT banner
2005:telnet:600:/dev/ttyUSB4:9600 8DATABITS NONE 1STOPBIT banner
2006:telnet:600:/dev/ttyUSB5:9600 8DATABITS NONE 1STOPBIT banner
2007:telnet:600:/dev/ttyUSB6:9600 8DATABITS NONE 1STOPBIT banner
2008:telnet:600:/dev/ttyUSB7:9600 8DATABITS NONE 1STOPBIT banner

Перезапустить сервис /etc/init.d/ser2net restart и проверить доступ к serial портам через telnet.
Если все заработало - настроить ethernet интерфейс для своей сети, окончательно задавить WiFi или, 
наоборот, в качестве основного интерфейса использовать WiFi.
Можно поотключать всякие лишние сервисы типа dhcp, dns, ntp, luci, led.

На этой неделе потребовался еще один такой сервер, но купить еще один ST-Lab U-620 не удалось, они пропали
с рынка. Есть нечто похожее в ЧипДип-е, но цена... 
Нашел два 4-портовых китайских адаптера по 2т.р. за штуку, выглядящих точь-в-точь как "ST-Lab U-400 USB to 4P", 
и использовав первый попавшийся миниатюрный USB хаб без внешнего питания, соорудил сервер на таком же TP-Link MR-3020V3.20.
Работает вторые сутки, не сбоит и не греется.
Поскольку у меня появился USB тестер, померил потребление электричества.
Сам TP-Link MR-3020 кушает 5V 190mA; с хабом и двумя 4-портовыми адаптерами 290ma. На адаптерах стоят зеленые светодиоды
ослепляющего действия, по-видимому они и потребляют основную часть тока. При удобном случае я их отпаяю или выкушу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.