캐릭터 장치에서 USB 데이터를 읽는 방법

캐릭터 장치에서 USB 데이터를 읽는 방법

Arduino에서 데이터를 읽고 해당 데이터를 로그 파일에 쓰는 "문자 장치"를 작성해야 합니다. 나는 이 주제를 몇 시간 동안 검색해 왔으며 이를 달성하는 여러 가지 방법을 보았지만 문자 장치를 사용하지 않습니다.

USB 장치의 cat을 사용하여 간단하게 이 작업을 수행할 수 있다는 것을 알고 있지만 시스템 프로그래밍 과정을 위해 이 작업을 수행하고 있으므로 문자 장치를 사용해야 합니다. 제가 찾아본 것과 가장 가까운 것은 작년 학생들이 했던 비슷한 과제인데 /dev/ttyACM0아래와 같이 파일을 열고 닫았습니다.이 답변.

이 외에도 캐릭터 장치 파일에서 이 작업을 수행하는 다른 올바른 방법이 있습니까? 아니면 이것이 올바른 접근 방식입니까?

답변1

작업이 "문자 장치 작성"인 경우 이는 아마도 장치와 통신하고(적절하다고 생각하는 방식으로) 장치와 대략 유사한 것으로 표시되는 장치 드라이버를 작성해야 함을 의미할 수 있습니다 /dev/ttyACM0.

나는 당신의 선생님이 작년 학생의 해결책을 /dev/ttyACM0부정 행위의 한 형태로 생각했을 것이라고 확신합니다.

시스템 프로그래밍 과정에서 예상되는 솔루션은 USB 버스에서 Arduino를 찾고 문자 장치를 생성하는 장치 드라이버를 작성하는 것일 수 있습니다. 장치가 사용자 공간에서 열리면 드라이버는 적절한 유형의 USB URB(Arduino 문서를 읽어보세요!)를 Arduino에 보내고 응답을 수집한 다음 응답의 데이터를 유용한 형식(예: USB 프로토콜 제거) 사용자 공간을 읽기 위한 문자 장치입니다.

그런 다음 장치를 열고 출력을 파일에 쓰려면 작은 사용자 공간 구성 요소가 필요합니다(어쩌면 udev장치가 나타날 때 실행과 같은 규칙일 수도 있음).cat /dev/YOURDEVICE > /var/log/YOURLOGFILE

그런데 이건 선생님께 물어봐야 할 것 같아요.

관련 정보