Linux에서 직렬 터미널 에뮬레이터가 RTS 및 DTR을 무시하도록 만드는 방법은 무엇입니까?

Linux에서 직렬 터미널 에뮬레이터가 RTS 및 DTR을 무시하도록 만드는 방법은 무엇입니까?

Amazon에서 범용 8핀 ESP8266을 구입했습니다. 일부 "AT" 명령 펌웨어가 로드되어 모뎀처럼 작동합니다. 직렬 포트처럼 작동하는 USB 연결 UART인 FTDI1232에 모듈을 연결했습니다.

USB ID는 다음과 같습니다.

Bus 002 Device 010: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC

/dev/ttyUSB0내 시스템에서는 그런 것 같습니다 . Ubuntu 14.04 시스템에 CuteCom을 설치하고 속도 115200, 패리티 없음, 8비트 문자 및 1 정지 비트를 선택했습니다. CuteCom을 이용하여 정상적으로 통신하여 데이터를 주고받을 수 있습니다.

하지만 이 기본 펌웨어는 별로 사용하지 않습니다. Arduino IDE의 최신 버전을 다운로드하고 추가 코어 패키지를 통해 ESP8266 지원을 추가했습니다.

이 장치를 프로그래밍하기 위해 이 다이어그램에 따라 ESP8266을 연결했습니다.

여기에 이미지 설명을 입력하세요.

이것은 기본적으로 제가 이미 갖고 있는 회로입니다.RTS 및 DTR 라인을 추가해야 합니다.이것을 완료하려면.

아래와 같이 매우 간단한 스케치를 만들었습니다.

void setup(){
  Serial.begin(115200); // 8 bit char, no parity, 1 stop bit
  while(!Serial){};
}

void loop(){
  int v = Serial.read();
  if(-1 != v){
    Serial.write((uint8_t)v);
  }else{
    delay(10)
  }
}

이는 장치에 기록된 모든 내용을 다시 기록해야 하는 기본 "에코" 유형 스케치입니다.

스케치를 업로드한 후 도구->직렬 모니터를 사용하여 상호 작용할 수 있습니다. 나는 전송되는 데이터를 변환한 다음 다시 에코하는 몇 가지를 더 만들었습니다. 그들은 모두 작동합니다.

이 시점에서는 CuteCom이 전혀 작동하지 않습니다. 원인을 검색한 후 마침내 Java 코드에서 직렬 모니터 구현을 살펴보았습니다. 내가 찾은 것은 이 줄이었다.

  !BaseNoGui.getBoardPreferences().getBoolean("serial.disableRTS"),
  !BaseNoGui.getBoardPreferences().getBoolean("serial.disableDTR"));

에서:https://github.com/arduino/Arduino/blob/ee1967cd530ceb9a1d638875e385157e90d532e8/arduino-core/src/processing/app/Serial.java#L68

기본적으로 각 "보드"(SDK가 ESP8266과 통신할 수 있도록 하는 코드에 대한 용어)는 RTS 및 DTR을 활성화해야 하는지 여부를 정의하는 것처럼 보입니다. 그런 다음 코드는 jccs 라이브러리를 호출하여 RTS 및 CTS를 활성화하거나 비활성화합니다.

이 시점에서 ESP8266에서 RTS와 CTS에 연결된 라인을 분리했습니다. 다시 CuteCom을 사용하여 제가 업로드한 새 스케치와 대화할 수 있었습니다. 그러나 Arduino IDE에서 프로그래밍할 때마다 전선을 분리했다가 다시 연결하고 싶지 않습니다.

Arduino IDE의 "직렬 모니터"가 제대로 작동하므로 연결을 끊지 않고도 장치와 통신하는 것이 가능한 것 같습니다.

Ubuntu 14.04에서 RTS 및 DTR을 무시할 수 있는 직렬 터미널 에뮬레이터를 얻으려면 어떻게 해야 합니까? 또한 포트를 이 모드로 설정하여 socat유사하게 사용할 수 있도록 하는 명령도 수락합니다.

중요하지 않을 수도 있지만 실제 장치의 사진은 다음과 같습니다.

여기에 이미지 설명을 입력하세요.

답변1

picocom -b 115200 --lower-rts --lower-dtr /dev/ttyUSB0

ESP-C3-32S-Kit에 이 문제가 있습니다. 장치를 열면 재설정이 생성되지만 일반 부팅 모드에서는 직렬을 사용할 수 있습니다.

관련 정보