Web Servis Aracılığıyla Android Cihazlardan Sıcaklık Kontrolü

Benzer belgeler
Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Proje Adı : MATLAB Real-Time Windows Target toolbox kullanımı ve ilişkili bir uygulama geliştirilmesi

BİT in Temel Bileşenleri (Yazılım-1)

MOBIL UYGULAMA GELIŞTIRME

Phonegap ile Çoklu Mobil Ortamlara Uygulama Geliştirme: Web Servis Örneği

Karabük Üniversitesi Bilgi Sistemi Android Uygulaması. Android Application of Karabük University Information System

Üst Düzey Programlama

RF İLE ÇOK NOKTADAN KABLOSUZ SICAKLIK ÖLÇÜMÜ

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Sistem Nasıl Çalışıyor: Araç İzleme ve Filo Yönetim Sistemi

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

WEB TABANLI OTOMASYON SİSTEMİ TASARIMI VE YAPIMI DESIGN AND APPLICATION OF A WEB BASED AUTOMATION SYSTEM

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

EEM 419-Mikroişlemciler Güz 2017

Akıllı Kontrolde Teknoloji Devi SCADA YAZILIMI. Supervisory Control and Data Acquisition. ViewPLUS. Açık, Esnek, Ölçeklenebilir.

VIERO, görüntü tabanlı analiz sayesinde, ortalama araç hızı bilgisi üretmekte ve araç yoğunluğunu da ölçmektedir. VIERO Araç Sayım Sistemi

Prof. Dr. Oğuzhan Urhan GYY Müh.Tas 3 ve Tez Konusu Önerileri

PR Kasım 2009 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Temel Bilgisayar (Basic Computer) Yazılım (Software)

4. Bölüm Programlamaya Giriş

İŞLETİM SİSTEMLERİ. (Operating Systems)

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

PHP 1. Hafta 1. Sunum


Mobil Cihazlardan Web Servis Sunumu

WEB TASARIMINDA TEMEL KAVRAMLAR

Bilgi Servisleri (IS)

PLC (Programlanabilir Kontrol Cihazı) TABANLI SİSTEMLERİN İNTERNET ÜZERİNDEN İZLENMESİ

Java 2 Micro Edition (J2ME)

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

Veri Tabanı-I 1.Hafta

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ

Yazılım Mühendisliğine Giriş 2018 GÜZ

MOBİL İLETİŞİM CİHAZLARI İLE EV OTOMASYON SİSTEMLERİ (EOS)

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

Akıllı Ortamlarda Sensör Kontrolüne Etmen Tabanlı Bir Yaklaşım: Bir Jadex Uygulaması

VIERO ARAÇ SAYIM SİSTEMİ

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

GÖRÜNTÜ TABANLI ALGILAMA İLE QUADROTORUN HAREKETLİ BİR CİSMİ TAKİBİ

BLG 1306 Temel Bilgisayar Programlama

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

İşletme ve Devreye Alma Planı Yerel Okul Sunucusu Uygulama Yazılımları Prototipi TRscaler Technology Solutions

Öğr. Gör. Serkan AKSU 1

SCADA SISTEMLERI ILE PERFORMANS YÖNETIM SISTEMI UYGULAMALARı. Elma Yönetim ve Otomasyon Sistemleri

SENSPLORER SPX. Neden SENSPLORER SPX KRİTİK NOKTALARIN GÜVENİLİR TAKİPÇİSİ

BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI. 1-Bilgisayar, donanım ve yazılım kavramları 2-Bilgisayar çeşitleri 3-Bilgisayarlar arsındaki farklılıklar

Çalışma Adı : Uzaktan programlanabilir kayan yazı sistemi

Bilgisayar İşletim Sistemleri BLG 312

Üç Boyutlu Grafik Teknolojilerinin Mobil Öğrenme Alanı ile Bütünleştirilmesi

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

ÖZGÜR YAZILIMLAR İLE J2EE

E-FATURA /E-DEFTER / E-ARŞİV ÇÖZÜMLERİ

WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi


NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI

Güvenli Doküman Senkronizasyonu

İşletim Sistemleri (Operating Systems)

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

İşletim Sistemleri. Bilgisayar Mühendisliğine Giriş. Teknoloji Fakültesi / Bilgisayar Mühendisliği. Öğr.Gör.Günay TEMÜR

