루프 미니콤 스크립트

루프 미니콤 스크립트

루프에서 내 모뎀(Huawei e171)에 AT 명령을 보내야 합니다. 나는 다음 스크립트(script.txt 파일)를 사용해 봅니다.

start:
  send AT+CSQ
  sleep 2
  goto start

그것을 실행했지만 minicom -S script.txt아무것도 얻지 못했습니다. 빈 미니컴 화면이 열렸습니다. 여기에 이미지 설명을 입력하세요. 그러나 단일 명령을 사용하는 스크립트는 잘 작동합니다.

start:
  send AT+CSQ

예상되는 출력을 제공합니다. 여기에 이미지 설명을 입력하세요.

내가 뭘 잘못했나요?

추신: 저는 다음 스크립트를 사용해 봅니다.

start:
  send AT+CSQ

  send AT+CSQ

  send AT+CSQ

하지만 모뎀에 대해서는 3개가 아닌 1개의 응답만 제공합니다...

답변1

동의한 "기대"는 해결 방법이지만 예상한 내용을 확인한 후에만 직렬 포트 출력을 인쇄할 수 있으므로 완벽하지는 않습니다. 예상 키워드가 표시되지 않으면 아무것도 인쇄되지 않음에 관계없이 직렬 포트 출력을 인쇄합니다.

다음 예에서는 20초 동안 2초마다 "help"를 보내고 "help" 명령에 대한 응답으로 "kann>"을 예상하며 "help" >" 뒤의 "kann"을 포함하여 "help" 앞의 모든 문자를 인쇄합니다.

debian@bbb:~$ cat minicomscript.txt
verbose on
timeout 20
loop:
  send help
  expect "kann>"
  sleep 2
  goto loop
debian@bbb:~$ minicom -S minicomscript.txt

답변2

expect명령 다음에 예상 결과와 함께 필수 솔루션 키워드를 찾았습니다 .

start:
  send AT+CSQ
  expect "OK"
  sleep 2
  goto start

관련 정보