라즈베리 파이 + ser2net = 저렴한 NM16A
소개
약 6 개월 전에 저는 책상 모서리에 앉아 먼지를 모으고 응용 프로그램을 기다리는 Raspberry-Pi 모델 B를 발견했습니다.. XBMC 상자를 건너 뛰었습니다 .Lenovo Q180에서 이미 강력하고 충분히 작은 것 중 하나가 있고 실제 I / O 항목이 Arduino보다 훨씬 어려워 보입니다.
DC 랙에 네트워크 장치를 설치 한 고객 중 한 명은 어제 나와 더 이상 외부 세계와 이야기하지 않았습니다. 관리는 SSH 또는 직렬 포트로 이루어집니다. 문제였으며 해결책이 필요했습니다.
이것은 RPi가 직렬 포트에 네트워크 연결을 허용하는 박스를 설치하는 작업입니다. 그런 다음 RPi 웹 사이트에서 최신 데비안 Wheezy SD 이미지와 백에서 USB 직렬 어댑터를 가져 와서 일을 시작했습니다.
직렬 어댑터가 설치된 상태에서 RPi를 부팅하는 것은 FTDI 칩셋 어댑터처럼 작동하며 Linux에서는 / dev / ttyUSB0으로 나타납니다.
Rpi에 minicom을 설치하여 직렬 포트에 원격으로 액세스 한 다음 SSH를 실행하여 쉘에 SSH로 연결했지만 eBay에서 각각 £ 2의 직렬 기즈모로 확장하고 8 포트로 전원을 공급하는 방법에 관심이있었습니다. 허브는 각각 £ 15로 운영됩니다. 16 포트는 £ 100 이하입니다. Cisco SWITCH 또는 CCIE를위한 랩 환경을 구축하는 경우 이는 꽤 괜찮은 거래입니다.
Cisco의 NM-16 A 및 NM-32 A 모듈이 대안입니다. Lantronix 8 포트 장치가 있지만 Cisco가 네트워크 세계를 완전히 장악하기 전에 만들어졌으며 다른 모든 사람들이 콘솔 핀아웃을 사용했습니다. 이는 내 랙에서 사용할 특수 케이블을 만드는 것을 의미합니다. NM-16A 모듈은 모듈에서 약 150-200 파운드로 eBay를 지원합니다. 또한 특수 케이블을 연결하여 연결하거나 리액터를 사용하거나 고대 Cisco 2509 또는 기타 임의의 eBay 스 캐프를 연결하십시오.
따라서 모든 포트를 연결하기 위해 £ 50 케이블 쌍이 필요하고 모듈을 넣을 라우터도 필요합니다.
RPi는 여전히 Linux 박스 및 NTP 서버 또는 TFTP 서버 또는 DNS 또는 RADIUS라는 추가 보너스를 제공하므로 실험실 네트워크에도 적합합니다.
들어오는 텔넷 연결을 수신하고 직렬 포트에 연결하는 ser2net이라는 작은 응용 프로그램입니다. 또한 클라이언트가 Serial Port Redirector와 같은 특수한 직렬 포트 설정을 제어 할 수있는 텔넷 프로토콜의 확장 인 RFC2217을 이해합니다.
순서
- 먼저, Raspberry Pi Foundation 다운로드 페이지에서 Debian Wheezy SD 이미지를 가져 와서 새로운 2GB SD 카드에 씁니다.
- 모니터와 네트워크에 연결되어있는 동안 카드에서 Rpi를 부팅하십시오. Linux는 DHCP를 사용하여 IP 주소를 얻도록 미리 구성되어 있습니다.
- 최신 ser2net 배포판은 wget을 사용하여 다운로드 할 수 있습니다.
wget을 사용하여 최신 ser2net 배포판을 다운로드하십시오.
wget http://downloads.sourceforge.net/project/ser2net/ser2net/ser2net-2.8.tar.gz
Untar, 구성 및 설치
tar xvfz ser2net-2.8.tar.gz
cd ser2net-2.8
./configure && make && sudo make install
직렬 어댑터의 장치 이름 확인
dmesg | grep tty [9.735015] usb 1-1.3: pl2303 converter now attached to ttyUSB0
/etc/ser2net.conf에 구성 파일을 만듭니다.
BANNER: banner1: this is ser2net TCP port \ p device \ d serial parms \ s \ r \ n
# Don't do this by default
#CONTROLPORT: 23
2001: raw: 600: / dev / ttyUSB0: 9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
3001: telnet: 0: / dev / ttyUSB0: 9600 remctl banner1
서버를 실행하여 테스트
/ usr / local / sbin / ser2net -c /etc/ser2net.conf -n
이를 실행하는 동안 환영 배너를 받으면 텔넷을 열어 RPi의 포트 3001을 새 창에서 열 수 있습니다. 직렬 포트에 연결된 장치와 통신 할 수 있습니다.
마지막 단계는 RPi가 부팅 될 때 ser2net 서비스를 시작하는 것입니다. 'exit 0'줄 바로 앞에 /etc/rc.local의 맨 아래에 다음 줄을 추가하십시오.
/ usr / local / sbin / ser2net -c를 선택하면 부팅시 자동으로 시작됩니다.
여러 직렬 장치의 경우 /etc/ser2net.conf에 추가 행을 추가하십시오.
엑스트라 치즈
직렬 장치에서 공유 환경에 추가 보너스에 대한 모든 출력을 기록 할 수 있습니다. 세션 당 파일은 시작 및 완료에 대한 시간 소인과 소스 IP를 얻을 수 있습니다. 이것은 ser2net.conf의 또 다른 구성 줄입니다.
TRACEFILE: tr1: / var / log / ser2net / tr- \ p- \ Y- \ M- \ D- \ H: \ i: \ s. \ U
3001: telnet: 0: / dev / ttyUSB0: 9600 remctl banner1 tr = tr1 timestamp
- 각 텔넷 행 끝에 tr = tr1 및 타임 스탬프를 추가하십시오.
- 그런 다음 / var / log / ser2net 디렉토리를 작성하십시오.
- Cisco 핀아웃에 16 개의 직렬 포트와 간단한 IEC 전원 커넥터가 포함 된 1U 박스로 엉망으로 포장 할 수 있습니다. 약 200 파운드가 소요됩니다.