ESP8266 – MQTT Termostat

Merhaba Arkadaşlar;

Bu yazımda sizlere önceki paylaştığım MQTT sistemine nasıl Termostat modülü ekleyip evimizdeki kombiyi kontrol edebiliriz anlatacağım.

Öncelikle önceki yazımı mutlaka okumalısınız.

Raspberry Pi ve ESP8266 ile MQTT Smart Home

MQTT Esp ile Termostat fikrini kullandığım Android programı verdi. Programın içinde ekleme yaparken Termostat nesnesi olduğu için bize hazır bir arayüz sunuyor bize sadece json kodlarını işlemek kalıyor.

Kullanılan android programını tekrar paylaşıyorum:
https://play.google.com/store/apps/details?id=com.app.vetru.mqttdashboard&hl=tr

Android programına geçmeden önce ESP8266 ile yapacağımız donanımı anlatayım. Termostat için 2 alternatif öngördüm. (Si7021 daha iyi sonuç veriyor)

  • DHT11 sensörlü
  • Si7021 sensörlü

 

İkisinin de programını vereceğim siz hangisini yapmak isterseniz onu seçebilirsiniz. Tabi birde röle modülü yada çıkışı olacaktır.

Sistemin çalışması oldukça basittir, Telefondan ayarladığımız değer ile ölçülen değer karşılaştırılacak ve röle çıkışı kontrol edilecektir.

DHT11 Termostat full programı:

Önceki yazımı okuduysanız program yabancı gelmeyecektir. İlk önce Wifi ve MQTT bağlantılarını yapar. Burada dikkat edilmesi gereken konu termostat topic e abone olacağı için mqtt bağlanmadan önce callback ve topic ayarlarını yapmamız gerekiyor. Ben termostat topic ayarını temp/value yaptın siz istediğiniz topic i verebilirsiniz. Tabi buradan değiştirmelisiniz.

Daha sonra callback ayarladığımız için abonesi olduğumuz topic de herhangi bir değişiklik olduğunda bizim o mesajı alıp işlememiz gerekiyor. Yani gelen json kodundan sıcaklık değerini pars edeceğiz.

Bir json geldiğinde pars edip içerisinden termostat değerini alıp başka bir değişkene yüklüyoruz.

Loop kısmına ise Sensör okuma ve okunan değeri publish ettiğini göreceksiniz. Sonra bu değerleri karşılaştırıp roleyi kontrol edeceğiz.

Aynı açıklamalar Si7021 programı için de geçerlidir.

Si7021 Termostat full programı:

Şimdi gelelim android programa, önceki yazımda bahsetmiştim, ekrana nesneler ekleyebiliyoruz. Burada ise termostat ı seçip adını ve topic ayarlarını yapalım.

Adını ve Topic ayarlarını yazalım, ben topic olarak termo/value yaptım siz değiştirebilirsiniz. Bu nesnenin en güzel özelliği ESP den gelen json kodunda sıcaklı ve nem bilgisini ekrana yazıyor. Aynı zamanda odanın sıcaklığını ve nem değerlerini görüyorsunuz.

İkona tıklayıp açılan sayfada Termostat değerini seçtiğimizde json olarak publish ediliyor yani abone olan ESP ise bu json mesajını alıyor.

Bu şekilde hem evin sıcaklık ne nem değerini görüp hemde termostatı değiştirebilirsiniz. Ben komiye bağladım ve kullanıyorum.

Bir başka projede görüşmek üzere, kolay gelsin.

“ESP8266 – MQTT Termostat” için 2 yorum

  1. Merhaba, Proje için teşekkürler.

    Fakat MQTT ayarlarını nasıl yapacağım konusunda fikrim yok. Eski yazılarınızıda inceledim ama göremedim.

    const char* mqttServer = “xxx.xxx.xxx”;
    const int mqttPort = 1883;
    const char* mqttUser = “cengiz”;
    const char* mqttPassword = “80078117”;
    const char* mqttClientID = “ESP8266ClientID8007”;

    Yukarıdaki parametreleri uygulamada nasıl yapılandırabilirim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.