docker容器上的I2C设备
我正在Raspberry Pi 3上运行一个docker容器,并试图从容器中读取I2C设备的数据。当我在docker内部使用docker容器上的I2C设备,docker,raspberry-pi,i2c,Docker,Raspberry Pi,I2c,我正在Raspberry Pi 3上运行一个docker容器,并试图从容器中读取I2C设备的数据。当我在docker内部使用i2cdetect时,我可以看到设备。我使用的运行选项是sudo docker run--device/dev/i2c-1--name,但是当我尝试从i2c设备读取数据时,所有的CRC检查都失败了,就好像文件/dev/i2c-1没有正确装入一样。看起来目录在运行时刚刚被复制,没有绑定。还有其他人经历过吗 我还尝试了--privileged选项并绑定了文件夹-v-v/dev:
i2cdetect
时,我可以看到设备。我使用的运行选项是sudo docker run--device/dev/i2c-1--name,但是当我尝试从i2c设备读取数据时,所有的CRC检查都失败了,就好像文件/dev/i2c-1
没有正确装入一样。看起来目录在运行时刚刚被复制,没有绑定。还有其他人经历过吗
我还尝试了--privileged
选项并绑定了文件夹-v-v/dev:/dev
我无法使用i2cget
测试设备,因为它使用16位寻址
我使用C语言的wiringPi库 跑步时,我会收到以下信息:
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-timesync:x:100:103:systemd Time Synchronization,,,:/run/systemd:/bin/false
systemd-network:x:101:104:systemd Network Management,,,:/run/systemd/netif:/bin/false
systemd-resolve:x:102:105:systemd Resolver,,,:/run/systemd/resolve:/bin/false
systemd-bus-proxy:x:103:106:systemd Bus Proxy,,,:/run/systemd:/bin/false
_apt:x:104:65534::/nonexistent:/bin/false
docker中i2cdetect-y 1的输出:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --
您可能想在专用的堆栈交换站点上问这个问题。您如何从i2设备读取数据?我使用用于C的wiringPi库