docker - docker 容器上的 I2C 设备
问题描述
我在 Raspberry Pi 3 上运行一个 docker 容器,我试图从容器中的 I2C 设备中读取数据。当我i2cdetect
在 docker 内部使用时,我可以看到这些设备。我使用的运行选项是sudo docker run --device /dev/i2c-1 --name <name> <image>
,但是当我尝试从 I2C 设备读取时,所有 CRC 检查都失败,就好像文件/dev/i2c-1
没有正确安装一样。看起来该目录刚刚在运行时被复制并且没有绑定。有没有其他人经历过这个?
我也尝试了该--privileged
选项并绑定文件夹-v -v /dev:/dev
。
我不能i2cget
用来测试设备,因为它使用 16 位寻址
我将 WiringPi 库用于 C https://github.com/WiringPi/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 -- -- -- -- -- -- --
解决方案
推荐阅读
- jquery - 如何在 Razor Pages 中使用 Ajax 发布表单
- django - Django 开发服务器使用旧版本的views.py
- java - Hibernate Envers - 为实体 ID 选择“所有”更改
- amazon-web-services - Gmail API 身份验证重定向在 AWS EC2 上不起作用
- android - SharedPreference 记住复选框是可见和选中的
- ios - TableView中的动态collectionView
- html - 为什么我的文字周围有空白?它不在 freecodecamp 示例中。非常基础的 CSS/HTML
- r - 闪亮的搜索输入
- python - 从列表中访问元素?
- java - 如何在 Java 11 中设置 HashMap final 的键值对?