IoThook ve IoT Nedir?
IoT Nedir?
Nesnelerin İnterneti IoT (internet of things) kavramı için geliştirilmiş olan IoThook u tanımaya başlamadan önce IoT yi anlamak gereklidir. Bunun için önce iot kavramını açıklayacağım.
Teknolojik gelişmelerin hızla ilerlediğine hepimiz şahitlik ediyoruz. Gün geçmiyor ki yeni bir şey görelim, öğrenelim, duyalım. Teknoloji araştırmaları ilk olarak uzay sanayisinde ikinci olarak savunma sanayinde ve üçüncü olarak endüstriyel uygulamalarda karşımıza çıkmaktadır.
Endüstri uygulamaları üzerindeki gelişmeler;
1- Buhar gücünün kullanımı,
2- Elektriğin kullanımı,
3- Seri üretim teknolojilerinin gelişmesi ve elektronik alanda yapılan buluşlar
ve
4- İnternet teknolojilerinin kullanıma geçmesi,
olarak özetlenebilir.
Elektroniğin icadı 17, 18 ve 19. yüzyıla elektriğin üzerinde geliştirilen buluşlar ile yarı iletken teknolojisinin hayatımıza girmesi şeklinde değerlendirilir. İnternetin çıkışı ise 1960 li yıllara ARPANET e Amerikan Savunma Bakanlığı projesine dayanır.
Peki ne oldu da nesneler akıllandı?
Aslında olan var olan elektronik ve internet teknolojisinin bir araya getirilmesidir. Bu buluşma donanım maliyetlerinin ucuzlaması sebebiyle tatilde iken evimizdeki saksının nemini kontrol ederek sulama sistemini devreye almamızı sağlamıştır. Nesnelerin interneti dediğimiz kavram tam olarak budur. Okullar, evler, iş merkezleri, sanayi, tarım, güvenlik gibi daha pek çok alanda kullanılmaya başlanan nesnelerin interneti hepimiz tarafından çok sevildi. Öyle sevildi ki şu anda dünyadaki insan sayısından fazla cihaza ulaşmış durumda. Resimde de görüleceği üzere 83 sene sonraki insan nüfusu 3 yıl sonraki iot nesnelerinin 5 te birine eşit
olacak. Nesnelerin interneti çok hızlı gelişiyor ve bu hızı bir an önce yakalamamız gerekli.
IoThook Nedir?
IoThook nesnelerin interneti alanında çalışma yaparken ihtiyaç duyacağımız bulut veri tabanı servisidir. IoThook a veriler push (itmek) edilir ve gerektiğinde pull (çekmek) edilerek çekilir. Servis Python programlama dili ile geliştirilmiş ve Django framework ile geliştirilmiştir. HTTPS yapısı ile güvenli veri trafiği sağlanır.
IoThook da kullanılan teknolojiler şu şekilde özetlenebilir:
- Ubuntu server
- Python (2 ve 3) programlama dili
- Django web framework
- Github (versiyon 1 açık kaynak sürüm olarak ilerliyor)
- Bitbucket (versiyon 1.2 çatal ayrıldı. özel depo da tutuluyor)
- Django Rest framework
- Django REST Swagger
IoThook un versiyon 1 i açık kaynak olarak geliştiricilere açılmış ve katkı sağlamak isteyenlerin istifadesine sunulmuştur. Github üzerinden iotdashboard projesine linkden ulaşabilirsiniz. https://github.com/electrocoder
IoThook un özellikleri nelerdir?
- IoThook ile Arduino, Raspberry Pi, Android, iOS, Windows Phone, Web Site, Banana Pi, Orange Pi, Beaglebone, ARM, Pic, Windows, Mac OS X, ve Linux tabanlı sistemleri birbirlerine bağlayabilir veri gönderebilir ve alınabilir,
- IotHook hızlıdır,
- Sunucu sistemleri Türkiye de bulunmaktadır,
- Ücretsiz olarak kredi kartı kullanmadan kanal açabilir 3 element kolayca bağlanabilir,
- Tüm cihazlar ile kolayca veri gönderebilirsin (post),
- Tüm iot cihazlarından kolayca veri alabilirsin (get),
- Datalarını gerçek zamanlı takip edebilirsin,
- Dataların için gerçek zamanlı grafik oluşturabilirsin,
- SSL ile şifreleme
IoThook ile veri gönderme nasıl yapılır?
IoThook a veri göndermeye başlamak için üyelik, kanal oluşturma ve element ekleme adımlarının tamamlanmış olması gerekmektedir. Davetiye kodu isteyerek fazladan kanal açma hakkına sahip olabilir veya iletişime geçip www.iothook.com
üzerinden yardım alabilirsiniz.
Github üzerindeki örnek kodlara https://github.com/electrocoder/IotHook adresinden ulaşabilir yine Github üzerindeki https://github.com/electrocoder/IotHook/issues sorunlar bölümünden örnek kodlardaki sorunlar ve çözümleri hakkında yardım alabilirsiniz.
Python ile IoThook a nasıl veri gönderilir?
Örneğimizin çalışabilmesi için iothook üzerinde test için ‘anonymoususer’ kullanıcısı oluşturulmuştur. Bu kullanıcının şifresi ‘a12345678’ dir. Kullanıcı paneli üzerinden ‘A’ isminde bir kanal oluşturulmuş ve kanala 3 adet element eklenmiştir. Bu element isimleri ise ‘Bir’, ‘İki’ ve ‘Üç’ olarak belirlenmiştir. Veri gönderimi için element isimleri yerine element isim_id lerinin yazılması gerektiği unutulmamalıdır!
'anonymoususer' kullanıcısına ait kanala aşağıdaki örnek ile veri gönderilebilmektedir.
import requestsimport jsonimport time
headers = {'Content-type': 'application/json'}url = 'https://iothook.com/api/v1.2/datas/'
auth=('anonymoususer', 'a12345678')
for i in range(10): data={ 'api_key':'7db86398856-53f581b854f', 'element_1':'bir', 'value_1':i*10, 'element_2':'iki', 'value_2':i*20, 'element_3':'uc', 'value_3':i*30, }
data_json = json.dumps(data) response = requests.post(url, data=data_json, headers=headers, auth=auth) print(response) print(response.json()) time.sleep(15)
Ve sonuç :
Bu konunun devam edebilmesi üyelerin/kullanıcıların ilgisine odaklıdır. Açık kaynak versiyonun kod anlatımları, çalışan örnekleri hakkında devam edilmesi planlanmaktadır.