SONUÇ RAPORU EK: Ürüne CLEVER adı verilmiştir. Geliştirilen model C15 olarak tanımlanmıştır.

YILDIZ TEKNIK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKULTESİ ELEKLTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ

Bulanık Mantık Tabanlı Uçak Modeli Tespiti

MUSTAFA KEMAL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MAKİNE MÜHENDİSLİĞİ BÖLÜMÜ

Üst Düzey Programlama

YRD. DOÇ. DR. AGÂH TUĞRUL KORUCU Kernel çeşitleri

Hazırlayanlar Oben Işık( ), Gökhan Karaca( ) İTÜ Bilgisayar Mühendisliği Bitirme Projesi. Kuramsal Bilgiler

BŞEÜ, MF, BĐLGĐSAYAR MÜHENDĐSLĐĞĐ, BAHAR YARI YILI BM400 BĐTĐRME ÇALIŞMASI KONULARI

Bilişim Teknolojileri Temelleri 2011

EEM 419-Mikroişlemciler Güz 2016

DHT11 SICAKLIK VE NEM SENSÖRÜ ĐLE BĐLGĐSAYAR DESTEKLĐ ÖLÇÜM VE KONTROL DEVRESĐNĐN ĐMALATI VE DENEYSEL OLARAK ĐNCELENMESĐ

Genel Özellikler. Radikal Ltd. Aralık

Bilgisayar, elektronik bir cihazdır ve kendi belleğinde depolanan talimatları sırasıyla uygulayarak çalışır. İşler. Bilgi İşlem Çevrimi

Web Tasarımının Temelleri

FABREKA YAZILIM ELEKTRONİK DANIŞMANLIK TİC. LTD. ŞTİ.

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

Bilişim Teknolojileri Temelleri Dijital Dünyada Yaşamak

Sade ve tam ekran masaüstü kullanımının temel çıkış noktası, aranılan özelliğe çabuk erişimi sağlayan yenilikçi kullanıcı deneyimidir.

HMI İNSAN MAKİNE ARAYÜZÜ

Kablosuz Algılayıcı Ağları ile Yangın Tespit Sistemi

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme

Bilişim Teknolojilerine Giriş

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

1.PROGRAMLAMAYA GİRİŞ

SDD Dökümantasyonu Versࠀyon 1.0. Movࠀe Predࠀctࠀon Orhan Özgün Ergen Ahmet Saday Berkay Erken

Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması

(Mekanik Sistemlerde PID Kontrol Uygulaması - 3) HAVA KÜTLE AKIŞ SİSTEMLERİNDE PID İLE SICAKLIK KONTROLÜ. DENEY SORUMLUSU Arş.Gör.

RADYO FREKANSIYLA KABLOSUZ SICAKLIK KONTROLÜ WIRELESS TEMPERATURE CONTROL BY RADIO FREQUENCY

KONTROL VE OTOMASYON KULÜBÜ

Efe Çiftci Çankaya Üniversitesi Bilgisayar Mühendisliği Bölümü Kasım 2012 CENG 191 Computer Engineering Orientation Özel Sunumu

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

TESTBOX2010 Kullanım Kılavuzu

Transkript:

