7P by regentag 4일전 | ★ favorite | 댓글 5개

문제

  • 우리 주변에는 시리얼 포트(흔히 COM 포트라 불리우는)를 통해 연결하는 많은 장치들이 있음. GPS 모듈, IRDA 등등
  • 우리가 원하는것은 실제 장치는 하나의 컴퓨터에 연결하고, 네트워크를 통해 원격 기기에서 애플리케이션을 실행하는 것
  • 애플리케이션은 시리얼 포트에서만 데이터를 읽을 수 있으므로 클라이언트는 가상 시리얼 포트를 사용해야 함
  • 따라서 우리에게 필요한 것은
    • 물리적 시리얼 포트에서 장치와 통신하고, 네트워크를 통해 서비스 하는 서버
    • 서버에 연결된 클라이언트
    • 가상 시리얼 포트

해결책

  • 해결책 중 하나는 텔넷과 RFC2217 - 텔넷 COM 포트 제어 옵션을 함께 사용하는 것
  • 이것은 위의 문제를 완벽하게 해결함
  • Telnet+RFC2217 시리얼 포트 포워딩을 지원하는 소프트웨어가 많이 있음 (윈도와 리눅스를 지원하는 서버, 클라이언트들)
  • 필요하다면 COM 포트를 다중화 하거나, 전송 데이터를 암호화 할 수 있음

적용 예시

윈도

  • 서버는 hub4com으로 구축
  • 클라이언트는 hub4com과 가상 시리얼 포트 드라이버인 com0com을 사용

리눅스

  • 서버는 ser4net으로 구축
  • 클라이언트는 socat 명령을 사용

com0com 으로 2개의 시리얼 포트 연결하면 별도의 하드웨어 없이 시리얼 통신 소프트웨어 개발 및 테스트 가능합니다.

집에 외장형 모뎀이 남아있지만. 더이상 전화선이 없음.

전 예전에 CTI 개발을 한참 했어서, 구형 교환기 중고를 하나 구해서 사무실에 뒀습니다.
Dialogic 보드도 이베이에서 구입하고요 ㅎㅎ
OpenAI 리얼타임 API도 나왔으니, 전화로 듣는 긱뉴스를 한번 개발해보려고 했는데.. 아우 할일이 많아서 자꾸 미뤄지네요.

COM 포트 단어 자체를 굉장히 오랜만에 들어보네요 ㅎㅎ
요즘은 데스크탑도 안쓰는 사람들이 많아서 아예 모를수도 있을듯요

비슷하게 USB 역시 네트워크를 통한 접근이 가능합니다.