온습도 센서 데이터 값을 불러와서 읽기.
라즈베리파이4를 이용해 온습도 데이터를 읽어오자.
사용한 센서는 DHT22 센서.
첫번째로 소프트웨어 최신 업데이트
git 에서 Adafruit 사의 라이브러리 다운로드.
아래의 명령어들을 라즈베리파이 터미널에서 실행
sudo apt-get update
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python setup.py install
완료 시 아래 사진처럼 작업 진행 후 완료.
테스트 프로그램 실행
테스트 프로그램 dht11.py
import time
import Adafruit_DHT
sensor = Adafruit_DHT.DHT11
pin = 4
try:
while True :
h, t = Adafruit_DHT.read_retry(sensor, pin)
if h is not None and t is not None :
print("Temperature = {0:0.1f}*C Humidity = {1:0.1f}%".format(t, h))
else :
print('Read error')
time.sleep(1)
except KeyboardInterrupt:
print("Terminated by Keyboard")
finally:
print("End of Program")
테스트 해보니
라즈베리파이3 환경에서는 동작 되지만 라즈베리파이4 환경에서 동일한 하게 테스트 시 센서값이 나오지 않았다.
원인을 찾아봐야겠다..
2021-04-05 업로드
DHT11 -> DHT22로 변경 테스트
라즈베리파이4 에서 TempHr.py 프로그램(온습도 데이터 출력 프로그램) 실행 시
위와 같이 에러가 나오는데 이는 Raspberry pi4 에서 브로드컴에서 칩을 인식을 못한다고 한다..(정확히는 모르겠지만)
sudo nano /usr/local/lib/python3.7/dist-packages/Adafruit_DHT/platform_detect.py
위의 명령어 입력 후
맨 아래
노란색 태그한 것을 추가 해주면 실행된다.. 'BCM2711'은 Raspberry pi4 브로드컴 칩이여서 추가 없인 센서 데이터를 읽지 못하는 것 같다.
잘 작동된다.. 휴
'Another > 라즈베리파이' 카테고리의 다른 글
[Raspberry Pi] 고정 IP 할당 (0) | 2021.11.02 |
---|---|
[Raspberry Pi] MQTT Pub/Sub Python (2) | 2021.04.11 |
[Raspberry Pi] MQTT 브로커 mosquitto 설치 (0) | 2021.03.28 |
[Raspberry Pi] 모니터 없이 연결 (0) | 2021.03.22 |
[Raspberry Pi] 재 부팅 시 Python 실행 터미널 실행 (0) | 2020.06.30 |