Web Servis Aracılığıyla Android Cihazlardan Sıcaklık Kontrolü Yalçın ALBAYRAK 1, Abdülkadir KOÇER 2, Serkan USLU 1 1 Akdeniz Üniversitesi, Elektrik-Elektronik Mühendisliği Bölümü, Antalya 2 Akdeniz Üniversitesi, Teknik Bilimler MYO, Antalya yalbayrak@akdeniz.edu.tr,akocer@akdeniz.edu.tr,serkanuslu09@gmail.com Özet: Web servis aracılığıyla android cihazlardan sıcaklık kontrolü amacıyla bir gömülü sistem tasarlanmıştır. Ortam sıcaklığı DS18B20 sensörü ile düzenli aralıklarla ölçülür. Sıcaklık verileri Matlab grafik kullanıcı arayüzü ile izlenmektedir. Webrequest metodu kullanılarak ilgili sıcaklık değeri internet üzerindeki web servise gönderilmiştir. Web servis aracılığıyla JSON olarak düzenlenen değerler Android uygulaması ile işlenmiştir. Grafik ve bildirim ara yüzleri eklenerek istenilen alt ve üst eşik arasında kullanıcıyı uyarması sağlanmıştır. Anahtar Sözcükler: Gömülü sistem, Matlab, Android, JSON, Web servis Temperature Control from Android Devices via Web Services Abstract: An embedded system is designed for temperature control from android devices via web services. The ambient temperature is measured at regular intervals with DS18B20 Temperature Sensor. Temperature data is observed with Matlab graphical user interface. Webrequest used the method of the web service on the internet about the temperature has been sent. Web service via the Android application is processed by the values JSON parsing. Graphics and notification interfaces were added to warn the user of the desired lower and upper thresholds. Keywords: Embedded system, Matlab, Android, JSON, Web service 1. Giriş Bu sistemde, sayısal olarak 12 bit çözünürlükte sıcaklık ölçümü yapabilen DS18B20 sıcaklık sensörü ile ortamın sıcaklığı ölçülüp mikrodenetleyici birimi ile veriler işlendikten sonra 8 bitlik seri port iletişim protokolü kullanılarak bilgisayar ortamına aktarılmıştır. Daha sonra aktarılan bu veriler webrequest metodu ile önce internet ortamına oradan da web servis ile mobil cihaza aktarılmıştır. Sistemin Akış Diyagramı Şekil 1 de verilmiştir. 2. Sıcaklık Ölçümü Kontrol ünitelerinin gelişimine bağlı olarak bu ünitelerde kullanılan parametreler zamanla artmıştır. Sıcaklık bu parametrelerin içinde en çok kullanılanlardandır. Gerek sanayi alanında gerek tıbbi alanda gerekse gıda alanında sıcaklığın kontrolü birçok değerin analizini kolaylaştırmaktadır. Sıcaklık ölçümü için yaygın olarak analog sıcaklık sensörleri kullanılmaktaydı. Ancak bu sensörler mikrodenetleyiclerin az sayıda bulunan analog giriş pinlerinin sayısını daha da azaltmakta ve gelişmiş sistemlerin oluşturulmasında engel teşkil etmekteydi. Alternatif olarak kullanılan analog dijital çevirim birimleri ise fazladan donanım birimi kontrolüne yol açmaktadır.[1] Bu sebeplerden dolayı bu çalışmada sayısal olarak sıcaklığı ölçebilen DS18B20 sensörü kullanılmıştır. DS18B20 sensörü MAXIM/DALLAS firması tarafından

üretilmiş ve yine aynı firma tarafından üretilen One-Wire iletişim protokolü ile ölçülen değer tek bir yol üzerinden mikrodenetleyiciye aktarılabilmektedir. Sensör, 0.5 C lik hata ile -55 C ile +125 C arası ölçüm yapabilmektedir.[2] ve mikrodenetleyicinin veri yolu uzunluğu 8 bit olduğu için alınan veri uygun bit işlemleri ile 2 ayrı şekilde ölçülmüştür. Tam sayı kısmı ve ondalık kısmı ayrı ayrı hesaplanmasının ardından veri lcd ekrana ve bilgisayara aktarılmıştır. Sıcaklık sensörü ve devresi Veri okuma ve işleme internet ortamına gönderme Web Servis ile Yayınlama Mobil Cihaz ile veri çekme Şekil 1. Sistemin Akış Diyagramı Şekil 3. Mikodenetleyici Ünitesi Prototipi 3. Arayüz Tasarımı Mikrodenetleyici ile istenilen formata hazır hale getirilen veri seri port üzerinden bilgisayar ortamına aktarılmış ve MATLAB programı sayesinde alınan verinin bilgisayar ortamında incelenmesi sağlanmıştır. Arayüzde alınan verinin gerçek zamanlı olarak Sıcaklık-Zaman Grafiği çizdirilmiş ayrıca bu veriler farklı formatlarla kayıt altına alınarak istenildiğinde erişimi sağlanabilecek şekilde kaydedilmiştir. Şekil 2. DS18B20 Sıcaklık Sensörü 3. Mikrodenetleyici Birimi Elde edilen sıcaklık verisinin uygun yöntemlerle işlenmesi, LCD ekranında gösterilmesi ve bilgisayara aktarılması için mikrodenetleyici biriminden faydalanılmıştır. Mikrodenetleyici olarak PIC16F877A kullanılmıştır. Bu mikrodenetleyicinin seçilmesinde birçok programlama dili ile kontrol edilebilmesi, istenilen temel özelliklere sahip olması belirleyici özellik olmuştur.[3,4] Sıcaklık sensöründen veri C programlama dilinde One-Wire iletişim protokolü ile alınmıştır. Sensör 12 bitlik veri gönderdiği Şekil 4. Arayüz tasarımı 4. İnternet Ortamına Veri Gönderme (WebRequest) WebRequest, internet ortamında bulunan verilere erişebilmek için kullanılan Net Framework yapısı içerisinde yer alan veri gönderme /alma işlemidir[5].

