URSI-TÜRKİYE’2014 VII. Bilimsel Kongresi, 28-30 Ağustos 2014, ELAZIĞ
TINYOS PLATFORMUNDA UYGULAMAYA ÖZEL SİMÜLASYON
ORTAMININ OLUŞTURULMASI
Güngör Yıldırım1, Mahmut Temel Özdemir2, Yetkin TATAR3
1
Devlet Su İşleri IX Bölge Müdürlüğü, Elazığ
[email protected],
2
Fırat Üniversitesi
Elektrik Elektronik Mühendisliği Bölümü, Elazığ
[email protected],
3
Fırat Üniversitesi
Bilgisayar Mühendisliği Bölümü, Elazığ
[email protected]
Özet: Bugün kablosuz sensör ağları ile ilgi bir çok simülasyon programı bulmak mümkündür. Bunların birçoğu
kendine özgü özelliklere sahip iken bir kısmı da kısıtlı ve belirli bir amaca yöneliktir. Bunlar içerisinde TOSSIM
emülatörü TinyOS platformları için başarılı ancak kısıtlı özelliklere sahip bir yazılım olarak karşımıza
çıkmaktadır. Özellikle görsel anlamda tatmin edici bileşenlere sahip değildir. Her ne kadar TinyOS 1.0 ile
Tinyviz adlı küçük bir görsel yazılım tanıtılsa da daha sonra bu kısıtlı yazılım TinyOS 2.x ile sunulmadı. Bu
bildiride, TOSSIM ile uygulamaya yönelik simülasyon tasarımında yapılması gerekenleri kapsayan sanal bir
interaktif deney ortamının gerçekleştirilmesi açıklanmıştır. Bunun için “Araç yönlendirme ve takip uygulaması”
isimli bir senaryo oluşturulmuştur.
Abstract: Today it is possible to see many simulation programs regarding system design of WSN. As many of
them have specific features, some are limited or goal-oriented. TOSSIM, which TinyOS supports, comes into
prominence as successful emulator. But this software does not have advanced graphic interface and visual
components. Even though TinyOS 1.x includes a small simulator called Tinyviz, the current version, TinyOS 2.x,
doesn not support Tinyviz. In this paper we presented a design of an interactive simulation platform developed
by TOSSIM. For this a scenario called “A Vehicle Guidance and Tracking” was created. Thus an advanced
simulation and emulation was able to be carried out.
1. Giriş
Günümüzün en enerjik araştırma konularından kablosuz sensör ağları (WSN), bünyesinde birçok alt teknolojiyi
barındırmaktadır. Örneğin gömülü işletim sistemleri, emülatörler ve simülatörler WSN tasarımlarında önemli bir
yere sahiptirler. Özellikle araştırma amaçlı birçok açık kaynak kod teknoloji bu bağlamda geliştirilmiştir.
TinyOS, eCOS, mClinux gibi teknolojiler bunlardan bazılarıdır [2]. TinyOS işletim sistemi bileşen tabanlı bir
mimariye sahip olduğu için bununla hızlı bir şekilde yazılım geliştirilebilmekte, sensör düğümlerinin küçük
boyutlu hafızaları için kod üretilebilmekte, kütüphaneleri kullanılarak uygulamaya özel çözümler
oluşturulabilmektedir. TinyOS işletim sisteminin programlama dili nesC ‘dir[2-4]. Bir sensör düğümünü gerçek
zamanlı TinyOS uygulaması için programlamadan önce, o düğümü yazılımsal olarak modelleyen yapıyı
tasarlayıp, davranışını sanal olarak izlemek zaman ve maliyet açısından önemlidir. Bunun için PC’de çalışabilen
önemli simülatör programları mevcuttur. Bunlardan bir tanesi TinyOS ‘un resmi emülatörü olan TOSSIM
yazılımıdır[4]. Simülasyon için yazılmış olan bu uygulama; doğrudan doğruya düğümlere yüklenebildiğinden,
aynı zamanda gerçek zamanlı düğüm programlama işlemi de başarılmış olmaktadır [3-4].
Bu bildiride özellikle görsel manada yetersiz özelliklere sahip olan TOSSIM emülatörünün nasıl uygulamaya
yönelik bir simülasyon ortamına dönüştürülebileceği, farklı görevlere sahip çoklu düğümlerin simülasyon
ortamında nasıl etkileştirilebileceği ve genel bir WSN tasarımının nasıl yapılabileceğine yönelik bir yaklaşım
sunulmuştur. Buna yönelik olarak bu çalışmada “Araç yönlendirme ve takip uygulaması” isimli bir senaryo
seçilmiş olup bu senaryonun pratikte uygulanabilir olmasına özen gösterilmiştir. İnteraktif deney ortamı için
seçilen bu uygulama senaryosu; içinde farklı yerlerdeki binaları barındıran bir kampüs alanı için, ziyaretçi
aracındaki ön programlı bir mobil düğüm ve kampüs alanındaki diğer yardımcı düğümler yardımıyla bir
navigasyon sistemini içermektedir. Çalışmada ortaya konulan sanal kablosuz sensör ağı simülasyon uygulaması,
interaktif bir deney şeklinde gerçekleştirilmiş olup, hazırlanan arayüz aracılığı ile uygulamayı kullanan kişi veya
kişilerin, bir WSN uygulamasının sistematik çalışmasını analiz etmesine yardımcı olacak deneyler
yapılabilmesine imkan sağlanmıştır. Uygulamada, TinyOS işletim sistemi, nesC dili, TOSSIM simülatörü,
URSI-TÜRKİYE’2014 VII. Bilimsel Kongresi, 28-30 Ağustos 2014, ELAZIĞ
python dili ve simülasyonu görsel hale getirmek için Tkinter kütüphanesi kullanılmıştır. Simülasyonda yer alan
düğümler gerçek zamanlı uygulamadaki gibi nesC ile programlanacak ve sistem simülasyonu TOSSIM 'de
Python dili kullanılarak yapılacaktır.
2. Sistem Simülasyonunun Yapısı
WSN sistemini simüle eden interaktif deney seti sisteminde hem WSN düğümlerinin programlanması aşaması
hem de sistemin analizinin açık ve anlaşılır bir şekilde yapılması gözetilmiş olup sistemde, üzerinde üç adet LED
bulunan telsiz sensör düğümlerinin (TelosB gibi) kullanıldığı kabul edilmiştir. Oluşturulan sistemin genel yapısı
Şekil1.de görülmektedir.
Şekil 1. Uygulama arayüzü
Bu arayüzdeki pencereler 1 ‘den 6 ‘ya sırasıyla; kampüs alanı, nizamiye araç hareketleri takip ekranı, mobil
düğüm üzerindeki yönlendirme ledleri, deneyler için gerekli ayarlamaların yapılabildiği ve simülasyonun
başlatılabildiği ana panel, simülasyonun akışının komut satırından incelenebilmesini sağlayan terminal penceresi
ve son olarak aracın test maksatlı yanlış yola yönlendirebilmesini sağlayacak giriş penceresi şeklindedir.
3. Simülasyon Tasarım
Simülasyon, her ne kadar micaZ için yapılsa da yazılan düğüm kodları, TelosB gibi TinyOS‘u destekleyen diğer
düğümler tarafından da kullanılabilinir. Bu uygulamada mobil, kavşak (KD), düzlük (D) v.b isimli farklı çalışma
modlarına sahip düğümler kullanılmaktadır. TOSSIM sadece bağlandığı düğüm dosyasının kodlarını simüle
edebilmektedir [4]. Dolayısıyla TOSSIM simülatörünün tek bir “app.xml” dosyasına bağlandığı düşünülürse
farklı görevlere sahip düğümlere ait kodların tek bir dosya altında bulundurulması ve çalıştırılması, çözülmesi
gereken bir problemdir. Bu problemin çözümlerinden birisi düğümlerin ID ‘lerine göre çözümlemelerinin
yapılmasıdır. Sistem düğümlerine ait omurga yapısı ve düğüm etkileşim şeması Şekil 2 ‘de verilmiştir.
Şekil 2. (a)Ağa ait iletişim omurga yapısı ve (b) düğüm etkileşim şeması
Bununla beraber sistem için kullanılacak paket tasarımları da sistemin işleyişi için hayati öneme sahiptir. Örnek
olması açısından kullanılan bazı paket yapıları Şekil 3 de verilmiştir.
Şekil 3. (a)Ağa ait iletişim omurga yapısı ve (b) düğüm etkileşim şeması
Düğümlerin programlanmasında görev tanımı oldukça önemli olduğundan, hem mesaj alım hem de mesaj
gönderim bölümlerinde programatik olarak değerlendirme yapılmalıdır. Şekil 4 ‘de genel düğüm kodlarına ait
URSI-TÜRKİYE’2014 VII. Bilimsel Kongresi, 28-30 Ağustos 2014, ELAZIĞ
sözde kod bloğu ve örnek mesaj alım akış şeması sunulmuştur. Şekil 5 ise simülasyonun bazı ekran çıktılarını
göstermektedir.
Şekil 4. (a)Düğüm sözde kod bloğu (b) örnek mesaj alım akış şeması
Şekil 5. Simülasyona ait örnek ekran çıktıları
4. Sonuç
Bu çalışmada WSN’ler ile bir sistem geliştirme sürecinin simülasyon aşamasında, yapılması gerekenleri
açıklamak için sanal bir etkileşimli deney ortamının oluşturulması amaçlanmış ve gerçekleştirilmiştir. “Araç
yönlendirme ve takip uygulaması” isimli bir senaryo üzerine kurulan etkileşimli deney ortamında, gerçek sensör
düğümlerinin modelleri kullanılmıştır. Dolayısıyla simülasyon için yapılan düğüm programlama kodlarının
gerçekte düğümlerde de kullanılması olanaklı kılınmıştır. Kullanılan TinyOS 2.1.0 TOSSIM simülatörü grafiksel
arayüzü desteklemediğinden, bu çıktıları görselleştirmek için, simülasyon uygulama alanı olarak seçilen kampus
Tkinter GUI kütüphanesi yardımıyla modellenmiş ve simülasyonun görselliği istenildiği şekilde
özelleştirilmiştir. Kablosuz sensör düğümlerinin kodlarının tek bir düğüm dosyasında nasıl toplandığı ve
simülasyon esnasında nasıl çözümleme yapıldığı anlatılmıştır. Simülasyon sonucunun hem terminal
penceresinden hem de geliştirilmiş olan görsel pencereden izlenmesi mümkün kılınmıştır. Aynı zamanda
interaktif deneyler yapılmasına olanak tanıyan bir arayüz ile kablosuz sensör ağlarının ve onlara ait
simülasyonların çalışma mantığının analiz edilmesine imkân sağlanmıştır.
Kaynaklar
[1]. Akyildiz, I., Su, W., Sankarasubramaniam, W., Çayirci, E., 2002, Wireless Sensor Networks: A Survey,
Elsevier Computer Networks, March, volume 38, Issue 4, pp. 393-422.
[2]. Yildirim, G. ,2012, Kablosuz Sensör Ağlarında Konum Bulma,Yüsek Lisans Tezi, Fırat Üniversitesi, Elazığ,
Türkiye.
[3]. Tatar Y., Yıldırım G., An Application of a Low-Cost Monitoring and Guidance System in a WSN,
International Journal of Computer Applications (0975 – 8887), Cilt 73 No.16, sayfa 31-38, 2013.
[4]. www.tinyos.net
[5]. www.python.org
Download

157