2012-01-31 3 views
1

통신 중개인으로 Windows 7 x64 PC를 사용하여 USB 프로토콜 분석기를 개발하고 싶습니다.컴퓨터를 USB 통신 중개인으로 사용

임베디드 시스템을 사용하여 때로는 USB를 통해 "대화"하는 두 개의 장치가 있으며 "말하는"것이 무엇인지 알아야합니다.

제 생각에는이 두 장치를 내 PC에 연결하고 해당 응용 프로그램에 통신에 사용되는 2 개의 포트가 있음을 알리십시오. 다음으로 애플리케이션은 두 포트를 수신하고 메시지를 기록한 다음 다른 포트로 리디렉션합니다.

원시 USB 데이터를 사용하여이를 수행하는 방법이 있다면 완벽 할 수있는 USB 장치 (일부는 Windows 드라이버가 없음) 용 드라이버를 설치하지 않아도됩니다.

저는 C# 및 Java에 대한 지식이 있지만 다른 언어도 허용됩니다.

+3

왜 downvote ??? –

답변

1

SnoopyPro (프리웨어 오픈 소스)과 같은 USB 스니핑 프로그램을 사용해야 데이터를 가져올 수 있습니다. 캡처 라이브를 프로그램에 전달하는 방법이 있는지는 모르겠지만 캡처를 저장 한 다음 자체 코드에서 사후 처리를 수행 할 수 있습니다. 엔드 포인트 중 하나가 사용자의 컴퓨터 인 경우에만 작동합니다.

컴퓨터를 사용하지 않을 두 개의 장치가있는 경우 당신은 가능성이 필요합니다 specialized hardware합니다 (cheepest 하나가 $ 400와는 ​​고속 전송 속도를하지 않을 것이다, 당신이 작업을 수행 할 수 $ 1200 모델이 필요합니다.)

+0

하나의 장치를 중지하고 다른 장치로 데이터를 전송하려면 통신을 완전히 제어하는 ​​것을 선호합니다. 나는 임베디드 시스템을 사용하는 방법을 알고 있지만, 지금 당장은 dev 보드가 없다. – rnunes

+1

두 디바이스 사이에 어떤 종류의 하드웨어가 없으면 불가능할 것 같지 않다. 개발자는 마더 보드의 칩셋이 초기 핸드 쉐이킹을 수행하고있는 것처럼 Linux에서 드라이버를 작성할 수도 있습니다. 컴퓨터를 에뮬레이트하여 하나의 장치에 대한 "호스트"와 다른 장치에 대한 "주변 장치"둘 다 필요로하는 방법. –

+0

USB 스플리터를 납땜하면, 여성 1 명과 남성 USB 커넥터 2 개가 있는데 (PC에 연결하는 두 번째 남성), 교환 된 메시지를 로깅하는 데 사용합니까? OS가 통신을 망치지 않을 것이라고 생각합니까? 난 그냥 "매우 일반적인"문제를 해결하기 위해 dev에 보드를 구입 피하고있다 – rnunes

관련 문제