问题标签 [1wire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
26 浏览

linux - 网络启动的 RPi3 找不到 1wire 设备

目前正在尝试实现一个网络引导的 RPi3b+ 网络,并且我已经打印了这些 pi 的辅助板。辅助板有一个经典的 DS18B20 来监控包含 rpi 和辅助板的盒子的温度。

问题是,当我使用 netbooted pi 时,当我访问 /sys/bus/w1/devices 时,我无法显示任何设备(包括 w1_bus_master1)。见下文,

我知道我的电路是正确的,因为当我从 SD 卡启动 RPi 时,它的 raspbian 映像与 netbooted 映像相同。在 netbooted rpi 上,我看到为 w1-therm 和 w1-gpio 运行的 1-wire 进程。

我的网络启动过程大致遵循本教程, https: //blockdev.io/network-booting-a-raspberry-pi-3/

我有一个 NFS 挂载,其中包含 config.txt 文件,其中包含 dtoverlay=w1-gpio,gpiopin=4

我在这里扯了一点头发,真的很想保持网络启动功能,因为这种实现更适合持久并且跨越 30 多个 pi,不想对 sd 卡生气。

干杯

0 投票
2 回答
309 浏览

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

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

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

当我尝试cat他们的输出或我收到的状态时?。当我尝试在输出文件上写入时,什么也没有发生。

我有两个问题:

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

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

0 投票
2 回答
891 浏览

raspbian - OWFS 与 Raspbian Buster

在 Raspbian Buster 上安装 OWFS(单线文件系统)不成功。

组件 owserver 使 Raspberry Pi 1 上的默认 restartSec 值过期 100 毫秒,安装失败,错误代码为 1。

0 投票
2 回答
42 浏览

c - 将 1-wire rom 地址写入变量

从一堆 1-wire 设备中,我想将设备 rom 地址写入数组。我尝试了很多选择,但显然我不知道如何正确地做到这一点。

在下面的代码中,在设备搜索循环中,我得到了我期望的打印在串行线上的地址。但是主循环的打印输出表明我可以在我的方法中将此地址存储在一个数组中......

0 投票
2 回答
414 浏览

c - LibOpenCM3 1-Wire over UART DMA STM32F1

我刚刚开始使用 STM32F103 和 FreeRTOS + Libopencm3 了解嵌入式世界(在 Arduino、RPi 等之后)。我的第一个挑战是将温度传感器 DS18B20 与我的微处理器连接。1-Wire 总线很容易理解,但不受本机支持,因此我按照您的建议使用 1-wire over UART 和 DMA。

DS18B20 在 USART2TX(+4k7 上拉 + 二极管)和 USART2RX 上有 DATA,VCC 到 5V 和 GND。

1-Wire 的初始化:

1线复位:

获取暂存器:

最后是试图到达 DS18B20 的任务

我收到一些位 0xCC、0xBE、0xFF 但没有更多答案。

0 投票
1 回答
236 浏览

xml - 已解决:Perl: XML::LibXML 不解析此 XML 文档

我(新手警报)在解析 XML 文档中的信息时遇到问题。我有一个设备(称为 OW-SERVER),它从 1wire 传感器网络读取传感器值并在 XML 文档中提供读数。XML 通常如下所示:

我想使用 XML::LibXML 来读取每个单独传感器的值。但是,以下 perl 脚本并不成功:

任何帮助,将不胜感激。丹尼尔

0 投票
0 回答
332 浏览

python - DS18B20、W1ThermSensor、Raspberry pi Zero W 和 Python3.9 - 无法一致地读取传感器

在我开始之前,我在写这篇文章之前浏览了“类似问题”部分,并没有看到一个与我的情况相匹配的问题。如果找到,请告诉我,如果实际上相似,我会将其标记为“已回答”。我是一名专业的 .net 全栈开发人员,我最近才开始涉足 Python 和电气工程作为一种爱好。

我正在创建一个自动鱼菜共生控制系统,该项目的一部分读取生长床介质的温度,并通过各种其他传感器的输入,重新计算泵循环淹没床的频率。我正在使用带有 Python3.9 和 W1ThermSensor v2.0.0a2 库的 DS18B20。这是传感器的几个函数的初始化和第一个。在初始测试期间,我将 w1thermsensor 作为类的属性而不是继承,因为以这种方式操作代码对我来说更容易。

我遇到的这个问题是它将有 3 个问题之一:

  1. 引发 w1thermsensor.errors.NoSensorFoundError
  2. 引发 w1thermsensor.errors.SensorNotReadyError
  3. 调用 get_temperature() 后在 temp_c 属性中不返回任何值

我对此进行了更多研究,如果我使用'sudo python3'命令在终端中加载IDLE,我可以输入以下命令并且它没有问题:

它可以正常工作。我也尝试了“猫”命令

堆栈跟踪显示它在“ init ()”中调用 W1Termsensor() 函数时抛出错误。我的问题是,是我的代码或实现导致了问题,还是其他原因。我的睡眠时间设置为 2 秒,希望我只是在更新过程中赶上它。任何帮助都会有很大帮助。

附加信息:

  • DS18B20 连接到单独的 5v 电源,电容器用于稳定电压,因为电源的同一 5v 电源轨上有一个 5v 继电器和一个 LED 阵列。
  • 我已经仔细检查了我是否启用了 1-wire。
0 投票
0 回答
64 浏览

esp32 - 带有arduino的ESP32上的DS18B20 1线温度传感器是否可能存在时序问题?

我有一个 ESP32 模块,我有一个 DS18B20 传感器连接到一个 4.7k 上拉电阻。问题是我在当前程序中读取大量 -127 读数时非常不一致。随着 WiFi 运行,异步 mqtt,websocket 等在 esp 上运行。我发现奇怪的是,当我尝试测试程序时,它似乎非常一致,但是测试程序没有启动 wifi 或其他任何东西。我们还在设备附近安装了电机 VFD,当电机启动时,我完全停止读取读数。我现在对这一切感到非常困惑。有没有人可以对此有任何见解或建议?我开始认为可能买到了假的 DS18B20,这就是它如此挑剔的原因。我有数百个,它们似乎都非常不一致?

非常感谢!

0 投票
0 回答
23 浏览

python - 在 RPi4 上安装带有 1 个退出代码的单线错误

这是怎么回事,求助!

在我的 RPi4 上安装 OneWire lib 时遇到问题。这是安装和错误的完整日志:

我正在使用 Python3。尝试使用python3 -m pip install onewire和 default pip3 install,但总是有相同的错误。

我还阅读了一些关于 RPM 和 Anaconda 的内容,但我不想安装任何额外的软件。

0 投票
0 回答
11 浏览

raspbian - 将 w1(1-wire)子系统权限设置为组写入

我想将 w1_bus_master (therm_bulk_read) 的更新功能用于来自用户空间的温度传感器。如何永久(例如通过 udev?)将权限设置为至少为已定义组的组写入?我的软件无法以 root 身份运行才能将触发器写入此系统文件。在旧 Raspberry1 上运行 Raspbian Buster,但我想这对于任何带有 w1 子系统的系统都应该是相同的。

我已经尝试过使用 udev 规则,但要么这不起作用,要么我使用了错误的语法:

谢谢