Bir IoT hikayesi #3 — Sensör Ağı

thumbnail-3Bu yazı serisinin önceki 2 yazısını okumadıysanız bu yazıyı daha verimli kılabilmek için okumanızı rica ederiz:


Ben Eyüp Görkem, ben de Peakode ekibine Mint projesini geliştirmek üzere katıldım. Daha önce de IoT konseptli projeler geliştirmiştik fakat bir ekiple beraber böyle bir projede yer alıyor olmak bizi gerçekten çok heyecanlandırıyordu. Tasarımcı, mobil geliştirici ve back end geliştirici arkadaşlarla çalışma fırsatı bulduk ve farklı bakış açıları kazandık.

Mint temelde, evin kapı ve pencerelerine takılan sensörlerden topladığımız durum verilerini evin merkezinde bulunan ve sunucu ile konuşan bir gateway’de topladığımız bir sensör ağıydı.

İlk etapta sensörleri nasıl haberleştireceğimizi kesinleştirmemiz ve sunacağımız ekstra özelliklerle ilgili yöntem belirlememiz gerekiyordu. Öncelikli olarak bunların artılarını ve eksilerini değerlendirmeye ve projeye uygunluklarını kıyaslamaya başladık. Sensörlerimizin yapacağı iş basit olsa da birçok yan özelliği ile beraber aslında zorlukları olan bir üründü.

Düşük güçle çalışmalı

Pili uzun süre dayanması gereken bir ürün geliştiriyoruz. Bunun için de kullanacağımız entegrelerin, haberleşme için kullandığımız komponentlerin “Sleep Mode” ile çalışabilmesi gerekmekteydi. Bu nedenle bu tip ürünlere odaklandık. “Sleep Mode” ve “Run Mode” konfigürasyonlarıyla ilgili araştırmalar yaptık.

Stabil çalışmalı

Ürünün konusu güvenlikle ilgili olduğu için stabil çalışmayan bir sensör, en son istediğimiz şeydi. Bunun için gecikme olmadan, olay gerçekleştiği anda gateway’e ve dolayısıyla kullanıcıya bilgiyi ulaştırmamız gerekiyordu.

Menzil problemi olmamalı

Ürün çok çeşitli evlerde kullanılabileceği için dubleks, tripleks gibi evlerde sorun çıkmadan çalışması gerekiyordu. Bu nedenle en doğru ürünü nasıl kurgulayacağımız üzerine araştırmalar yaptık.

Ürünü en hızlı şekilde prototipleyerek MVP (Minimum Viable Product) elde etmemiz gerekiyordu. Bunun için de ilk aklımıza gelen ESP8266, Raspberry Pi gibi pratik çözümleri gündemimize aldık.

1*Q0lJyXoEdRaYHaVrEikQVw
Mint sensör ağında kullanabileceğimiz haberleşme protokolleri

Başlangıçta sensörlerle beraber ESP8266 kullanarak Wi-Fi ile haberleşme yaptırmayı düşündük. Bunu yaparken de klasik HTTP (Hyper Text Transfer Protocol) kullanmak yerine genellikle Wi-Fi ile haberleşen IoT ürünlerinde kullanılmakta olan MQTT (Message Queuing Telemetry Transport) protokolünü kullanmayı düşünmüştük, hatta bununla ilgili örnek çalışmalar da gerçekleştirdik. Fakat Wi-Fi, bizim için farklı dezavantajlar demekti.

1*bR7G-yHeUo0frAPYBGr7KA
MQTT protokolü çalışma prensibi

MQTT’nin benzer protokollerden ayıran en önemli özelliği ise hafif (lightweight) olması, düşük band genişliği gerektirmesi, gecikmeleri çok aza indiriyor olması ve bu sayede bir çok platformda rahatlıkla kullanılabilmesidir.

MQTT publish/subscribe modeli ile çalışır, alınan ve gönderilen verilerin tutulduğu bir Broker’a ihtiyaç duyar. Publisher ve Subscriber hiç bir zaman doğrudan birbiri ile iletişim kurmaz. MQTT’de merkezi bir Broker bulunur ve veri trafiğini yönetir. Bunu radyoya benzetebiliriz, dinleyiciler olmasa bile yayın çalışabilir.

Fakat menzil ve düşük güç ile ilgili handikaplardan dolayı bugünlerde adını sıkça duyduğumuz ZigBee protokolünü kullanmaya karar verdik. ZigBee (ISM) endüstriyel, bilimsel ve tıbbi radyo bantlarında çalışır; Avrupa’da 868 Mhz, ABD ve Avustralya 915 Mhz ve dünya çapında 2.4 GHz. Veri İletim hızı 20 ile 900 kilobit/saniye arasında değişir. Kendi içindeki çalışma yapısı sayesinde sleep mode durumunda mikroamperler seviyesinde enerji harcayan ZigBee, Mint projesi için son derece uygun göründü.

Sensör ağımızın nasıl haberleşeceğini kesinleştirdikten sonra eve giren şahısları tanımlamak için kullanacağımız Bluetooth Low Energy teknolojisi için CC2540 isimli entegreyi kullanmaya karar verdik. Bunun için de ilk etapta HM-10 isimli hazır modülünü kullanmada karar kıldık.

Bu araştırma aşamalarının sonucunda prototipleme aşamasında kullanacağımız Xbee Series 2 modüllerini, bunların yanında kullanacağımız Atmel mikrodenetleyicilerini ve gateway olarak kullanacağımız Raspberry Pi 3 siparişimizi verdik. Ardından birçoğunu ilk kez kullanacağımız ürünlerle çalışmaya başladık.

Serinin sıradaki yazılarını aşağıdaki linkler aracılığıyla okuyabilirsiniz:

Görüşmek dileğiyle!

 —

Eyüp Görkem Bayram

Peakode | Elektronik Mühendisi

Leave a Reply

Your email address will not be published. Required fields are marked *