将 DS2408 与 Raspberry Pi GPIO 4 1wire linux 驱动程序一起使用

Using DS2408 with Raspberry Pi GPIO 4 1wire linux driver

我有一个 Raspberry Pi B+,最新的 raspbian。 我通过 raspi-config 命令中的接口选项激活了 1wire 支持,并将我的 DS2408 芯片连接到 GPIO 4。

当我尝试检查设备列表时,它们都出现了

ls -la /sys/bus/w1/devices/

当我尝试 cat 他们的输出或状态时,我收到 ?。 当我尝试在输出文件上写入时,没有任何反应。

我有两个问题:

  1. 有没有更简单的软件接口可以与DS2408通信?有很多关于读取温度传感器数据的文档,但 DS2408 并不是那样工作的。
    1. 我尝试使用 1wire USB dongle 和 OWFS,它可以工作,但是是否可以将 GPIO 4 作为 OWFS 的总线主控器并使用 OWFS 软件接口进行通信?

回答这些问题中的任何一个都会解决我与连接到 RPI B+ 的 GPIO 4 的 DS2408 通信的问题

我用 23 条 1wire 总线实现了我的 345 个节点。 我的想法是通过在 RPi 上使用 1wire GPIO 来简化成本,但实现是有限的,或者我无法在 RPi 的 1wire 接口上轻松找到 DS2408 驱动程序实现。

所以沿着这条路走下去,每个 RPi 都有一个加密狗,以使用 OWFS 驱动 1wire。

回答我自己的问题:

  1. RPi 中的 1wire 实现是有限的。
  2. 带 OWFS 的 USB dongle 是驱动 DS2408 的唯一方法。如果不可能,您将不得不编写自己的扩展程序。

实际上我已经成功地用 Raspberry Pi 4 操作 DS2408,但我真的很难让它工作。首先,它必须正确连接:RSTZ 通过 10k 电阻连接到 Vcc,I/O 引脚连接到 GPIO4,GPIO4 通过 4,7k 电阻连接到 3V3。 之后,我可以使用“echo -n -e '\x02' > output”进行读写,其中输出位于 /sys/bus/w1/devices/29-...