USB-I2C 통신 모듈을 통해 Debian 8 노트북에 SRF02 초음파 거리 측정기가 연결되어 있습니다. 내 문제는 장치에서 데이터를 다시 가져올 수 없다는 것입니다. (Windows에서 액세스할 수 있기 때문에 장치가 작동한다는 것을 알고 있습니다.)
USB-I2C 설명서에는 바이트를 장치에 직접 전송해야 한다고 명시되어 있으며 이를 수행하는 방법에 대한 정보를 제공합니다. 다음은 바이트 순서입니다.
- 1) I2C_AD1 명령
- 2) 장치 i2c 주소
- 3) 장치 내부 레지스터 주소
- 4) 우리가 읽고 있는 바이트 수
다음 바이트 문자열은 소프트웨어 버전을 출력해야 합니다.
0x55 0xE1 0x00 0x01
이를 위해 다음 두 명령을 실행합니다.
$ printf '\x55\xE1\x00\x01' > /dev/ttyUSB0
$ hexdump -n 1 -e '"%02x \n"' < /dev/ttyUSB0
printf는 작동하는 것 같지만hexdump에서 어떤 출력도 얻지 못합니다., 명령을 종료할 때까지 정지됩니다.
이 문제를 어떻게 해결해야 합니까?
$tty
Return /dev/pts/0
장치가 연결되면 ttyUSB0이 생성되고 오류 없이 설정됩니다. 모드 플러그를 분리하고 SRF02가 i2c 모드에 있는지 확인했습니다.
USB-I2C 문서:http://www.robot-electronics.co.uk/htm/usb_i2c_tech.htm SRF02 문서:https://www.robot-electronics.co.uk/htm/srf02techI2C.htm
미리 감사드립니다! ! 최고