Raspberry İle Sıcaklık ve Nem Değerlerini İnternete Kaydetme(ThingSpeak)

Bu yazımda Raspberry Pi 2  ile DHT22 sensörünü kullanarak sıcaklık ve nem değerlerini ThingSpeak kanalına kayıt edip internet ortamında bu verilerin grafiklerine erişmeyi anlatacam. İlk olarak Raspberry Pi 2’ye DHT22 sensörünü takmakla başlıyoruz.

Burada DHT 22’nin bilgi pinini Raspberry Pi 2’nin GPIO 23 pinine, geri kalan VCC ve GND pinlerini de uygun pinlere takıyoruz.

Daha sonra ThingSpeak adresinden ücretsiz üyelik oluşturuyoruz. Oluşturduğumuz ücretsiz üyelik her 15sn’de bir bilgi okumayı destekliyor, yani her 5sn’de bir bilgi gönderirsek 15sn’de 3 bilgi gelmesi gerekirken yalnız 1 bilgiyi alır.

ThingSpeak’e giriş yaptığımızda “New Channel” yazısına tıklayarak yeni bir kanal oluşturuyoruz.

ThingSpeak’a 2 parametre göndereceğimiz için 2 alana isim veriyoruz ve en altta ki “Show Status”u tikliyoruz. Böylelikle kanalımız oluşturmuş olduk.

Raspberry Pi 2’de yeni Python dosyası oluşturup alttaki kodu yazıyoruz.

sudo nano DHT22.py
import sys

import RPi.GPIO as GPIO

from time import sleep

import Adafruit_DHT

import urllib2

myAPI = "VQ2LS0KYAEQVCJTL" #Sizin API'niz buraya yazılacak.

def getSensorData():

   RH, T = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, 23)

   return (str(RH), str(T))

def main():

   print 'Baslatiliyor...'

   baseURL = 'https://api.thingspeak.com/update?api_key=%s' % myAPI

   while True:

       try:

           RH, T = getSensorData()

           f = urllib2.urlopen(baseURL +

                               "&field1=%s&field2=%s" % (RH, T))

           print f.read()

           f.close()

    sleep(15) #15 saniyede bir verileri gönderiyor.

       except:

           print 'Cikiliyor.'

           break




if __name__ == '__main__':

   main()

Kodun 6. satırındaki myAPI kısmına kanalınızın API Keys’ini yazacaksınız.

Dosyayı kaydettikten sonra aşağıdaki komut ile çalıştırabiliriz.

sudo python DHT22.py

Leave a Comment