2022年寫的香橙派 OrangePi Zero 用python獲取dht11溫度和溼度

金明 發表於 2022-01-26
Python

感謝網上資料和個人的不放棄,終於方便的解決了香橙派 OrangePi Zeropython獲取dht11溫溼度的問題。
網上關於香橙派的資料比起樹莓派真是少之又少,現在香橙派zero能幹的活暫時也只有這些,負載非常輕,以後想到新的活再讓他幹。
最近準備入手樹莓派,因為在查閱香橙派資料過程中發現樹莓派的資料好多,用起來感覺會順利很多。

介紹

我的OrangePi Zero是H2+ CPU和512M記憶體的配置,本例應該可以在H3的CPU和256M記憶體的版本上。
2022年寫的香橙派 OrangePi Zero 用python獲取dht11溫度和溼度
此款開發板可以裝linux,同時這個檔次的CPU和記憶體也能跑中小型的指令碼,再者小黃魚上一包煙的價格實在是無痛入門linux開發板的好板子。

在pip3 install pyA20中是按照40個?GPIO口配置的

#python3
>>from pyA20.gpio import port
>>dir(port)

如果沒有如下這些埠的話一般是裝錯了
2022年寫的香橙派 OrangePi Zero 用python獲取dht11溫度和溼度

pyA20是按照樹莓派來設定的,樹莓派的GPIO如下
2022年寫的香橙派 OrangePi Zero 用python獲取dht11溫度和溼度

可以先pip3 uninstall pyA20

正式開始

首先安裝映象問題

測試了很多img,目前就這個img成功
Orangepizero_2.0.8_ubuntu_focal_server_linux5.4.65.img
ubuntu 5.4.65的其他映象還沒測試

apt-get update
apt-get upgrade
apt-get install python3-pip
pip3 install setuptools
apt-get install python3-pip
apt-get install python3-dev
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple OPi.GPIO
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple setuptools

依次執行上述命令,有些ubuntu已安裝完畢,可能會報重複

安裝定製化的pyA20
如果前面安裝了pip的pyA20可以通過pip3 uninstall pyA20解除安裝

mkdir /ppthony
cd /ppthony
git clone http://ghproxy.com/https://github.com/abadroot/orangepizero-ths.git

orangepizero-ths/tree/master/config/orangepi_zero_gpio
在本地的這個目錄下執行

python3 setup.py install 

這裡安裝好了pyA20的改裝版

在/config/DHT11-Python-library-Orange-PI
這個目錄裡有dht11.py和dht11_example.py,dht11.py作為以後import用,需要加到以後的目錄中

from pyA20.gpio import gpio

from pyA20.gpio import port

#import RPi.GPIO as GPIO

import dht11
#把前面目錄中dht11.py拷貝過來,如果系統中有pip3 install dht11過,要先解除安裝,用這個定製化的dht11.py

import time

import datetime

# initialize GPIO

#gpio.setwarnings(False)

#gpio.setmode(GPIO.BCM)

PIN2 = port.PA6

gpio.init()

#gpio.cleanup()

# read data using pin 14

instance = dht11.DHT11(pin=PIN2)

while True:

result = instance.read()

if result.is_valid():

print("Last valid input: " + str(datetime.datetime.now()))

print("Temperature: %d C" % result.temperature)

print("Humidity: %d %%" % result.humidity)

time.sleep(1)

執行結果
2022年寫的香橙派 OrangePi Zero 用python獲取dht11溫度和溼度

香橙派 OrangePi Zero和dht11引腳的連線

2022年寫的香橙派 OrangePi Zero 用python獲取dht11溫度和溼度

dht11有3腳和4腳的,都差不多

2022年寫的香橙派 OrangePi Zero 用python獲取dht11溫度和溼度

dht11的vdd連線到1口,Gnd連線到6口,中間口子到7口(PA6)