Rehber DHT22 ve ESP8266 kullanarak sıcaklık ve nem oranını gözlemleme | Arduino

DHT22. Arduino öğrenip, IoT evrenine adım atan hemen hemen herkesin ilk yol arkadaşı. Ucuz bir sensör olmasının yanında, kullanım kolaylığı ve gerçek dünya senaryolarının bolluğu sayesinde, IoT üzerine yapılan ilk uygulamalarda güzel bir yol arkadaşı oluyor.

Bugün göstereceğim rehberde de DHT22 ve ESP8266 tabanlı Node MCU kullanacağız. DHT 22 ile okuduğumuz verileri, ESP8266'nın üzerine açacağımız Web sunucusunu kullanarak görselleştireceğiz. Bir düzeneğin de ötesinde, gerçek hayatta kullanılabilecek bir araç elde etmiş olacağız.

20210114_220849.jpg


Böyle bir projeyi gerçek hayatta kullanabilmek için birkaç küçük ayarlamalar yapmak gerekiyor. Ben iki önemli noktaya değineceğim:
  • Sensör bağlantılarını güçlendirmek,
  • Arayüzü kullanıcı dostu haline getirmek,
Bağlantıları güçlendirmek adına, sensörü jumper kablolarla bağlamak yerine direkt sensöre kabloları lehimledim. Bu sayede jumper kabloların, sensörün ince bacaklarından çıkmasının önüne geçmiş oldum. Bağlantıları daha da güçlendirmek için, ısıyla daralan makaron kullandım.

20210114_214157.jpg


İşin kullanıcı arayüzünde ise, HTML ve CSS kullanarak, bunlara birkaç logo ve font ekleyerek, 3. parti bir uygulama kullanmadan, aynı mobil bir uygulamaymış gibi görünüm oluşturdum. Bu görünüm, DHT22 (esasında sıcaklık temelli IoT projelerinde) projelerinde sıklıkla kullanılmaktadır, dolayısıyla benzerlerini görmüş olabilirsiniz, aynılarını bile görmüş olabilirsiniz. :)

İşin kod kısmında da fazla bir karmaşa yok. Sunucu kurma işleminin büyük bir kısmını, ESP826 ailesine entegre olan ESPAsyncTCP ve ESPAsyncWebServer kütüphaneleri hallediyor. Bize kalansa sadece bu kütüphaneleri kullanarak özel bir HTML sayfası oluşturmak.

Proje bağlantıları:
  • DHT 22 VCC ---> 3.3V
  • DHT 22 GND ---> GND
  • DHT 22 DATA --> D1
20210114_214138.jpg


Proje kodu:

(Kodu Technopat kabul etmediği için GitHub'da paylaştım)


Projeyi yükledikten sonra seri portu açarsanız, Web sunucusunun hangi lokal IP adresinde başladığını görebilirsiniz:

temp.PNG


Belirtilen adrese gidince, karşınızda sıcaklık ve nem bilgisini bulacaksınız:

temp 2.PNG


Kısa ve güzel bir rehber oldu. Genel olarak kolayca hazırlanabilecek, özellikle 3. parti uygulama kullanmadan görsel kolaylık sağlayabilecek bir sistem sunmak istedim. Umarım faydası olur.

Bu tür IoT uygulamaları için 3. Parti mobil uygulamalar kullanılabiliyor. Şahsen ben doğru bulmuyorum ve elimden geldiğince kendim yapmaya çalışıyorum. Eğer Raspberryi Pi gibi bir karta sahipseniz, MQTT - NodeRED - InfluxDB ve Grafana dörtlüsünü kullanarak, kendi Dashboard'ınızı oluşturabilirsiniz:


EMAAvzrWwAAhexG.jpg


Bu kısa rehberle umarım bir şeyler katabilmişimdir. Okuduğunuz için teşekkürler. :)
 
Aslında bir kaç sene önce Arduino'yu merak etmiştim. Heves etmiştim ama hiç almak mümkün olmadı umarım birilerinin işine yarar. Anlamamışta olsam güzel rehber hocam.

Teşekkürler. :)
 
Dht22. Arduino öğrenip, ıot evrenine adım atan hemen hemen herkesin ilk yol arkadaşı. Ucuz bir sensör olmasının yanında, kullanım kolaylığı ve gerçek dünya senaryolarının bolluğu sayesinde, ıot üzerine yapılan ilk uygulamalarda güzel bir yol arkadaşı oluyor.

