라즈베리

1-238 Ubuntu Mate 라즈베리파이+3에서 Adafruit DHT11 로 온습도 측정

coding art 2019. 9. 10. 23:05
728x90





지난해 겨울 텐서플로우 OpenCV 출간 이후 7개월 만에 2권에 해당하는 “Scikit PyTorch 머신러닝을 출간하게 되었다. 각권이 450 페이지이므로 합 900 페이지에 달하는 내용이라 무슨 머신러닝을 공부하는데 분량이 왜 이렇게 많은가? 하고 의문을 가질 수도 있겠으나 그 내용이 튜토리얼성에 가까워 사실 그렇게 큰 부담은 없는 책이다. 물론 책 내부에 파이선 코드를 끼워 넣는 먹통 짓은 지금 세상에서는 할 필요가 없을 것이다. 해당 책의 머리말에 써둔 하이퍼링크 목차를 다운받으면 블로그를 직접 열어 볼 수 있으며 거기서 예제 코드를 다운 받을 수 있다.


 

1권에 해당하는 텐서플로우 OpenCV 머신러닝에서는 20179월경부터 201812월 사이에 머신러닝을 이해하고자 하는 필자의 열공(?) 내용을 담아 보았다면 2권에서는 1권에서 제기되었던 여러 내용들에 대해서 해답을 찾아가는 내용들을 꽤 많이 포함하였다. 2권이라고 해서 내용적으로 완전히 정리된 것은 아니기 때문에 다시 3권의 출발점이 될 수도 있을 것이다.

 

다소 아쉬운 점은 흥미 위주로 시작했던 1, 2권의 Softmax 관련 내용을 완전히 정리하지는 못했는데 이 그 이유는 R&D 영역으로 넘어갔기 때문이다. 2020년에는그 내용까지도 포함하여 출간할 계획이다.

 

본 서의 출간 목적은 작가들과 출판사가 염원하는 베스트셀러 화가 목표가 아니다. 사회적으로 인공지능(머신러닝)에 대한 이해 필요성이 점증하는 시기이며, 인공지능 분야의 발전 속도가 상당히 빠르기 때문에 그에 맞춰서 비전공자라 할지라도 머신러닝에 입문해 볼 수 있도록 경험과 생각을 공유해 보고자 하는 것이다.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

그림과 같이 Adafruit 사의 DHT11 센서를 점퍼선을 사용하여 배선하자. DHT11 5V 또는 3.3V 전원 배선이 가능하다. DHT11 센서의 데이타 핀은 예제에서 지정된 GPIO #23 에 배선하기로 하자.




Adafruit 사의 DHT11 온습도 센서를 사용하기 위해서 마테 터미널 창에서 Python3 Adafruit 라이브모듈을 아래와 같이 다운 받도록 하자. git 명령이 최초로 사용된다면 에러 메시지가 뜰 것이다. 따라서 “sudo apt install git” command line 명령을 먼저 실행 후 작업을 하도록 한다.




한편 다음과 같이 pip3를 다운 받아 설치 작업을 하는 것도 괜찮은 방법이다.



Pi 폴더를 살펴보면 Adafruit_Python_DHT 폴더가 생성되어 있음을 알 수 있다. 이 폴더를 열고 들어가면 3개의 폴더가 있는데 그 중 examples 폴더의 simplest.py를 열어 일부 수정하도록 한다. #∙∙∙로 이루어진 코멘트 문이 99% 가득 차 있는데 알맹이만 뽑아서 추려보면 다음의 열 줄도 채 안 된다. 여기서 원문의 DHT22DHT11 로 반드시 수정하기 바란다. DHT22 는 소숫점 이하까지 측정할 수 있는 보다 정밀한 온습도 센서인데 가격이 비싼 편이며 DHT11은 아두이노 용으로 흔히 사용되며 이 센서로 온습도를 측정하기로 한다.


print 문에 (  ) 가 사용되면 이는 Python3 이라는 의미이다. 다음의 출력 결과를 살펴보자.