Uygulamamızda WebRequest bileşenini kullanarak, bilgisayarımızda bulunan veri dosyamızı ilgili web sayfasına gönderme (post) işlemi gerçekleştirildi. Örnek kodlama Şekil 5 de verilmiştir. de kapladığı alan bakımından kullanımı yaygındır[9]. JSON formatının doğrudan sunucu (server) kodu olarak kullanılması, sunucuların ve kullanıcıların (client) gelişmesine büyük kolaylık sağlamaktadır[10]. JSON kodlama yapısı Şekil 7 de verilmiştir. Şekil 5. WebRequest Kodlama Örneği 4.1 Web Servis Web servislerindeki temel amacı internet yardımıyla veri alışverişini sağlamaktır[6]. Web servisleri web ortamında yayınlanabilen, aranıp bulunabilen ve çağrılarak erişilebilen fonksiyonlarıdır. Her türlü iş alanında kullanımı mevcuttur. Web servis kullanımında bazı standartlar vardır. Bunların başında XML (Extensible Markup Language) ve JSON (Java Script Object Notation) yapıları gelir. 4.2 XML Veri Yapısı XML (Genişletilebilir Belirleme Dili), XML verilerin transferi, depolanması, sorgulanması ve yönetiminde bugün ve gelecekte ihtiyaç duyduğumuz veri standardıdır[7]. XML yapısı sayesinde HTML dosyalarının kullandığı geniş bant genişliklerinden kurtulabiliriz. Böylece veri trafiğini azaltarak sunucuların yükünü hafifletir [8]. XML kodlama yapısı Şekil 6 da verilmiştir. Şekil 6. XML kodlama Yapısı 4.3 JSON Veri Yapısı JSON, programlama dilleri arasında veri transfer yöntemidir. XML e kıyasla daha rahat kullanım sunan JSON hem hız hem Şekil 7. JSON kodlama Yapısı 5. Android Nedir? Android, Open Handset Alliance tarafından geliştirilmiş olup Google ile birlikte daha yaygın kullanıcı kitlesine ulaşmıştır. Linux tabanlı olup mobil cihazlar için geliştirilmiş açık kaynak kodlu bir mobil işletim sistemidir. [11]. Android uygulama geliştirmeye elverişli bir işletim sistemidir. 5.1 Android İşletim Sistemi Mimarisi Android İşletim Sistemi Mimarisi Şekil 8 de görüldüğü gibi çeşitli katmanlardan oluşmaktadır[12]. Application (Uygulama) katmanı; İşletim sisteminin kullanıcıya görünen kısmıdır. Bu katmanda kullanıcı tanımlı uygulamalar yer almaktadır. Aplication Framework katmanı; Uygulamaya ait kaynakların yönetimi, uygulamalar arası veri paylaşımının yönetimi, Uygulamaların yaşam döngülerinin yönetilmesi ve uygulamanın donanım isteklerinin yönetilmesi gibi işlemler bu katmandadır. Libraries ; (Kütphaneler) katmanında sistemin kullandığı çeşitli bileşenlerin tutulur. Android Runtime; Android uygulamaları Java diliyle yazıldığından bu uygulamaların çalıştırılmasında bir Java Sanal Makinesi ne ihtiyaç vardır. Google bu sebeple Android için Dalvik Sanal Makinesini geliştirmiştir. Linux Kernel; Android OS, bellek yönetimi, süreç yönetimi, güvenlik, sürücü hizmetleri gibi temel işletim

