맞춤형 보드에 Linux가 내장되어 있으며 직렬 포트를 통해 파일을 보내고 받고 싶습니다.
장치와 통신하는 유일한 방법은 직렬을 통하는 것이며 장치는 이 직렬 포트에 콘솔을 제공합니다.
보드에는 kermit
둘 다 busybox rx
없습니다 lrzsz
.
- 원격으로 파일 보내기
다음과 같이 파일을 보드에 보낼 수 있습니다이 스레드.
Host side Remote side
cat file | base64 > file_b64
cat > file_b64
minicom's ctrlA-S => send 'file_b64'
cat file_b64 | base64 --decode > file
- 원격에서 파일 가져오기
이제 원격 시스템에서 파일을 검색하고 싶습니다.
Minicom에는 파일을 수신하는 도구가 있지만 minicom의 직렬 포트 콘솔만 사용하여 원격 측에서 명령을 실행하기 때문에 이를 수행하는 방법을 찾을 수 없습니다.
호스트 측에서 kermit을 사용해 보았는데, 원격 측에서도 kermit을 사용해야 할 것 같습니다.
편집하다:
또한 전송 방법을 반대로 시도했지만 호스트 측 직렬 포트에서 아무것도 수신하지 못하여 성공하지 못했습니다.
Host side Remote side
cat file | base64 > file_b64
(sleep 10; cat file_b64 > /dev/ttyS0) &
minicom's ctrlA-X => exit minicom
cat /dev/ttyUSB0 > file_b64
미니콤의 수신툴은,,,, 전송만 지원 xmodem
하고 ASCII는 지원하지 않기 때문에 사용할 수 없습니다.ymodem
zmodem
kermit
콘솔에 명령을 입력하지 않고 원격에서 파일을 검색하는 방법이 있습니까?
답변1
마침내 내가 수신측에서 잘못된 명령을 내리고 있다는 것을 알아냈습니다.
수신 명령은 다음과 같아야 합니다.cat < /dev/ttyUSB0 > file_b64
일반화하다
원격에서 수신:
Host side | Remote side
|
| #Encode to base64
| cat file | base64 > file_b64
|
| #Send after timeout
| (sleep 10; cat file_b64 > /dev/ttyS0) &
|
#############################################################
### Exit minicom but keep configuration (ctrlA-Z, then Q) ###
#############################################################
|
#Receive file |
cat < /dev/ttyUSB0 > file_b64 |
|
#Decode file |
cat file_b64 | base64 -di > file |
답변2
위 게시물을 요약하면 다음과 같습니다.
보내다.
대상 수신 시작:
cat | base64 -d > filetotarget.bin
미니컴 종료Ctrl-A + Q그런 다음 호스트 시스템에서 실행하십시오.
cat filetotarget.bin | base64 > /dev/ttyUSB0
미니콤으로 돌아가서 다음을 누르세요.Ctrl-D수신 프로세스를 완료합니다.
인수하다.
대상으로 지연 전송 시작:
sleep 10 ; cat filefromtarget.bin | base64
미니컴 종료Ctrl-A + Q. 그런 다음 호스트에서 수신을 시작합니다.
cat < /dev/ttyUSB0 | base64 -di > filefromtarget.bin