웹에서 습도/온도 가져오기
Raspberry Pi 4, Adafruit DHT11 및 RGB LED를 사용하여 HTTP 요청을 처리하는 LAN Bottle 서버.
그림>
정보
프로젝트의 아이디어는 매우 간단합니다. 웹페이지에 액세스한 후 , 볼 수 있습니다 실시간으로 어떤 온도 및 습도 DHT11 영역에 있습니다. Raspberry Pi에서 사용하는 센서 .
서버에 요청을 보내면 요청의 경로에 따라 특정 색상의 LED가 켜집니다. 그러면 클라이언트는 요청된 값으로 응답을 받고 HTML L.E.D에서 다이오드의 색상을 볼 수도 있습니다. 요소.
회로 구현 보기
그림>
웹페이지 액세스
서버에 '/'로 GET 요청을 보내면 보드에 부착된 R LED가 자동으로 켜집니다.
이것은 요청 후 게시판에서 일어나는 일입니다.
그림>
서버로부터 응답을 받은 후 파란색(습도) 또는 녹색(온도) 버튼을 사용하여 보드 주변의 온도와 습도를 확인할 수 있습니다. 버튼 중 하나를 누르면 중지 버튼을 누르거나 페이지가 닫히거나 다시 로드될 때까지 1초에 한 번씩 서버에 요청을 보냅니다.
파란색 버튼 누르기
텍스트 및 L.E.D를 변경합니다. 색상을 파란색으로 변경하고 센서 주변의 습도를 표시합니다.
그림>
녹색 버튼 누르기
텍스트 및 L.E.D를 변경합니다. 색상이 녹색으로 바뀌고 센서 주변의 온도가 표시됩니다.
그림>
빨간 정지 버튼 누르기
L.E.D를 변경합니다. 색상을 빨간색으로 설정하고 텍스트 값을 기본값으로 설정하면 온도/습도에 대한 업데이트 수신이 중지됩니다.
그림>
Ctrl+C를 사용하여 서버 중지
서버가 중지되면 LED가 꺼지고 GPIO 핀이 청소됩니다.
그림>
도식
그림>
코드
병 가져오기 경로, 실행, 템플릿, 요청에서 RPi.GPIO를 GPIO로 가져오기 RPi.GPIO 가져오기 Adafruit_DHT#피닐로 설정 영역 GPIO.setmode(GPIO.BCM)#setare pin sensor umiditate/temperaturatype =Adafruit_DHT.DHT11dht11 =25GPIO.setup(dht11, GPIO.IN)#setare pini leduriGPIO.setup(14, GPIO.OUT)GPIO.setup(15, GPIO.OUT)GPIO.setup(18, GPIO.OUT)#안정성 @route('/')def index():setLedsOnLow() GPIO.output(14,GPIO.HIGH) return template('index.html')@route('/umiditate')def umiditate():setLedsOnLow() GPIO.output(18,GPIO.HIGH) umiditate,temperatura=Adafruit_DHT.read(유형, dht11) return {'umiditate':umiditate}@route('/temperatura')def 온도():setLedsOnLow() GPIO.output( 15,GPIO.HIGH) umidiate,temperatura =Adafruit_DHT.read(type, dht11) return {'temperatura':temperatura}@route('/stop')def stop():setLedsOnLow() GPIO.output(14,GPIO. HIGH) return {'stop':'Nimic de afisat...'}def setLedsOnLow():GPIO.output(14,GPIO.LOW) GPIO.output(15,GPIO.LOW) GPIO.o utput(18,GPIO.LOW)#start serverrun(host ='0.0.0.0', port ='6789')#la stop server, stinge leduri si curata pinisetLedsOnLow()GPIO.cleanup()
출처:웹에서 습도/온도 가져오기