2015년 7월 6일 월요일

플그램: Win7에서 가상 시리얼 포트(Null-modem emulator) 프로그램 com0com 설치하기.

시리얼 통신 프로그램을 짤려면, 해당 장치가 있는게 제일 좋겠으나, 장비가 없는 상태에서 프로토콜만 맞춰 개발해야 할때도 있다.

그럴때 필요한것이 가상포트 프로그램.
가장 유명한것이 Virtual Serial Port Emulator (VSPE) 라는 것이 있으나, 유료다.
32bit 용은 Freeware 지만, 이걸 쓰자고 32bit 용만 쓸수도 없으니...

할 수 없이 마지막 대안인 오픈소스 프로그램 com0com 을 설치해 본다.
http://com0com.sourceforge.net/ 에서 다운 받을 수 있다.




프로젝트 페이지로 이동해서...


"Null-modem emulator" 에서 다운 받으면 "com0com" 을 다운 받을 수 있다.
파일을 다운 받은 후 압축을 풀어 보면...

이렇게 단촐한 파일이 2개 있는데...
일단 "ReadMe.txt" 파일을 꼼꼼히 읽어 보기 바란다.

왜냐 하면, 이 파일을 Win7 이상의 OS 에선 그냥 실행해서는 설치가 안되기 때문이다.
다운 받은 파일의 이름을 보면 "com0com-3.0.0.0-i386-and-x64-unsigned.zip" 라고 되어 있을 텐데, 파일 이름을 보면 알 수 있겠지만, "unsigned" 프로그램이다.

즉, 공인된 인증서가 없는 프로그램이라 보안상 설치가 안된다.
설치를 하더라도 장치관리자에서 보면 "경고" 아이콘이 뜬채 활성화가 되지 않는다.

그래서...


보다시피 "bcdedit.exe -set TESTSIGNING ON" 이라는 명령어를 실행시켜, 인증서가 없는 프로그램이 설치 가능하게 만들어야 한다.

물론 보안상 좀 문제가 있기는 하겠지만... 이거 쓸려면 어쩔 수 없다.


이렇게 커멘트 창을 관리자 권한으로 실행 시키고.


"bcdedit.exe -set TESTSIGNING ON" 를 실행 시킨뒤, 컴퓨터를 재 부팅 한다.


그런 다음 설치를 시작하면, 계속 인증서가 없다는 메시지가 나오겠지만, 무시하고 설치한다.
이렇게 해서 정상적으로 설치가 되었다면...


 이렇게 com0com 장치와 포트가 생성되어 있을 것이다.
맨처음 단계인 "bcdedit.exe -set TESTSIGNING ON" 를 실행하지 않고 설치를 하면 장치는 생성되지만, 아래 쪽에 있는 포트가 생성되지 않는다.

이렇게 포트가 생성되면 테스트를 한번 해본다.
원래는 하이퍼 터미널을 이용해 테스트 하지만, Win7 에서는 없으니...
그냥 Putty 로 테스트 해본다.


연결 타임을 "Serial" 로 하고 "Serial line" 을 com0com 에 등록되어 있는 "COM4", "COM5"  를 지정해 터미널을 연다.
그러면...


"COM4" 와 "COM5" 이 연결되어 있는 상태이므로.
이렇게 "COM5" 창이 활성화 된 상태에서 키보드를 입력하면 비활성화가 되어 있는 "COM4" 에서 입력한 값이 나타난다.