로컬(루프백) 직렬 포트를 사용하는 방법은 무엇입니까?

로컬(루프백) 직렬 포트를 사용하는 방법은 무엇입니까?

에서는 Linux사용이 가능한가요?현지의직렬 포트? 이것과 비슷한 것 :

ssh user@localhost

이것을 시도했지만 Raspbian작동하지 않습니다(내 쉘에 넣어야 하지만 작동하지 않습니다).

microcom -d /dev/ttyAMA0

나는 또한 /dev/ttyS0이것을 시도했지만 성공하지 못했습니다.

물론 Raspberry Pi직렬 콘솔을 통해 액세스 할 수도 있습니다.다른기계.

이 질문에 대한 구체적인 사용 사례는 없습니다. 직렬이 실제로 어떻게 작동하는지 이해할 수 없습니다. localhost에 연결할 수 있으면 ssh직렬 포트도 사용할 수 있어야 하는 것 아닌가요?

답변1

마이크로컨트롤러가 서로 통신하기 위해 일반적으로 사용하는 양방향 2선 통신 프로토콜(보통 두 장치 간에 텍스트를 전송하기 위해)을 언급하고 계신 것 같습니다. 이것이 대부분의 사람들이 의미하는 바 serial이지만, 다양한 직렬 프로토콜이 있습니다.

/dev/ttyAMA0Raspberry Pi의 UART 직렬 포트 장치입니다. 이 장치 파일은 Raspberry Pi 헤더의 rx(10) 및 tx(8) 핀을 제어합니다. 모든 프로그램은 직렬 포트를 열고 데이터를 읽고 쓸 수 있지만 아무것도 추가되지 않으면 전송된 모든 데이터가 손실되고 데이터가 다시 전송되지 않습니다.

/dev/ttyACM0대부분의 Raspberry Pi Linux 배포판에는 로그인 프롬프트와 셸을 제공하는 프로그램인 getty 수신기가 있습니다 . 시작하면 minicomgetty는 /dev/ttyAMA0tx 핀에서 데이터를 보내고 rx 핀에서 데이터를 받습니다. 연결된 항목이 있으면 연결된 모든 항목이 난독화됩니다.

직렬 장치가 유용한 작업을 수행하려면 직렬 장치와 통신해야 합니다. 다음 중 하나를 얻으면 컴퓨터와 통신할 수 있습니다.USB-UART 어댑터rx를 tx 핀에, tx를 rx 핀에, gnd 핀을 gnd에 연결하고 컴퓨터에 연결하십시오. 일단 연결되면 컴퓨터(대부분의 Linux 배포판)에 직렬 장치가 생기고 보내는 모든 데이터가 pi /dev/ttyUSB0에 표시되고 pi에서 보낸 모든 데이터가 PC에 표시됩니다./dev/ttyAMA0/dev/ttyAMA0

pi에 이미 getty listening이 있다고 가정하면 컴퓨터에서 실행하거나 유사한 프로그램을 실행하기만 하면 minicom로그인 프롬프트가 표시됩니다(Enter를 몇 번 눌러야 할 수도 있음). 물론 getty를 중지하고 직렬 회선과 통신할 수 있는 다른 프로그램을 실행할 수 있습니다.

답변2

localhost에 대한 SSH 연결을 열면 두 개의 엔드포인트가 있는 연결이 생성됩니다. 그 중 하나는 서버이고 하나는 클라이언트입니다. 한 사람이 보내면 다른 사람은 받고 그 반대의 경우도 마찬가지입니다. SSH를 사용하면 연결은 TCP를 통해 이루어지며, 여기서 엔드포인트는 IP 주소와 TCP 포트로 식별됩니다. 네트워크 연결은 대부분 소프트웨어로 구현되기 때문에 간단하므로 기본적으로 새 TCP 포트를 여는 번호를 결정하면 됩니다. 하드웨어인 직렬 포트의 경우에는 그렇지 않습니다.

직렬 포트를 통해 유용한 양방향 통신을 얻으려면 두 개의 끝점, 즉 두 개의 직렬 포트가 필요합니다. 서로 연결하면 한 쪽에서는 서버(예:)를 실행하고 getty다른 쪽에서는 클라이언트(예:)를 실행할 수 있습니다. minicom동일한 시스템에 있는지 아니면 두 개의 별도 시스템에 있는지는 중요하지 않습니다. 하지만 하드웨어이기 때문에 실제 와이어를 연결해야 합니다.

일반적으로 컴퓨터 내에서 데이터를 이동하는 더 빠른 방법이 있기 때문에 두 장치 사이에 케이블을 당기게 됩니다. 그러나 한 시스템에 있는 두 개의 직렬 포트 사이에 직렬 연결을 설정하는 것을 방해하는 것은 없습니다.

직렬 포트가 하나만 있는 경우 최선의 방법은 송신 라인을 수신 라인에 연결하는 것이지만, 이 경우 포트를 사용하는 프로그램은 자체 출력을 포트에 대한 입력으로 처리합니다. 이는 통신에는 그다지 유용하지 않지만 테스트에는 유용할 수 있습니다.

관련 정보