sistemi görevlerini Linux Kernel 2.6 ile gerçekleştirmektedir. Şekil 10. Uygulama Ana Ekran ve Grafik Görüntüsü Şekil 8. Android İşletim Sistemi Mimarisi 6. Mobil Uygulama Geliştirme İlgili web adresi tarafından JSON olarak aktarılan veri, android kodlama ile cihazımıza aktarıldı. Çalışma mantığımız şu şekildedir. Uygulama cihaza yüklendikten sonra Ayarlar bölümünden kontrol sıklığı ile uyarı alt ve üst eşiği belirlenecektir. İstenirse web servis kapatılarak kontrol işlemi kapatılabilinecektir. İlgili ayarlar XML şeklinde cihazda tutulmaktadır. Bu işlem için SharedPrefereces Kütüphanesi kullanılmıştır(şekil 9). 7.Sonuç ve Öneriler Günümüzde farklı teknolojilerin (gömülü sistem, Webservis, Mobil işletim sistemleri) bir araya gelmesiyle herhangi bir ortamdaki değişiklikleri sensörler sayesinde algılayarak her an her yerde ulaşma şansına sahip olunmaktadır. Bu çalışmada var olan teknolojilerin entegresini uyumlu bir şekilde çalışabileceğinin gösterilmesi amaçlandı. İstenilen ortamdaki değişkenlerin (Sıcaklık, nem vs.), istenilen periyotta bilgi akışı olabildiği ortaya çıkmıştır. Sistemin geliştirilerek her türlü endüstriyel ya da zirai uygulamalarda kullanımı yaygınlaşabilir. Şekil 9. SharedPrefereces Kütüphanesi Kullanımı Cihaz kapalı olduğu durumlarda da veri kontrolü yapılabilmesi için BroadcastReceiver yapısı kullanılmış olup bir alarm yönetimi ile birlikte senkronize olarak istenilen kontrol sıklığında web servis çalıştırılmıştır[13]. Alınan değer alt ile üst eşik arasında ise bildirim olarak kullanıcı uyarılmıştır. Ayrıca alınan son 10 değerin grafiği de çizilmiştir(şekil 10).

8. Kaynaklar [1] F. Zengin, M. Şanlı, O. Urhan, M.K. Güllü, Çok Noktadan Kablosuz (RF) Sıcaklık Ölçümü, Otomasyon Dergisi, pp. 100-102, Ocak 2005. [2] DS18B20 Sayısal Sıcaklık Algılayıcısının Katalog Bilgileri. (http://www.maxim-ic.com), Erişim Tarihi 25.11.2012 [3] H.Şahin, A. Dayanık, C. Altınbaşak, PIC Programlama Teknikleri ve PIC16F877A, Altaş Yayınevi, İstanbul, 2006). [4] PIC16F877A Mikrodenetleyicisinin Katalog Bilgileri. (http://www.microchip.com), Erişim Tarihi 25.11.2012 [10] Fang H.,Chen J.,Xu B., The Interaction Mechanism based on JSON for Android Database Application, Information Technology Journal 12 (12);224-228,2013 [11] Wikipedia, (http://tr.wikipedia.org/ wiki/android), Erişim Tarihi : 23.11.2012 [12] Shu, X., et al. (2009). Research on mobile location service design based on Android. Wireless Communications, Networking and Mobile Computing, 2009 WiCom'09. 5th International Conference on, IEEE. [13] Android Developers, (http:// developer.android.com), Erişim Tarihi: 23.11.2012" [5] Microsft MSDN Kütüpanesi, (http://msdn.microsoft.com/trtr/library/system.net. webrequest. aspx), Erişim Tarihi : 23.11.2012 [6] Akyokus S. Web Servisleri: Internet Devriminde İkinci Aşama, Inet-tr 2001, İstanbul, 2001 [7] Yardımcıoğlu M., Özer Ö. Genişletilebilir İşletme Programlama Dili, KSÜ İİBF Dergisi, ISSN:2146 5908, Yıl:2011, Cilt:1, Sayı:2 (Aralık 2011), s.79 106. [8] Uzun E., Kılıçaslan Y., UÇAR E., HTML, XML ve web servislerinin İnternet sunucuları üzerindeki etkisinin incelenmesi, Trakya Univ J Sci, 8(2): 81-85, 2008 [9] Türk Yazılımcılar, (http://www. turkyazilimcilar.com/ j2ee/json-nedir-jsonolusturma-ve-java-uygulamasinda-jsonkullanimi/), Erişim Tarihi: 23.11.2012