2010-12-10 2 views
0

rs-232 인터페이스 (초음파 펄서 수신기)를 통해 제어되는 하드웨어 장치가 있습니다. 내 컴퓨터에서 장치로 명령을 보내려면 프로그램을 작성해야합니다. 그러나 비정상적으로 장치에는 직렬 포트 (DB-9 COM 포트)가 없으며 RJ45 소켓 (이더넷 소켓)이 있습니다. 장치에는 컴퓨터의 통신을위한 직렬 케이블에 장치의 이더넷 포트를 연결하는 어댑터가 함께 제공됩니다.이더넷 케이블 (TCP)을 통한 rs-232 직렬 연결

불행히도 내 컴퓨터에는 직렬 포트가 없으며 이더넷 포트만 있습니다. 가능한 경우 어댑터를 제거하고 이더넷 케이블을 사용하여 컴퓨터에 장치를 직접 연결하고 싶습니다. 이것은 물리적으로 가능하지만 메시지 프로토콜을 변환하는 방법을 모르겠습니다. 예를 들어, 내 장치는 tcp 소켓을 여는 IP 주소가 없습니까?

지금까지 나는 TCP를 지원하는 다른 장치에 TCP 소켓을 통해 메시지 스트림을 보내기 위해 Boost.asio (우분투 상자에서)를 사용 해왔다. 가능하다면 Boost.Asio 라이브러리를 계속 사용하고 싶습니다. 크로스 플랫폼이기 때문에 가능합니다. 어디에서 시작해야할지 모르겠습니다. 저는 항상 Boost.Asio 라이브러리를 사용하여 대부분의 프로토콜 문제를 숨 깁니다. 그러나 비슷한 일을하는 것처럼 보이는 Windows 프로그램이 있으므로 가능하다고 생각합니다. 예를 들어 http://com0com.sourceforge.net/

모든 안내 지침을 환영합니다. 많은 감사합니다

답변

7

실제로는 물리적으로 작동하지 않습니다. 그것은 단지 기계적으로 작동합니다. 이더넷에서 사용하는 물리적 인 전압과 전류는 직렬 포트에서 사용되는 것과 매우 다릅니다. 뿐만 아니라, 핀아웃도 호환되지 않습니다.

당신에게 운이 좋은 이더넷은 자기 결합 신호를 사용합니다. 그렇지 않으면 마더 보드 나 초음파 장치가 튀어 버렸을 것입니다.

소프트웨어 프로토콜의 문제 만이 아닙니다.

+1

예, 운 좋게도 - 물리적/기계적 혼란이 비쌀 수도 있습니다. 나는 그들이 모든 다른 소켓을 만드는 사람이라고 생각한다. – Tom

+0

아, 시작하지 마세요. 전 세계가 2 개의 서로 다른 AC 전압으로 작동한다는 것을 몰랐기 때문에 한 번 내 PC (전원 공급 장치와 마더 보드 모두)를 구웠습니다. 오늘날까지 전원 공급 장치의 3 핀 커넥터는 둘 다 동일하지만 유일한 차이점은 전원 공급 장치의 레이블 (경우에 따라 누락 된)과 해당 스위치를 선택하는 스위치입니다. – slebetman

5

당신은 이것을 직접 할 수 없습니다. 컴퓨터에 RS-232 직렬 포트가 없으므로 가장 좋은 방법은 추가하는 것입니다.

이것은 USB-RS232 변환기/동글 또는 PCI 카드를 통해 쉽게 수행 할 수 있습니다.

이더넷을 RS-232처럼 작동하도록 프로그래밍 할 수 없습니다.

+0

감사합니다. 나는 방금 두 개를 구입했습니다. – Tom

2

실제로 다른 해결책이 있습니다. 직렬 오버 이더넷 장치를 만드는 회사가 있습니다. 나는 개인적으로 두 사람과 함께 일했습니다

Digi

Lantronix

그것은 비싼 측에 조금 있지만 좋은 솔루션입니다.

+0

안녕하세요, 감사합니다. 네, 훌륭한 솔루션처럼 보입니다. 불행하게도 저는 이미 예산을 썼습니다. 아마도 제가 크리스마스 후에 정말로 원하는 것을 학생들에게 설득 할 수 있습니다. – Tom

관련 문제