Uzun süre TOSSIM kullandıktan sonra OMNeT++ ağ simlülatörünü kullanmaya başladım. Elbette ki her yeni başlangıcın bazı alışma süreçleri olacaktır.

İlk kodlamamı yaparken, şöyle bir sorunla karşılaştım :
Error in module (omnetpp::cModule) ag (id=1) during network setup: Class "blogkafem" not found -- perhaps its code was not linked in, or the class wasn't registered with Register_Class(), or in the case of modules and channels, with Define_Module()/Define_Channel().

Sorunda da anlayacağınız üzere ağ simülasyonu "blogkafem" isimli sınıfı bulamıyor. Bu problemin çözümü için ilk başta internette Eclipse ile ilgili bazı bağlantı ayarlarınızda problemler olduğunu anlatan bazı web siteleriyle karşı karşıya gelebilirsiniz. Sorunun Eclipse'ten (omnet'in varsayılan yazılım geliştirme editörü) kaynaklanıp kaynaklanmadığını anlamak için ise, hazır örneklerden bir tanesini çalıştırıp simüle etmenizi öneririm. Şayet herhangi bir sıkıntı yaşamazsanız ve sıkıntı yalnızca sizin yazdığınız koda meydana geliyorsa ufak bir ayrıntıyı gözden kaçırdığınızı söyleyebilirim.


Çözüm gayet basit aslında. Bunu anlamak için, biraz daha fazla dikkatli olmak hatayı iyi anlamak yeterli olacaktır.

.NED uzantılı (Network Description File) olan dosyanızı açın.

Örnek olsun diye benim kodumun şöyle olduğunu varsayıyorum.

simple blogkafem
{
    gates:
        input in;
        output out;
}

Burada, simple olarak tanımlı "blogkafem" sınıfı ile,
.CC uzantılı program dosyasının adı ve class ismi aynı olmalı.

Bakınız, blogkafem.cc uzantılı program dosyasının içeriği :


class blogkafem : public cSimpleModule{

    protected:
        virtual void initialize();
        virtual void handleMessage(cMessage *msg);
};


Bu isimlerin farklı olması durumunda, OMNeT simülatörü .NED uzantılı dosyanızdaki sınıf ile .CC uzantılı dosyanızda yer alan sınıfları birbirlerinden bağımsız sınıflar olarak değerlendirdiği için, bu durum size hata olarak dönmektedir.

Konuyla ilgili yorumlarınızı alttaki yorum formu aracılığıyla bana iletebilirsiniz. Kolay gelsin.
Yazının devamını oku
Önceki yazılarda TinyOS kurulumundan, test aşamasına ve hatta karşılaşan hataların çözümlerine bir çok konuda yazı yazdım.

Bakınız : TinyOS Kurulumu ve Hata Çözümleri

Şimdi ise sıra, Ubuntu'da TinyOS için Eclipse kurulumuna geldi. Eclipse kurulumunu başarıyla gerçekleştirdikten sonrasında ise Yet2 eklentilerinin Eclipse'e nasıl entegre edeceğimizi göstereceğim.

1. Aşağıdaki kodları sırasıyla terminal ekranında çalıştırarak Eclipse kurulumunu yapalım.

sudo apt-get update
sudo apt-get install eclipse eclipse-cdt eclipse-gef

2. TinyOS için gerekli olan Eclipse sürümünü başarıyla kurduktan sonra Eclipse programını açın. En üstteki menüden şu adımları uygulayın.

Help -> Install Software

Bakınız :




3. Karşınıza gelecek olan pencereden "Add..." yazılı butona tıkladıktan sonra, karşınıza alttaki gibi küçük bir ekran açılacaktır.



Bu ekranda yer alanları aşağıdaki gibi doldurun;
Name : Yeti2 Update Site
Path    : http://tos-ide.ethz.ch/update/site.xml

Daha sonra"OK" butonuna tıklayın. Paketlerin yüklendiğini göreceksiniz.

Bakınız :



"Select All" yaparak yüklenen tüm bu paketleri seçin ve "Next" butonuna tıklayın. Sonraki adımda da yine tüm paketler seçili ise bu sefer "Finish" butonuna basarak kurulumu tamamlamak üzere Eclipse'in bu paketleri kendine entegre etmesini bekleyiniz.

Bakınız;



Ben paketleri daha önceden kurduğum için ekran görüntüsündeki "Finish" butonu bende pasif ama sizde aktif olarak gözükecektir. 

Kurulumlar bittikten sonra menüden "Window -> Preferences" kısmına tıklayınız. Sol menüye "TinyOS"un gelmiş olduğunu görürseniz eğer, Eclipse ile TinyOS konfigürasyonu başarılı bir şekilde gerçekleşmiş demektir.

Bakınız :



Solda ve en alt kısımda yer alan TinyOS menüsüne tıkladıktan sonra, "opening problems  tinyos.perspective eclipse" sorunu ile karşılaşırsanız eğer, bilgisayarınıza en son java sürümünü kurarak bu sorunu çözebilirsiniz.
Yazının devamını oku
BLOGKAFEM.NET © Copyright 2008-2026
Sitedeki yazıların her hakkı BLOGKAFEM.NET sitesine aittir.
Kopyalanması halinde lütfen kaynak gösteriniz.
DMCA.com Protection Status
Anasayfa | Hakkında | İletişim