Skip to content

nesnelerin interneti için veri kayıt alanları : thingspeak platformunun raspberry ile kullanım örneği

nesnelerin interneti için veri kayıt alanları : thingspeak temel kullanım yazısında thingspeak üzerinde nasıl kanal oluşturulacağı ve temel yönetim özellikleri değinilmişti.

şimdi bu platform üzerine basit bir örnek yapalım. raspberry pi üzerinde phyton ile bir kaç temel parametreyi okuyarak thingspeak kanalı üzerine gönderelim.

thingspeak üzerinde bir kanalda veri tutulabiliyor. biz bu örneğimizde anlık cpu kullanımı, ram kullanımını ve cpu sıcaklık değerini gönderelim.

siz gpio arayüzünden aldığınız verileri kod üzerinde ufak bir değişiklik ile gönderebilirsiniz.

import httplib, urllib
import psutil
import time
import os

def cpu_sicaklik_oku():
 res = os.popen('vcgencmd measure_temp').readline()
 return(res.replace("temp=","").replace("'C\n",""))

if __name__ == "__main__":
    while True:
        cpu = psutil.cpu_percent()
        ram = (psutil.avail_phymem()/1024)/1024
        cpu_sicaklik = cpu_sicaklik_oku()
        params = urllib.urlencode({'field1': cpu, 'field2':ram, 'field3':cpu_sicaklik, 'key':'THINKSPEAK_KEY'})
        headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
        conn = httplib.HTTPConnection("api.thingspeak.com:80")
        conn.request("POST", "/update", params, headers)
        response = conn.getresponse()
        print response.status, response.reason
        data = response.read()
        conn.close()
        time.sleep(60)

şimdi yazdığımız basit bu konu çalıştıralım.

pi@cicek ~ $ python thingspeak_ornek.py > /dev/null &

artık her 1 dakikada bir bu veriler okunarak thingspeak platformuna gönderilecektir. benim yapmış olduğum bu örneğin sonuçlarını

https://thingspeak.com/channels/70080/

adresinden bakılabilir. isterseniz web siteniz içerisinede sorunsuz olarak gömebiliyorsunuz.

<iframe width="450" height="260" style="border: 1px solid #cccccc;" 
src="http://api.thingspeak.com/channels/70080/charts/1?width=450&
height=260&results=60&dynamic=true&yaxis=Y%C3%BCzde&xaxis=Tarih&
title=CPU%20Kullan%C4%B1m" >
</iframe>





Comments (1)

  1. kullandığınız python ve kütüphanelerine bağlı olarak psutil in farklı bir sürümünü olabilir.. bu nedenden dolayı yukarıdaki kodda

    psutil.avail_phymem()

    çalışmayabilir… bunun yerine

    psutil.virutal_memory().available

    kullanılabilir..

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back To Top