Python ve PyQt5 ile Thingspeak üzerinden veri okumak

Merhaba, bu yazımızda NodeMCU ile okuduğumuz sıcaklık değerini thingspeak.com üzerindeki kanalımıza yazdıracağız. Projeye thingspeak.com zitesine üye olarak başlayabilirsiniz. Daha sonra bu değeri python ve PyQt5 modülünü kullanarak oluşturacağımız görsel bir arayüz uygulaması ile okuyacağız. Öncelikle NodeMCU devresine ve kodlarına bakalım.

Şu anda sıcaklık ölçüm yapan ve web tarayıcısı üzerinden ulaşılabilen Thingspeak kanalımızın web üzerinden anlık görüntüsü;

NOT: Daha önce Arduino IDE üzerinde NodeMCU programlama tecrübeniz yoksa google veya youtube üzerinde yapacağınız araştırmayla bunu öğrenmenizi tavsiye ederiz. Bu konuda Türkçe ve ingilizce bir çok kaynak bulunduğu için burada tekrardan gösterme ihtiyacı duymadık. İnternette bulabileceğiniz temel düzeydeki bilgileri burada tekrarlamaktansa biraz daha üst düzey projeler yer vermenin daha mantıklı olacağını düşünüyoruz. Ayrıca thingspeak.com sitesinin nasıl kullanıldığını da araştırarak çok kolay öğrenebilirsiniz.

Kullanılan malzemeler;

  • NodeMCU
  • DS18B20 sıcaklık sensörü
  • 4,7k direnç

Bu malzemeleri kullanarak aşağıdaki bağlantı şemasını kuruyoruz. Sıcaklık sensörünün output (ortadaki) ucu NodeMCU’nun D1 pinine bağlanacaktır.

NodeMCU’ya yükleyeceğimiz kodları Arduino IDE üzerinde yazacağız. Eğer ilk defa Arduino IDE ile NodeMCU programlayacaksanız önce ESP8266 eklentisi Arduino IDE üzerine kurulmalıdır. Daha sonra ESP8266  ve DS18B20 için kullancağımız kütüphaneleri kurmananız gerekir.

Thingspeak’dan alacağınız apiKey aşağıdaki programda kullanılacaktır. Kodları yüklemeden önce siteye üye olup bir kanal oluşturarak apiKey alıp bunu kodların içindeki gerekli yere yazabilirsiniz. Ayrıca kodlar içerisindeki MY_SSID kısmına modeminizin wi-fi ağ adını, MY_PWD kısmına ise ağ şifrenizi yazmalısınız.

NodeMCU için Arduino kodları:

Yukarıdaki kodlarda gerekli yerleri tamamlayarak NodeMCU içerisine yükledikten sonra thingspeak üzerinden sıcaklık değerini okuyabilirsiniz.

Şimdi sıcaklık değerini site üzerine yazdırdığımıza göre bunu python ile nasıl okuyup görsel bir arayüze aktaracağımıza bakalım.  Bu projede de daha önceki yazımızda kullandığımız PyQt5 modülünü kullanacağız. Önceki yazımıza bakarak bu modülün kurulumuna bakabilirsiniz.

Python kodlarını Bilgisayar ortamında veya Raspberry pi üzernde çalıştırabilirsiniz. Biz IoT projelerine ağırlık vereceğimiz için Raspberry pi kullanıyoruz.

Python3 kodlarımızı yazmadan önce aşağıdaki komut ile thingspeak modülünü kuralım.

Eğer windows üzerinde PyCharm kullanıyorsanız. Programın içindeki ayarlar kısmından thingspeak modülünü kurabilirsiniz.

Projenin python kodları: