首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DHT22传感器导入Adafruit_DHT错误

DHT22传感器导入Adafruit_DHT错误
EN

Stack Overflow用户
提问于 2014-10-08 06:20:50
回答 3查看 31.4K关注 0票数 6

因此,我已经正确地将DHT22湿度传感器连接到我的BeagleBone黑色Rev C上。我在我的MacBook专业版上运行OS Mavericks,并且我遵循了DHT22提供的如何使用我的DHT22的说明

我使用的网站非常清晰:https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/software-install-updated

下面是我克隆的github文件:https://github.com/adafruit/Adafruit_Python_DHT

我输入了以下几行:

代码语言:javascript
复制
git clone https://github.com/adafruit/Adafruit_Python_DHT.git

cd Adafruit_Python_DHT

sudo apt-get upgrade

sudo apt-get install build-essential python-dev

sudo python setup.py install

cd examples

sudo ./AdafruitDHT.py 22 P8_11

我成功了,直到最后一行。一旦我输入最后一行(sudo ./AdafruitDHT.py 22 P8_11),我得到以下错误消息:

代码语言:javascript
复制
Traceback (most recent call last):
  File "./AdafruitDHT.py", line 23, in <module>
    import Adafruit_DHT
ImportError: No module named Adafruit_DHT

我知道在某个地方有一个Adafruit_DHT文件,因为当我在Adafruit_Python_DHT目录中时,我得到的是:

代码语言:javascript
复制
root@beaglebone:~/Adafruit_Python_DHT# ls
Adafruit_DHT  examples  ez_setup.py  ez_setup.pyc  LICENSE  README.md  setup.py  source

我尝试过重新安装setup.py,但结果仍然是一样的。

我已经遵循了Adafruit提供的所有方向,但我似乎就是无法通过这一点。知道是怎么回事吗?这似乎是一个简单的问题,但事实证明,这是从我的DHT22中获取读数的一个主要障碍。如果需要更多的信息来帮助回答这个问题,请让我知道。

EN

回答 3

Stack Overflow用户

发布于 2016-05-30 23:08:46

轻松修复:

代码语言:javascript
复制
cd Adafruit_Python_DHT

sudo apt-get update

sudo apt-get install build-essential python-dev python-openssl

sudo python setup.py install

尝试再次运行sudo ./AdafruitDHT.py ## ## ...文件

您可能忘记了正确运行安装程序。

票数 3
EN

Stack Overflow用户

发布于 2014-10-08 15:30:33

您的脚本似乎找不到"Adafruit_DHT“模块。有两种方法。

在终端中运行该文件时,在脚本的第一行输入"Python Adafruit_Python_DHT"

  • Add
  1. “。Should I put #! (shebang) in Python scripts, and what form should it take?
票数 0
EN

Stack Overflow用户

发布于 2014-10-10 13:15:31

好的,试着用"sudo“运行这个脚本。

代码语言:javascript
复制
import sys
import Adafruit_DHT

def main():
    sensor_args = { '11': Adafruit_DHT.DHT11,
                        '22': Adafruit_DHT.DHT22,
                        '2302': Adafruit_DHT.AM2302 }
    if len(sys.argv) == 3 and sys.argv[1] in sensor_args:
        sensor = sensor_args[sys.argv[1]]
        pin = sys.argv[2]
    else:
        print 'usage: sudo ./Adafruit_DHT.py [11|22|2302] GPIOpin#'
        print 'example: sudo ./Adafruit_DHT.py 2302 4 - Read from an AM2302 connected to GPIO #4'
        sys.exit(1)

    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

if humidity is not None and temperature is not None:
    print 'Temp={0:0.1f}*C  Humidity={1:0.1f}%'.format(temperature, humidity)
else:
    print 'Failed to get reading. Try again!'

if __name__ == '__main__':
   main()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26246239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档