Introducción
Hace unos 6 meses, encontré un Raspberry Pi modelo B sentado en la esquina de mi escritorio, acumulando polvo y esperando una aplicación. Me he saltado la caja XBMC porque tengo uno de esos que es más poderoso y también lo suficientemente pequeño, ya con un Lenovo Q180 y el material de E / S real parece más difícil de lo que sería con un Arduino.Uno de mis clientes que había instalado un dispositivo de red en sus DC Racks, ayer habló conmigo y ya no estaba hablando con el mundo exterior. Su gestión es por SSH o por puerto serie. Era el problema y necesitaba ser la solución.
Este es un trabajo para RPi que consiste en instalar una caja para permitir la conectividad de red a un puerto serie, luego tomé una última imagen de Debian Wheezy SD del sitio web de RPi y el adaptador serial USB de mi bolso y me fui a trabajar.
Arrancar el RPi con el adaptador en serie instalado simplemente funciona como se supone que debe hacer el USB, el adaptador de chipset FTDI y simplemente aparece como / dev / ttyUSB0 en Linux.
Acabo de instalar mini com en el RPi para obtener acceso al puerto serie de forma remota, y luego SSH a un shell antes de ejecutarlo, pero estaba interesado en cómo esto podría escalar a más artilugios en serie por £ 2 cada uno en eBay, y 8 puertos hubs con motor corre a £ 15 por cada uno. Tiene 16 puertos por menos de £ 100. Si está creando un entorno de laboratorio para Cisco SWITCH o CCIE, entonces este es un trato bastante decente.
Los módulos NM-16 A y NM-32 A de Cisco son su alternativa. Tengo un dispositivo de puerto Lantronix 8, pero fue hecho antes de que Cisco dominara completamente el mundo de la red, y todos los demás tomaron el pin de su consola, lo que significa hacer cables especiales para usar en mi rack. Los módulos NM-16A van a eBay por alrededor de £ 150-200 en módulos. Además de los cables especiales para conectarlos, más el racter para colocarlos, o el antiguo Cisco 2509 u otro accesorio aleatorio de eBay.
Por lo tanto, aún necesita un par de cables de £ 50 para conectar todos los puertos y también un enrutador para colocar el módulo.
RPi tiene la ventaja adicional de que sigue siendo una caja de Linux y un servidor NTP o un servidor TFTP o DNS o RADIUS, por lo que también es para la red de su laboratorio.
Una pequeña aplicación llamada ser2net que escucha las conexiones entrantes de telnet y las conecta al puerto serie. También comprende RFC2217, una extensión del protocolo telnet que permite a un cliente controlar la configuración del puerto serie con un especial como Serial Port Redirector.
Procedimiento
- Primero tome la imagen Debian Wheezy SD de la página de descarga de la base Raspberry Pi y escríbala en una tarjeta SD nueva de 2GB.
- Arranque el Rpi desde la tarjeta, mientras está conectado a un monitor y la red Linux está preconfigurada para usar DHCP para obtener la dirección IP.
- La última distribución de ser2net se puede descargar usando wget.
wget http://downloads.sourceforge.net/project/ser2net/ser2net/ser2net-2.8.tar.gz
- Desarma, configúralo e instálalo
tar xvfz ser2net-2.8.tar.gz
cd ser2net-2.8
./configure && make && sudo make install
- Verifique el nombre del dispositivo del adaptador en serie
dmesg | grep tty
[9.735015] usb 1-1.3: convertidor pl2303 ahora conectado a ttyUSB0
- Cree un archivo de configuración en /etc/ser2net.conf
BANNER: banner1: este es el puerto TCP de ser2net \ p device \ d serial parms \ s \ r \ n
# No hagas esto por defecto
#CONTROLPORT: 23
2001: sin formato: 600: / dev / ttyUSB0: 9600 NINGUNO 1 STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
3001: telnet: 0: / dev / ttyUSB0: 9600 remctl banner1
- Pruébelo ejecutando el servidor
/ usr / local / sbin / ser2net -c /etc/ser2net.conf -n
- Obtenga un banner de bienvenida mientras lo ejecuta, y luego podrá abrir telnet al puerto 3001 en el RPi en una nueva ventana. Podrá hablar con el dispositivo conectado con el puerto serie.
- El último paso es iniciar el servicio ser2net cuando se inicia el RPi. Simplemente agregue la siguiente línea al final de /etc/rc.local, justo antes de la línea "salir 0":
- Para múltiples dispositivos seriales agregue líneas adicionales a /etc/ser2net.conf.
Extra queso
Desde los dispositivos en serie, puede registrar toda la salida para obtener una bonificación adicional en un entorno compartido. El archivo por sesión se puede obtener con una marca de tiempo para el inicio y el final, y también la IP de origen. Este es otro par de líneas de configuración en ser2net.confTRACEFILE: tr1: / var / log / ser2net / tr- \ p- \ Y- \ M- \ D- \ H: \ i: \ s. \ U
3001: telnet: 0: / dev / ttyUSB0: 9600 remctl banner1 tr = tr1 marca de tiempo
- Agregue tr = tr1 y marca de tiempo al final del final de cada línea telnet.
- A continuación, cree el directorio / var / log / ser2net y estará listo para funcionar.
- Se puede empaquetar con menos desorden con una caja de 1U con 16 puertos seriales en el pinout de Cisco y un simple conector de alimentación IEC. Costaría alrededor de £ 200.