gpt4 book ai didi

python - DHT11 传感器在 Edison 上出现故障,而在 RPi 上工作成功

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:27 27 4
gpt4 key购买 nike

前段时间我将 DHT11 传感器连接到 Arduino UNO 并写了 a simple library基于 the one from Arduino website .

目前,我想使用运行 Yocto Linux 的 Arduino 扩展板将 DHT11 连接到 Intel Edison。在尝试将库重写为 Python 时,我预计该语言的微秒 sleep 会出现问题,因此最终决定重新制作 Raspberry Pi DHT11 Library。使用 mraa .但是,传感器也无法正常工作。我找到了 the topic on Intel forum责怪爱迪生港口快速输入/输出切换无能为力。建议的使用两根电线的解决方案也没有帮助我。

介绍完之后,我想到了几个问题:

  1. 因为 Raspberry 和 Edison 都是具有真实功能的计算机系统处理器和 Linux(不像 Arduino,它由简单的微 Controller ),为什么人们在 DHT11 上遇到问题爱迪生,而那些正在使用 Raspberry 的人却没有?

  2. 这些问题的根源是什么?是否与爱迪生上的非确定性操作系统时序(RPi 有相同的,没有它?),数字引脚有缺陷或两者都有?

  3. 是否可以使用两根电线(或者用二极管)?如果没有建议的三态,也许这是不可能的缓冲区?

  4. 将单线设备连接到 Edison 的最简单方法是什么?

最佳答案

如您所知,1-Wire 协议(protocol)需要确定性时序。在 Edison 这样的计算平台上,甚至是 PC 上,都不可能进行确定性计时。您可能会使用 usleep() 接近它,但您的应用程序可能随时被中断,从而打乱您的时间安排。

当使用没有确定性 GPIO 时序的系统时,您需要做的是使用接口(interface)连接传感器。该接口(interface)应使用具有确定性时序的小型微 Controller 。 (即照片、阁楼等)。

  • 或 -使用系统上具有确定性时序的现有外围设备,例如 UART。

几年前我写了一篇关于如何使用 UART 执行 1-Wire 协议(protocol)的博文。您应该可以在这里找到它:http://wphost.spider-e.com/?p=231

关于python - DHT11 传感器在 Edison 上出现故障,而在 RPi 上工作成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43453868/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com