Akıllı Telefonlar ile Yönetilebilen Arduino Tabanlı Akıllı Ev Sistemi Kaan Kızılağaç 1, Mesut Atasoy 2, Yasin Ortakcı 3, Ferhat Atasoy 4 1,2,3,4 Karabük Üniversitesi, Bilgisayar Mühendisliği Bölümü, Karabük knkzlgc@gmail.com,mesutatasoy15@gmail.com, yasinortakci@karabuk.edu.tr, ferhat.atasoy@karabuk.edu.tr Özet: Teknolojinin gelişmesiyle birlikte günlük hayatta kullanılan cihazların ve içinde bulunduğumuz ortamların akıllı hale gelmesi hız kazanmıştır. Bu çalışmada Arduino Mega 2560 kartı kullanarak akıllı ev sistemleri tasarlanmış ve bu sistemlerin Android tabanlı mobil cihazlar ile yönetilmesi sağlanmıştır. Bu sistemde, Arduino kartı ile çevresindeki cihazlar etkileşime geçmektedir. Sistemdeki bütün sensörler bu Arduino cihazına bağlıdır ve gerçek zamanlı olarak veri akışını sağlanmaktadır. Kullanılan Arduino ya Ethernet Shield entegre edilerek sistem bilgilendirmesi ve müdahalesinin internet ortamına taşınması sağlanmıştır. Böylece gerçek hayatta da kullanabileceğimiz bir prototip sistem üretilmiştir. Günümüzde insanların evlerindeki konforu, güvenliği ve yaşam kolaylığını artırıcı etkileri olan bir çalışmadır. Ayrıca insanların ev ortamında karşılaşabileceği bir takım riskler ortadan kalkacaktır. Aynı zamanda yapılan çalışma engelli insanların hayatlarını kolaylaştıracak prototip bir ev niteliğindedir. Akıllı ev sistemi ile ev ortamındaki ortaya çıkabilecek yangın, gaz kaçağı, duman, hırsızlık vb. olumsuz durumlar sensörler aracılığı ile tespit edilip, akıllı telefonlar aracılığı ile uzaktan kontrol ve müdahale edilecektir. Böylece evde kontrol edilmesi gereken birçok durum, bu otomasyon sistemi tarafından takip edilecek ve insanlara daha güvenli ve konforlu bir yaşam sunulmuş olacaktır. Anahtar Sözcükler: Android, Arduino, Akıllı Ev Sistemleri, Sensörler.
1. Giriş Akıllı ev sistemi, daha az insan etkileşimi ile gündelik hayatta yapılan işlerin gerçekleştirilmesi, kişilerin konfor, güvenlik ve güç tasarrufunu sağlayan çeşitli platform ve algılayıcıların birbiriyle iletişimi sonucu oluşan bütünleşik sistemlerdir. Günümüzde insanlar evlerinde birçok güvenlik problemi ve kaza ile karşı karşıya kalmaktadırlar. Özellikle de büyük şehirde yaşayanlar için bu risk daha fazladır. Bu riskleri minimize etmek için mevcut teknolojik gelişmeler takip edilerek yeni sistemler ortaya çıkmaktadır. Problemlerin çoğu insan kaynaklı hatalar olduğu için yeni sistemler, daha önce insan eliyle yapılan işlemleri otomasyon haline çevirerek geliştirilir [1]. Yakın tarihte uygulanan akıllı ev sistemlerinin birinde çevresel sensörler kullanılarak kişilerin sağlık alanında takibini sağlayan bir sistem oluşturulmuştur. Bu sistemle birlikte ne kadar süre uyunduğu, kaç kez tuvalete veya banyoya gidildiği gibi gündelik ihtiyaçların tespiti yapılarak Alzheimer gibi hastalıkların teşhisi veya gidişatı hakkında bilgi alınabilir [2]. Literatürdeki benzer çalışmalardan biri olan akıllı ev sisteminde, sensör kullanımı tercih edilerek akıllı ev ortamında günlük hareketlerin takibi ve evde yaşayan kişilerin elektrik, su gibi kaynak tüketimini kontrol eden bir sistem geliştirilmiştir. Bu sistemle birlikte gereksiz kaynak tüketimi azaltılmıştır. Ayrıca bu akıllı ev sisteminde yaşayan kişilerin birbirleriyle olan etkileşimi kişilerin hareketlerinin verisi tutularak tespit edilmiştir [3]. Diğer çalışmada ise otomatik gaz alarm sistemi, kartlı aydınlatma kontrolü, güneş panelli enerji sistemi ve GSM tabanlı uzaktan kontrol sistemi kullanılmıştır [4]. Evde kullanılan bir çok ekipman, eğer kontrol altında tutulmaz ise insan sağlığını ve hayatını tehdit edecek risklere sahiptir. Örneğin; evdeki doğalgaz tesisatı olası bir sızıntı durumunda, insan hayatını tehlikeye atacak bir potansiyel tehlikeye sahiptir. Yine hırsızlık tehlikesine karşı evde gerekli şifreleme önlemleri alınarak, evin güvenliği sağlanmış olacaktır. Sistemde kullanılan LDR (Light Dependent Resistors) sensörü ile elektrik tasarrufu sağlamış olup ışıklandırma sisteminin kontrol edilmesi sağlanacaktır. Sıcaklık ve nem sensörü ile evdeki odaların sıcaklık değerleri C (Santigrat Derece) olarak alınıp, sıcaklık ve nem değerleri kontrol altında tutulur. Sıcaklık ve gaz konularında kullanılan sensörler yardımıyla tedbirlerin alınması ev kazalarının önüne geçme konusunda büyük bir gelişme olacaktır. Otomatik ışıklandırma sistemi ve şifreleme sistemi ile evde daha konforlu ve güvenli yaşama imkanı sunulması amaçlanmaktadır. Bu çalışmada sistemin genel yapısı, Arduino kartı üzerinde kullanılan sensörlerin yapısı ve işleyişi incelenmiştir. 2.Arduino Arduino bir giriş çıkış kartı ve processing/wiring dilinin bir uygulamasını içeren geliştirme ortamından, İtalyan elektronik mühendisleri tarafından açık kaynak kodlu olarak geliştirilen ve esnek, kolay kullanımlı donanım ve yazılım tabanlı fiziksel programlama platformudur. Arduino da tek başına interaktif nesneler geliştirilebileceği gibi bilgisayarda çalışan yazılımlara da bağlanabilir [5]. Arduino, mikroişlemci olarak ATMEGA kullanır ve Arduino programlama dili (wiring tabanlı) ile programlanır. Bu program Arduino Yazılım Geliştirme Ortamı (IDE) ile karta derlenip karta yüklenir. 2.1 Arduino Mega 2560 ATmega2560 tabanlı bir Arduino kartıdır. 54 dijital giriş çıkış pinine ve 16 analog girişe sahiptir. Dijital giriş çıkış pinleri pinmode(), digitalwrite() ve digitalread() fonksiyonları kullanılarak giriş veya çıkış olarak kullanılabilir. Analog girişler ise 0-5V
aralığında default olarak çalışırlar. Bu kart USB den ve harici bir adaptör veya batarya ile beslenmektedir [6]. Arduino Mega 2560 programlaması Arduino IDE si üzerinden yapılır. Karta yazılım yüklemeye yarayan kod parçası olan Booloader alınan Arduino kartının üzerinde gelir. Arduino kartları için tasarlanan eklentilere uyumludur. 2.2 Arduino Ethernet Shield Arduino Ethernet Shield, Arduino platformu için hazırlanmış eklentidir. Bu eklenti sayesinde Arduino kartı üzerinde yapılan her türlü işlemin internet ile bağlantısını sağlanması amaçlanmıştır. Arduino kartının pin girişlerine oturtularak entegrasyon işlemi gerçekleştirilmiş olur. Arduino Ethernet Shield dört eş zamanlı soket bağlantısını destekler. Shield üzerindeki standart RJ45 ethernet soketine ethernet kablosu bağlanarak Arduino Ethernet kütüphanesi ile Arduino kartı internete bağlanarak veri aktarımı gerçekleştirilebilir. ulaşılmaktadır. Sensörlerdeki verilere göre Arduino Mega 2560 kartı ilgili olan cihaza komut sinyali gönderir ve cihazın çalışmasını sağlar [7]. Bu Akıllı Ev Sisteminin işleyişi; gaz, sıcaklık ve nem sensörleri yardımıyla alınan değerleri baz alarak otomatik olarak fanın çalıştırılıp kapatılması ve step motor kullanarak pencerenin açılması ve kapatılması, LDR sensörü yardımıyla otomatik ışıklandırmanın ortama göre ayarlanması, evin güvenliği konusunda ise Keypad kullanılarak şifrelendirme yapılması ve kapı hareketini servo motor kullanılarak sağlanması temeline dayanmaktadır. Sistemde kullanılan sensörler; Sıcaklık ve nem sensörü (DHT11), LDR(Light Dependent Resistor), Gaz sensörü (MQ-2) dür. Mutfakta havalandırmayı sağlamak için fan sistemi kullanılmıştır. Step motor yardımıyla pencerenin açılıp kapanması sağlanmıştır. Gaz sensöründeki değere göre pencerenin açılıp açılmaması ve havalandırmanın çalışıp çalışmaması kontrol altına alınmıştır. Otomatik ışıklandırma sistemi için LDR kullanılmıştır. LDR ile Arduino kartının haberleşmesi sonucu kullanılan LED ler yardımıyla aydınlatma işlemi gerçekleştirilmiştir. Evin güvenliğini sağlamak amacıyla evin kapısına Keypad kullanılarak şifreli koruma sağlanmıştır. Bu şifreleme sistemi gerekli görüldüğü zaman güncellenebilmektedir. 4.Sensör Devrelerinin Yöntem ve Materyalleri 4.1 Sıcaklık Ve Nem Sensörü Şekil 1. Arduino Ethernet Shield 3. Sistemin Genel Yapısı Sıcaklık ve nem ölçümü için DHT11 sensörü kullanılmıştır. DHT11 sensörünün VCC, DATA, NC, GND olmak üzere dört adet bacağı vardır. Sistemdeki verilere Arduino Mega 2560 kartına bağlı olan sensörler üzerinden
Şekil 4. LDR Sensörü Şekil 2. DHT11 Sıcaklık ve Nem Sensörü DHT11 sensörünün Vcc kısmı Arduino nun uygun olan 5V pinlerinden birine bağlanır. GND kısmı ise Arduino nun GND pinine bağlanır. Bu sayede DHT11 den alınan değer Arduino nun analog girişinden seri iletişim yoluyla sayesinde bilgisayara gönderilir. 4.2 Gaz Sensörü (MQ-2) MQ-2 gaz sensörü, havadaki yanıcı gazları algılar ve voltaj biriminden bir değer verir. Bu sensör yanıcı gazlar olarak LPG, metan, propan, bütan gazlarını algılar. Ayrıca sigara dumanını diğer yanıcı gazlara oranla daha düşük hassasiyette algılar. Gaz sensörü modül olarak temin edildikten sonra Arduino daki analog pinlerden bir tanesine bağlanmıştır. LDR, analog giriş kaynaklı olduğu için LDR nin bir bacağını Ardiuno nun analog pinlerinden birisine bağlanır. Işıklandırma için Arduino kartının dijital pinlerine LED ler bağlanılmıştır. 4.4 HC-543 Keypad Evin güvenliğini sağlamak adına Keypad üzerinden şifreleme sistemi oluşturulmuştur. Bu sistemde kullanıcının belirlenen şifreyi girmesi beklenir. Eğer şifre doğru olarak girilirse evin kapısı açılır ve arayüzde kapının açık olduğu kullanıcıya bildirilir. Belirlenen süre sonra kapı otomatik kapanır ve kilitli konumda bekler. Eğer şifre doğru girilmediyse kırmızı led yanarak uyarı verir ve şifrenin tekrar girilmesi beklenir. Kapının açılıp kapanması ise servo motor ile sağlanmıştır. Şekil 3. MQ-2 Gaz Sensörü 4.3 LDR (Light Dependent Resistor) Otomatik ışıklandırma için LDR den yararlanılmıştır. LDR nin aydınlıkta direnci en az seviyede, karanlıkta ise en üst seviyededir. 5. Uygulama Şekil 5. Keypad 5.1 Değerlerin Web Arayüzüne Aktarılması Arduino IDE si kullanılarak akıllı ev programlaması gerçekleştirilmiştir. Web
sayfanın kaynak kodları, kartın üzerine gömülerek, web servis olarak kullanılmıştır. Arduino ya modemin vermiş olduğu IP adreslerden bir tane IP adresi alınıp, MAC adresi atanarak yazılan program web tarayıcısında adres çubuğuna o IP adresi ile sistem görüntülenmesi gerçekleştirilmiştir. Arduino dan alınan verilerin web arayüzüne aktarılması, kullanılan modemden alınan IP adresi yoluyla gerçekleşir. Bu kısımdaki haberleşme Arduino ve bilgisayarın kullanılan modeme kablo yoluyla bağlanmasıyla gerçekleşir. Örneğin; web tarayıcısının adres çubuğuna 169.254.X.X:PORTNUMARASI/?KOMUT şeklinde yazılarak sistem kontrol edilebilir. Sistemdeki veri akışı Ethernet shield üzerinden Arduino kartına aktarılır. Arduino ile kontrol yapısı ethernet shield üzerinden iletişime geçerek haberleşme sağlanmıştır. Sıcaklık ve gaz sensörü test edilmiştir. Gaz sensörü için normal bir ortam ki voltaj değerleri test edilmiştir. Kullanıcı için sade ve kullanışlı bir web arayüzü oluşturulmuştur. Arduino nun bulunduğu ağa bağlanması sağlanmıştır. Sisteme uygun Android tabanlı uygulamanın içeresine modemin port numarası değiştirilerek aynı IP üzerinden veriler uygulamadaki gerekli yerlere aktarılmıştır. Proje başlangıcında akıllı telefon ve Arduino nun haberleşmesi modem kullanmadan denenmiş ve Arduino dan her değer döndüğünde IP adresi değişime uğramıştır. Bunun sorunun çözümüne modem kullanılarak aynı IP uzayından yerel olarak bağlantı sağlanmıştır. Sistem diyagramında gösterildiği gibi Arduino kartı ve kullanılan bilgisayar modeme Ethernet kablosu ile bağlanmıştır. Akıllı telefon ise modeme bağlanarak, Arduino ile bilgisayarın bulunduğu ağdaki IP adresi üzerinden erişim sağlamaktadır. Arduino Mega 2560 Web Browser (PC) Modem(Router) Android Akıllı Telefon Şekil 7. Sistem Diyagramı Şekil 6. Web Tarayıcısından IP yoluyla haberleşme 5.2 Arduino ve Akıllı Telefonların İletişimi Akıllı telefon ile Arduino birbirleriyle iletişim kurabilmesi için aynı IP uzayında olması gereklidir. Bu yüzden akıllı telefon, 6. Sonuç ve Öneriler Gelişen ve yaygınlaşan teknolojiyle birçok kişi akıllı bir sisteme sahip evde yaşamayı talep eder. Bu taleplerin karşılanması için bu tür bir akıllı ev otomasyonu sistemi geliştirilir. Bu otomasyon sistemi aracılığıyla hayatımızın birçok alanında bu sistemi kullanan kişiler
rahat bir yaşam düzeyine ulaşır. İnsan kaynaklı kazaları azaltıp, güvenli, konforlu ve zaman tasarruflu bir sistem amaçlamaktır. Ayrıca yaşlı ve engelli insanlar için yaşam kolaylığı sağlar. Otomatik ışıklandırma sistemiyle güç tasarrufu sağlar. Şifreleme sistemiyle evin güvenliği sağlanmış olur. Akıllı ev sistemiyle birlikte insanların üzerindeki sorumluluk azaltılarak sistematik hale getirilmiştir. Böylece olası insan kaynaklı kazalar önlenmiş olup kullanıcıya ev hakkında daha fazla bilgilendirme yapılmış olur. Günümüz teknolojisinin akıllı ev sistemi geliştirmeye ve üretmeye imkânı varken ülkemizde ve diğer ülkelerde bir türlü istenen ilgiye ve kullanım miktarına ulaşamamıştır. Bunun temel sebeplerinden biri akıllı ev sistemi maliyetinin fazla olmasından kaynaklıdır. Bu problemin önüne geçebilmek için sistemde kullanılacak araç ve gereçlerin gömülü hale getirilip haberleşmesi sağlanırsa maliyette belli oranda azalma olacaktır. Böylece akıllı ev sistemine olan talep artacaktır. Product Design", Productivity Press, Massachusetts, (1990). [5] Bergquist, K. and Abeysekera, J., "Quality function deployment (QFD)-A means for developing usable products", International Journal of Industrial Ergonomics, 18:269-275 (1996). [6] Jiang, L., Liu, D.Y. and Yang, B., Smart home research, Proceedings of the Third International Conference on Machine Learning and Cybernetics, Shanghai, 659 663, (2004). [7] Douligeris, Christos, Jean Khawand, and Charbel Khawand. "Communications and control for a home automation system." Southeastcon'91., IEEE Proceedings of. IEEE, 1991. 7. Kaynaklar [1] C. Gomez and J. Paradells, Wireless home automation networks: A survey of architectures and technologies, Communications Magazine, IEEE, vol. 48, no. 6, sf. 92 101, 2010. [2] Stefanov, D.H., Bien, Z. and Chul Bang, W., The smarthouse for older persons and persons with physical disabilities, IEEE Transactions on Neural Systems and Rehabilitation Engineering, vol. 12(2), 228-250 (2004). [3] Emmanuel Munguia Tapia, Stephen S. Intille, and Kent Larson. Activity recognition in the home using simple and ubiquitous sensors. In Pervasive, sf. 158 175, 2004. [4] Akao,Y., "Quality Function Deployment- Integrating Customer Requirement In to