Dapatkan Kelembaban/Suhu dari Web
Server Botol LAN yang menangani permintaan HTTP menggunakan Raspberry Pi 4, Adafruit DHT11, dan LED RGB.
Tentang
Ide proyek ini sangat sederhana. Setelah mengakses halaman web , Anda dapat melihat secara real time berapa suhu dan kelembaban berada di area DHT11 sensor yang digunakan oleh Raspberry Pi .
Mengirim permintaan ke server akan menyalakan LED dalam warna tertentu tergantung pada rute permintaan. Kemudian klien akan mendapatkan respons dengan nilai yang diminta dan dia juga akan dapat melihat warna dioda di HTML L.E.D. elemen.
Tampilan implementasi sirkuit
Mengakses laman web
Mengirim permintaan GET dengan tanda '/' ke server akan secara otomatis menyalakan LED R yang terpasang pada board.
Inilah yang terjadi di papan setelah permintaan.
Setelah mendapatkan respons dari server, Anda akan dapat memeriksa suhu dan kelembaban di sekitar papan menggunakan tombol biru (kelembaban) atau hijau (suhu). Menekan salah satu tombol akan mengakibatkan pengiriman permintaan ke server setiap detik sekali terus menerus sampai tombol stop ditekan atau sampai halaman ditutup/dimuat ulang.
Menekan tombol biru
Akan mengubah teks dan L.E.D. warna menjadi biru dan menampilkan kelembapan di sekitar sensor.
Menekan tombol hijau
Akan mengubah teks dan L.E.D. warna menjadi hijau dan menampilkan suhu di sekitar sensor.
Menekan tombol berhenti merah
Akan mengubah L.E.D. warna merah, atur nilai teks ke default dan akan berhenti menerima pembaruan tentang suhu/kelembaban.
Hentikan server menggunakan Ctrl+C
Setelah server berhenti, LED dimatikan dan pin GPIO dibersihkan.
Skematis
Kode
dari bottle import route, run, template, requestimport RPi.GPIO as GPIOimport Adafruit_DHT#setarea modului de citire a pinilorGPIO.setmode(GPIO.BCM)#setare pin senzor 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)#stabilirea rutelor @route('/')def index():setLedsOnLow() GPIO.output(14,GPIO.HIGH) mengembalikan template('index.html')@route('/umiditate')def umiditate():setLedsOnLow() GPIO.output(18,GPIO.HIGH) umiditate,temperatura=Adafruit_DHT.read(type, dht11) return {'umiditate':umiditate}@route('/temperatura')def temperaturea():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. TINGGI) kembali {'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()
Sumber:Dapatkan Kelembaban/Suhu dari Web