2013-07-12 7 views
3

xmodem을 통해 파일을 업로드하여 소프트웨어 업데이트가 이루어지는 장치가 있습니다.xmodem 파일 업로드 자동화

나는 lrzsz (http://ohse.de/uwe/software/lrzsz.html) 패키지를 사용하여 두 가지 방법으로이 작업을 수행 할 수있었습니다. 화면을 CU에게

cu -l /dev/tty.myserialdevice -s 115200 

하고

01 사용

screen /dev/tty.myserialdevice 115200 

하고

^A:exec !! sz -X file.bin 

또는

2) 사용

1)

~+lsz -X file.bin 

이제 파일 업로드를 자동화하는 스크립트 (루비 또는 bash 스크립트가 좋음)를 작성하고 싶습니다.

파일을 화면 또는 cu로 파이프하거나 표준 입력을 사용할 수 있습니까? 스크립트를 작성하려고하면 연결을 열어야 만합니다. 하지만 그때조차도이 연결을 다시 제대로 닫는 데 문제가있었습니다.

+0

+1 xmodem을 사용하는 경우에만, FIDO 및 BBS 사이트에서 1993 년 약 사용 시간이 얼마 남지 않았습니다 ...;);) – jm666

+0

그럼 내가하지 않아도 사용하지 않을 것입니다. 덕분에 고통이 조금씩 완화됩니다.) – benjay

+1

'expect' 명령을 사용해보십시오. 예를 들면 Google. 'expect'는 대개 입력 할 때 스크립트에 명령을 쓸 수있게하기 때문에,'expect script'를 올바르게 만들면'cu '를'~'로 이스케이프하고 올바른'sz' 명령을 보낼 수 있어야합니다. – jm666

답변

4

이 문제가 계속되는 지 잘 모르겠지만 최근에 비슷한 상황에 대해 함께 생각해야했습니다.

백그라운드에서 실행할 수있는 몇 가지 명령 줄 옵션이 있으므로이 부분을 자동화하기 위해 화면을 사용했습니다. 첫째,이 같은 분리 된 화면 세션을 만들는 :

screen -d -m /dev/tty.myserialdevice 115200 

그 후, 나는 -p0 옵션을 사용하여 내 생성 된 세션을 참조하고,이 경우에이다 -X로 실행하는 명령을 제공 할 수 있습니다 명령을 사용하여 xmodem 파일 전송을 시작합니다.

screen -p0 -X exec \!\! sz -X filetosend 

나는 웹의 다른 장소에서. \! \! 때로는 문제가 생겼을 때 시도해 보시기 바랍니다.

+0

정확히 내가 찾고 있었다, 고마워! – benjay