uart로 파일전송
글쓴이: shr3221 / 작성시간: 화, 2022/08/30 - 10:33오전
uart로 파일 전송하는 방법을 찾지 못하여 인터넷에 있는 프로그램을 사용하였더니 파일을 통째로 전송하는 것이라 파일 크기가 커지면 멈추더라고요
파일 송수신하는 코드는 작성해두었는데(c언어) 이걸 uart로 전송하는 방법을 몰라 프로그램을 썼던 것입니다.
혹시 프로그램을 아시거나 힌트라도 주실 분 계신가요??
VS로 인터넷에 나와있는 예제를 참고하여 파일을 TCP/IP 통신으로 송수신(저장)하는 걸 작성했었습니다.
Forums:
파일을 전송하려면 쌍방향 통신이 가능해야 합니다.
파일을 전송하려면 쌍방향 통신이 가능해야 합니다. 일단 uart_tx(), uart_rx()가 된다고 가정했을 때
파일을 전송하는 가장 단순한 프로토콜은 tftp 프로토콜이라고 생각되고요. 인터넷 상에서 쉽게 찾을 수 있는 UDP 상에서 돌아가는 프로젝트가 많을 겁니다. recvfrom(), sendto() 만 교체하면 쉽게 될 것이라 생각되네요.
파일이 어느 정도 사이즈인가요?
제가 아에 쌩 초보로 답답하실 수도 있는데
일단 uart통신은 되고 wifi까지 뚫어놨습니다.
tcp/ip를 통해 통신을 하려고 하는거라 udp는 생각을 해보지 않았습니다. 크기가 큰 파일을 전송하는 것을 목표로 잡고 있습니다.
그러기 때문에 파일이 커지면 나누어 전송이 되겠금하려고 생각만 하고 있습니다.
tftp 프로토콜, recvfrom(), sendto() 는 처음 들어보는 것이라 학습이 필요합니다. 공부하겠습니다.
예전 모뎀에 자주쓰던 zmodem 같은거 쓰셔도
예전 모뎀에 자주쓰던 zmodem 같은거 쓰셔도 좋습니다. 요즘 network 이 없는 임베디드에서는 아직 자주 씁니다.
감사합니다.
zmodem이란 것에 대해 알아보겠습니다. 감사합니다.
프로그램 만들겠다면 시리얼장치(/dev/ttyXXX)
프로그램 만들겠다면 시리얼장치(/dev/ttyXXX) 연다음 소켓 다루듯이 read/write 하면 됩니다. 파일디스크립터나 소켓이나 다 int형 id라. 대신 프로토콜은 알아서 정의해둬야 합니다. 정의한 프로토콜에 오류검출 기능은 반드시 있어야 합니다.
Written By the Black Knight of Destruction
감사합니다.
프로토콜에 대해 학습 중입니다. 오류검출까지는 생각을 못했는데 그 기능에 대해서도 생각해보겠습니다. 감사합니다.
뒤늦게 봤습니다.
제 선에서는 어려워서 일단 최대한 할 수 있는 곳까지 해봤습니다. 계속 학습하고 찾아보는 중인건 마찮가지라 여기의 댓글이 저에게는 큰 도움이 되었습니다. 늦게 댓글을 확인해서 죄송합니다. 적용해서 계속 해보도록 하겠습니다. 감사합니다.
댓글 달기