Bugün göstereceğim rehberde de dht22 ve ESP8266 tabanlı Node mcu kullanacağız. Dht 22 ile okuduğumuz verileri, ESP8266'nın üzerine açacağımız web sunucusunu kullanarak görselleştireceğiz. Bir düzeneğin de ötesinde, gerçek hayatta kullanılabilecek bir araç elde etmiş olacağız.

Eki Görüntüle 836384

Böyle bir projeyi gerçek hayatta kullanabilmek için birkaç küçük ayarlamalar yapmak gerekiyor. Ben iki önemli noktaya değineceğim:
  • Sensör bağlantılarını güçlendirmek,
  • Arayüzü kullanıcı dostu haline getirmek,
Bağlantıları güçlendirmek adına, sensörü jumper kablolarla bağlamak yerine direkt sensöre kabloları lehimledim. Bu sayede jumper kabloların, sensörün ince bacaklarından çıkmasının önüne geçmiş oldum. Bağlantıları daha da güçlendirmek için, ısıyla daralan makaron kullandım.

Eki Görüntüle 836391

İşin kullanıcı arayüzünde ise, HTML ve CSS kullanarak, bunlara birkaç logo ve font ekleyerek, 3. parti bir uygulama kullanmadan, aynı mobil bir uygulamaymış gibi görünüm oluşturdum. Bu görünüm, dht22 (esasında sıcaklık temelli ıot projelerinde) projelerinde sıklıkla kullanılmaktadır, dolayısıyla benzerlerini görmüş olabilirsiniz, aynılarını bile görmüş olabilirsiniz. :)

İşin kod kısmında da fazla bir karmaşa yok. Sunucu kurma işleminin büyük bir kısmını, ESP826 ailesine entegre olan ESPAsyncTCP ve ESPAsyncWebServer kütüphaneleri hallediyor. Bize kalansa sadece bu kütüphaneleri kullanarak özel bir HTML sayfası oluşturmak.

Proje bağlantıları:
  • Dht 22 vcc ---> 3.3v.
  • Dht 22 gnd ---> gnd.
  • Dht 22 data --> D1.
Eki Görüntüle 836418

Proje kodu:

(Kodu Technopat kabul etmediği için GitHub'da paylaştım)


Projeyi yükledikten sonra seri portu açarsanız, web sunucusunun hangi lokal IP adresinde başladığını görebilirsiniz:

Eki Görüntüle 836426

Belirtilen adrese gidince, karşınızda sıcaklık ve nem bilgisini bulacaksınız:

Eki Görüntüle 836425

Kısa ve güzel bir rehber oldu. Genel olarak kolayca hazırlanabilecek, özellikle 3. parti uygulama kullanmadan görsel kolaylık sağlayabilecek bir sistem sunmak istedim. Umarım faydası olur.

Bu tür ıot uygulamaları için 3. parti mobil uygulamalar kullanılabiliyor. Şahsen ben doğru bulmuyorum ve elimden geldiğince kendim yapmaya çalışıyorum. Eğer Raspberry'i Pi gibi bir karta sahipseniz, mqtt - nodered - ınfluxdb ve grafana dörtlüsünü kullanarak, kendi dashboard'ınızı oluşturabilirsiniz:

Eki Görüntüle 836444

Bu kısa rehberle umarım bir şeyler katabilmişimdir. Okuduğunuz için teşekkürler. :)

Hocam güzel rehber olmuş, elinize sağlık. Aklıma takılan bir durum var mesela ben başka bir yerdeyim evdeki nem ve sıcaklık oranını görmek istiyorum bunun için statik IP yapmaktan başka ne yapmamız lazım?
 
Hocam güzel rehber olmuş, elinize sağlık. Aklıma takılan bir durum var mesela ben başka bir yerdeyim evdeki nem ve sıcaklık oranını görmek istiyorum bunun için statik IP yapmaktan başka ne yapmamız lazım?

 
Ben de DHT 11 ile sıcaklığa göre çalışan fan yapma rehberini hazırlamak istiyordum ama sürekli erteledim. Bu konuyu gördükten sonra istek geldi, sanırım yapacağım. 🙂

Rehber çok güzel olmuş, elinize sağlık. Keşke yazdığınız kodları da kısa kısa açıklayabilseniz fakat zamanınız yok sanırım.
 
Elinize sağlık, çok güzel rehber. Ancak gece 2'de paylaşınca gözden kaçma ihtimali yüksek hocam.

Ne zaman rehber hazırlamaya niyetlensem bir şey çıkıyor, onun dışında hep yoğun oluyorum gün içi.

Hem, arayan buluyor ya... :)
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı