簡體   English   中英

DHT22傳感器導入Adafruit_DHT錯誤

[英]DHT22 Sensor import Adafruit_DHT error

所以我已經將DHT22濕度傳感器正確連接到我的BeagleBone Black Rev C.我在MacBook Pro上運行OS Mavericks,我按照Adafruit提供的指示如何使用我的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

我把這些行放進去:

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),我收到以下錯誤消息:

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目錄時,我得到了這個:

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獲取讀數的一個主要障礙。 如果有更多信息需要幫助解決此問題,請告訴我。

輕松修復:

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 ## ## ...文件

您可能忘記正確運行設置。

您的腳本似乎找不到“Adafruit_DHT”模塊。 有兩種方法。

  1. 在終端中運行文件“Python Adafruit_Python_DHT”

  2. 在腳本的第一行添加以下代碼。 我應該放#! (shebang)在Python腳本中,應該采用什么形式?

好的,嘗試使用“sudo”運行此腳本。

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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM