TinyViz, TinyOS ortamında çalışan bir Grafiksel Kullanıcı Arayüzü'dür. Hata ayıklama, görselleştirme ve TinyOS uygulamalarının TOSSİM simülasyonlarıyla etkileşim kurmaları için, genişletilebilir bir grafiksel kullanıcı arayüzü (GUI) sağlar.

TinyViz ile;
  • Çalışan TinyOS uygulamalarının işleyişi kolaylıkla takip edilebilir.
  • Beklenmeyen olaylar meydana geldiğinde kesme noktası atanabilir.
  • Radyo mesajları görselleştirilebilir.
  • Düğümlerin (mote) radyo bağlantıları ve sanal pozisyonları manipüle edilebilir.
Buna ek olarak TinyViz, kendi uygulamanıza özel bir şekilde verilerinizi görselleştirmek veya çalışan simülasyon ile etkileşim kurmanız için, kendi TinyViz modüllerinizi yazmanıza imkan tanıyan basit bir "eklenti" API'yi desteklemektedir.

Başlangıç için apps klasöründe yer alan TestTinyViz uygulamasına bakabilirsiniz. TestTinyViz uygulaması, düğümlerin periyodik olarak rastgele bir komşuya, mesaj gönderen bir uygulamadır. Bu test uygulamasının başka bir özelliği yok fakat; TinyViz'in temel özelliklerini görmemizi sağlayacak bir uygulamadır. Hemen apps/TestTinyViz klasörüne cd komutu ile girip "make pc" ile uygulamayı build (oluşturmak, derlemek) edin.

TinyViz'i derlemek için terminal üzerinden cd komutu ile tools/java/net/tinyos/sim dizinine gidin ve "make" komutunu yazarak enter tuşuna tıklayın. Bu işlem sizin, tinyviz.jar dosyasını build etmenizi sağlayacaktır. Yani bu komut ile beraber TinyViz programı,tinyviz.jar olarak oluşacaktır. Bağımsız olan bu Jar uzantılı Java dosyasını, tinyviz script komutu ile çalıştırabilirsiniz. TinyViz script dosyasının, dosya yolunu belirterek, 'tinyviz'i doğrudan komut satırı üzerinden çalıştırabilirsiniz.

TinyViz uygulamasını başlatma ve TestTinyViz uygulamasını çalıştırma işlemlerini şu şekilde yapabilirsiniz.

export DBG=usr1
tinyviz -run build/pc/main.exe 30

Bu komutu çalıştırdıktan sonra aşağıdaki gibi bir pencere göreceksiniz.


Solda, sensör ağının grafik ekranı yer almaktadır. Sağ tarafta ise, TinyViz'in nasıl çalıştığını kontrol eden ve bir dizi eklentiyle etkileşime girebileceğiniz yönetim ekranı yer almaktadır.

Düğümlerin listelendiği sol ekranda, herhangi bir düğüme tıklayarak o düğümü seçebilir veya fare imleci ile bir dikdörtgen oluşturarak, toplu düğüm seçimi yapılabilir. Her bir düğüm üzerine tıklanarak başka bir yere sürüklenebilir. Herhangi bir düğümü bu şekilde, üzerine tıklayarak seçmek, bazı işlemler veya eklentiler için kullanışlı olabilmektedir. Örneğin tek bir düğümü açıp kapatmak yani devre dışı bırakıp, tekrar akitf etmek işlemi vs. gibi.

TinyViz ekranındaki "duraklat/oynat" olarak adlandırabileceğimiz yeşil üçgene sahip olan buton, simülasyonu duraklatıp, tekrardan kaldığı yerden oynatmamıza olanak tanır. Hemen sağ tarafında yer alan, içinde kare ızgarayı andıran dikdörtgen olan buton ise, ekrandaki kılavuz çizgileri arasında geçiş yapmayı sağlar. "Clear" düğmesi görüntüleme durumunu temizler. Clear butonun hemen sağ tarafın yer alan buton ise tüm işlemleri sonlandıran "Stop" butonudur. Stop butonu simülasyonu tamamen kapatır.

"Delay" yazılı sürgü ise, her TOSSIM etkinliğinin işlenmesi arasında belli bir süre beklenmesini istiyorsanız, gecikme (delay) sürgüsü, iki etkinlik arası belli bir gecikme sağlayabilirsiniz. Gecikme sürgüsü, az sayıda düğümün olduğu ağlarda, simülasyonun "gerçek zamanlı" olarak izlenmesi gerektiği durumlar için faydalıdır.

"On/Off" düğmesi ise, seçilen düğümlerin güç durumunu değiştirir. Yani güç verip kesme işlemi yapar diyebiliriz.

Bu yazının orjinaline şu linkten ulaşabilirsiniz : https://www.cse.iitd.ernet.in/~pulkit/embedded2/docs/lesson5.html

Yazının çevirisi tamamen Ali ARSLAN tarafından yapılmış olup, ilk defa Blogkafem.net üzerinden yayınlanmıştır. Kopyalamanız halinde lütfen kaynak gösteriniz. Konuyla ilgili farkettiğiniz çeviri veya yazım hatalarını, aşağıdaki yorum formu aracılığıyla iletebilirsiniz. İyi çalışmalar.

Thanks to Indian Institute of Technology Delhi for TinyOS documentation that they present. (Sundukları TinyOS dokümanları için Hindistan Teknoloji Enstitüsü'ne teşekkürler.)

Yazının devamını oku
TOSSIM'in önemli bir avantajı, bilgisayarda çalıştığından dolayı "gdb" gibi geleneksel hata ayıklama araçlarının kullanılabiliyor olmasıdır. Bununla birlikte TOSSIM'de, çok sayıdaki düğüm için ayrı bir olay simülasyonu olduğundan, geleneksel olan, adım adım hata ayıklama teknikleri yalnızca bir etkinlik (event) temelinde çalışır. Çapraz olaylar için çalışmaz.


Maalesef ki gdb NesC için değil, genellikle C için tasarlanmıştır. NesC'nin bileşen modeli tek bir komut için birden çok sağlayıcıya sahip olacağı anlamına gelir. Belirli bir komuttan yararlanmak veya komuta başvurmak için bileşen, arabirim ve komutun belirtilmesi gerekir. Örneğin, LedsC'nin Leds arayüzünün redOff komutunu kesmek için, şu yapılmalıdır :

 gdb build/pc/main.exe  // start gdb

(gdb) break *LedsC$Leds$redOff
Breakpoint 1 at 0x804c644: file tos/system/LedsC.td, line 97.

run 1    

LedsC, geçiş komutları için açma kapama işlemlerini tutar. gdb işlevinin doğru ayrıştırılması için "*" ifadesini eklemek önemlidir.

Değişkenler de benzer şekilde isimlendirilir. Örneğin, LedsC'nin, ledsOn değişkenini ekrana basmak için yazılması gereken kod :

(gdb) print LedsC$ledsOn
$3 = '\0' 

Aslında üstte gösterilen çıktı tamamiyle doğru değil. Çünkü TOSSİM'de, ledsOn tek bir uint8_t değil, 1000'in üzerinde bir dizi. Bu işlem, TOSSIM'in birden fazla düğümün durumunu, n bileşene sahip olan dizilerin nasıl derlendiğini işler. Buradaki "n" ifadesi, maksimum simülasyon boyutudur.

Ancak bir düğüm, bir bileşenin durumuna eriştiğinde, kendi kimliğine (ID) bağlı olarak dizinin içine indeksler. Bu nedenle, belirli bir kod durumunu çağırmak için dizinin doğru dizinlenmesi gerekiyor:

(gdb) print LedsC$ledsOn[tos_state.current_node]
$2 = 0 '\0'

Örneğin siz de adı VAR olan bir gdb olay işleyicisi yapabilirsiniz. Bunun için tos/platform/pc/ klasörü içerisinde .gdbinit adında bir dosyaya sahip olmalısınız. Eğer TinyOS klasörünüzde .gdbinit dosyası yoksa, kendiniz oluşturabilirsiniz. Böyle bir dosyaya sahipseniz, içine yalnızca şunu eklemeniz yeterli olacaktır :

(gdb) VAR LedsC$ledsOn
$3 = 0 '\0'

GDB İle İlgili Daha Detaylı Bilgi Edinmek İçin Buraya Tıklayınız.

Bu yazının orjinaline şu linkten ulaşabilirsiniz : https://www.cse.iitd.ernet.in/~pulkit/embedded2/docs/lesson5.html

Yazının çevirisi tamamen Ali ARSLAN tarafından yapılmış olup, ilk defa Blogkafem.net üzerinden yayınlanmıştır. Kopyalamanız halinde lütfen kaynak gösteriniz. Konuyla ilgili farkettiğiniz çeviri veya yazım hatalarını, aşağıdaki yorum formu aracılığıyla iletebilirsiniz. İyi çalışmalar.

Thanks to Indian Institute of Technology Delhi for TinyOS documentation that they present. (Sundukları TinyOS dokümanları için Hindistan Teknoloji Enstitüsü'ne teşekkürler.)
Yazının devamını oku
Bundan önceki yazımızda, DBG modlarının tam setini, build/pc/main.exe --help yazarak görebilirsiniz demiştik.

Öncek Yazı : TinyOS'ta TOSSIM İle Simülasyon Yapmak (Detaylı Anlatım)

Bu yazıda ise DBG'nin kullanımı ve DBG'nin modların kullanımına yoğunlaşacağız.


TinyOS'taki uygulamaların bileşenleri için, DBG'nin hata ayıklamak için usr1, usr2, usr3 ve temp olmak üzere 4 farklı modu vardır. TinyOS'ta DBG komutu şu parametreleri alır :

dbg(, const char* format, ...);

Mode parametresi, bu mesajın hangi DBG modlarında yazdırılacağını belirtir. Modların tamamına tos/types/dbg_modes.h dosyasında bulabilirsiniz. dbg ifadesi printf() sözdizimini içerir ve string çıktısı verir. Örneğin şu dosyayı tos/lib/Counters/Counter.nc editörde açın. Daha sonrasında ise Timer.fired() fonksiyonunda return ifadesinden önce aşağıdaki komutu ekleyin :

dbg(DBG_TEMP, "Sayaç: Value is %i\n", (int)state);


Üstteki kod kod parçasında olduğu gibi dbg'nin modunun ayarlandığı ilk parametreyi DBG_TEMP olarak ayarlayın ve tek düğüm (mote) için simülasyonu çalıştırın. Simülasyon çalıştığında "Sayaç" değerinin arttığını göreceksiniz.

Genel olarak, üstteki kod örneğinden de göreceğiniz üzere, TinyOS kodundaki "DBG modu", simülatörü çalıştırdığınızda DBG alt tire çalıştırmak istediğiniz özellik (DBG_özellik) ile birlikte kullanılır. Modun kullanımı için birkaç örnek :

  • aktif mesajlar modu için DBG_AM
  • paketler için DBG_PACKET
  • boot işlemi için DBG_BOOT

Simülatörü çalıştırırken çoklu modları etkinleştirebildiğiniz gibi, tek bir hata mesajı da birden fazla modda etkinleştirilebilir. Bunun için mod tanımları arasınad şu ayıraç operatöründen "|" eklemeniz yeterli olacaktır.

Örneğin;

dbg(DBG_TEMP|DBG_USR1, "Sayaç: Value is %i\n", (int)state);

Bu kodu çalıştırdıktan sonra, hangi mod aktifleştirilmişse ekran o moda ait çıktılar göreceksiniz. Kodu çalıştırarak bunu kendiniz de test edebilirsiniz.

Bu yazının orjinaline şu linkten ulaşabilirsiniz : https://www.cse.iitd.ernet.in/~pulkit/embedded2/docs/lesson5.html

Yazının çevirisi tamamen Ali ARSLAN tarafından yapılmış olup, ilk defa Blogkafem.net üzerinden yayınlanmıştır. Kopyalamanız halinde lütfen kaynak gösteriniz. Konuyla ilgili farkettiğiniz çeviri veya yazım hatalarını, aşağıdaki yorum formu aracılığıyla iletebilirsiniz. İyi çalışmalar.

Thanks to Indian Institute of Technology Delhi for TinyOS documentation that they present. (Sundukları TinyOS dokümanları için Hindistan Teknoloji Enstitüsü'ne teşekkürler.)
Yazının devamını oku
TOSSIM bir TinyOS simülatörüdür ve direkt olarak TinyOS kodundan derlenir. "make pc" komutu ile simülasyon direkt olarak bilgisayarda çalışır. TOSSIM, eş zamanlı olarak binlerce düğümü (mote) simüle edebilir. Simülasyondaki her düğüm (mote) aynı TinyOS programı ile çalışır. TOSSIM, her defasında yeniden derlemeye ihtiyaç duyulmadan, çalışma zamanında yapılandırılabilir hata çıktıları sağlar. TOSSIM ayrıca kullanıcıların, TOSSIM aracılığıyla çalıştırdıkları bir uygulamanın, farklı açılardan incelenmesine olanak tanır.



Uygulama Oluşturmak ve Çalıştırmak

TOSSIM, uygulamanın dizinindeyken terminale "make pc" yazarak derlenir. Derlenmesi beklenen TinyOS bileşenlerine ek olarak, simülatöre özgü bazı dosyalar da derlenir. Bu dosyalar, TCP yuvaları üzerinden ağ izleme desteği gibi işlevsellikler sağlarlar.

TinyOS dosyasındaki apps/CntToLedsAndRfm dizinine girin. CntToLedsAndRfm uygulaması, 4Hz'lik bir sayaç çalıştırır. Bu uygulama, simülasyon olarak çalışacağı zaman, 3 LED'e sahip bir mica düğümüne (mote veya donanım) sahip olduğumuzu varsayar. Uygulama, her bir sayaç işaretinde, sayacın en önemli 3 bitini, donanımın 3 LED'i üzerinden gösterir ve tüm 16 bitlik değeri bir paket olarak gönderir. Uygulamayı, mica mote üzerine kurup, yükleyin. Simülasyonun başarılı bir şekilde çalıştığını anlamak için, LED'lerin yanıp söndüğünü görmelisiniz. (run with mica mote)

"make pc" komutu ile bir uygulamanın TOSSIM sürümünü oluşturabilirsiniz. Çalışır sürüm oluşturulduktan sonra, çalıştırmanız gereken dosya, şu dosya yolunda olacaktır : build/pc/main.exe

Terminal ekranına build/pc/main.exe --help yazarak, komut satırının nasıl kullanılacağına dair kısa bir özet görebilirsiniz.

Belli sayıdaki düğümü simüle etmek için TOSSIM, gerekli olan tek bir parametreye ihtiyaç duyar. Konsol ekranına build/pc/main.exe 1 yazarak tek bir düğümün simülasyonunu çalıştırabilirsiniz. Bu komutu çalıştırdıktan sonra, radyo bitleri ile ilgili olan, uçtan uca uzun bir olay akışı görmelisiniz. Simülasyonu durdurmak için Ctrl+C'ye basmanız yeterli olacaktır.

Varsayılan olarak, TOSSIM tüm hata ayıklama bilgilerini ekrana yazdırır. Radyo biti olayları (events) 20 veya 40 KHz'de tetiklendiğinden (bu aynı zamanda simülatörde en sık görülen olaylardır), CntToLedsAndRfm uygulamasındaki çıktıların çoğunu oluştururlar. Uygulama göz önüne alındığında, bireysel radyo bitlerinden çok, paket çıkışı ve düğüm (mote) LED'leri ile daha fazla ilgileniyoruz. TOSSIM çıktısı, shell üzerinden DBG çevre değişkeni ayarlanarak konfigüre edilebilir. Örneğin, Export DBG = am komutunu verince, bu sadece LED ve AM (aktif mesajlar) paket çıkışını etkinleştirir. Tek düğümlü simülasyon tekrar çalıştırdığınızda ise, aşağıdaki çıktıyı elde etmiş olmanız gerekiyor.

0: LEDS: Yellow off.
0: LEDS: Green off.
0: LEDS: Red off.
0: Sending message: ffff, 4
    ff ff 04 7d 08 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 3b f3 00 00 01 00 00 00
0: LEDS: Yellow off.
0: LEDS: Green off.
0: LEDS: Red on.
0: Sending message: ffff, 4
    ff ff 04 7d 08 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 ac e6 00 00 01 00 00 00       

Paketin 6. baytı, iki baytlık sayaçların en anlamlısını içerir. Örneğin yukarıda yer alan 1. pakete baktığımız zaman, 6. bayt 16'lık sayı tabanına göre "20" değerini içerirken, sadece kırmızı led ışığın yandığı ikinci paketin mesaj içeriğine (sayaç bitleri) baktığımız zaman 6. bitin 16'lık tabanda "21" değerine sahip olduğunu görmekteyiz.

Neredeyse her mesajın önünde "0:" ifadesinin yer aldığını farketmişsinizdir. Bu ifade, sıfırıncı düğümün (mote:0) çalıştığı anlamına gelmektedir. Örneğin, "build/pc/main.exe 2" komutu ile 2 düğüm (mote) içeren bir simülasyon çalıştırı ve daha sonra CTRL+C yaparak simülasyonu durdurun. Çıktıları incelediğinizde, hem mote 0 hem de mote 1'e ait mesajlar göreceksiniz.

DBG'yi crc'ye ayarlayın. CntToLedsAndRfm uygulamasını çalıştırıcağınız zaman, build/pc/main.exe 2 komutu ile, iki düğüme sahip bir simülasyon çalıştırın. Bu işlemden sonra, her iki düğümün de birbirinden başarılı paketler aldığını gösteren çıktılar göreceksiniz.

DBG modlarının tam seti, build/pc/main.exe --help yazarak görülebilir. Modlar, bunlar çıktıların alt kısmında listelenir.

İlgili Yazı : TOSSIM'de DBG'nin Kullanımı (TOSSIM'de Hata Ayıklamak)

"İlgili Yazı" linkine tıklayarak TOSSIM'de DBG'nin kullanımı hakkında daha detaylı bilgiye ulaşabilirsiniz.

Bu yazının orjinaline şu linkten ulaşabilirsiniz : https://www.cse.iitd.ernet.in/~pulkit/embedded2/docs/lesson5.html

Yazının çevirisi tamamen Ali ARSLAN tarafından yapılmış olup, ilk defa Blogkafem.net üzerinden yayınlanmıştır. Kopyalamanız halinde lütfen kaynak gösteriniz. Konuyla ilgili farkettiğiniz çeviri veya yazım hatalarını, aşağıdaki yorum formu aracılığıyla iletebilirsiniz. İyi çalışmalar.

Thanks to Indian Institute of Technology Delhi for TinyOS documentation that they present. (Sundukları TinyOS dokümanları için Hindistan Teknoloji Enstitüsü'ne teşekkürler.)
Yazının devamını oku
TOSSIM, TinyOS kurulumu ile beraber gelen bir ağ simülatörüdür. Bu simülatör ile kablosuz ağ aygıtlarınız olmadan, size simülasyon imkanı tanıyor.

İnternet ortamında bu konuyu araştırırsanız eğer karşınıza gerçek cihaz üzerinde yapılan denemeler ve örnekler çıkacaktır. Bu yazıda Telosb cihazına sahip olmadan, TOSSIM ile Telosb simülasyonunu nasıl yapacağınız göstereceğim.

Bu yazıyı okuyorsanız eğer bilgisayarınıza TinyOS kurmuşsunuzdur diye varsayıyorum.

Bakınız :  Ubuntu 14.04 ve Ubuntu 16.04 İçin TinyOS Kurulumu

TinyOS klasörü içerisinde yer alan "apps" klasöründeki hazır örneklerden biri olan Blink uygulamasını kullanarak TelosB simülasyonunu çalıştıracağız. Öncesinde, MSP430 mikrodenetleyicisini (microcontroller) bilgisayarınıza indirmeniz gerekmektedir.

MSP430 mikrodenetleyicisi, TelosB cihazlar için kullanılan bir mikrodenetleyicidir. MSP430 mikrodenetleyicisi 16 bitlik düşük güç tüketen mikrodenetleyicilerdir.


MSP430 mikrodenetleyicisinin zip halini indirdikten sonra, indirdiğiniz dosyayı bilgisayarınızdaki uygun bir yere koyup, zipten çıkarın. Ben Ubuntu kullandığım için, "opt" klasörü içerisinde "MSPSim" adında bir klasör oluşturdum ve zip dosyasının içindeki tüm dosya ve klasörleri bu opt klasörünüm içinde oluşturduğum "MSPSim" klasörüne attım. Eğer işletim sistemi olarak Ubuntu kullanıyorsanız siz de benim gibi yapın. Çünkü yazının ilerleyen kısımlarında bu belirttiğim dosya yolunu kullanacağız.

Bundan sonraki aşamaları adım adım anlatacağım.

1. Oluşturduğumuz MSPSim klasörüne sağ tıklayıp "Uçbirimde Aç" yapın.





2. Açılacak olan terminal penceresine "make" yazın. Terminalde şu şekilde işlemler gerçekleşecektir:


3. İşlemler bittikten sonra bu seferde terminale "make jar" yazın.



Bu işlemden sonra "MSPSim" klasörü içerisinde "mspsim.jar" adında, jar uzantılı, bir java arşivi dosyası oluşacaktır.

4. TinyOS içerisinde, apps klasörü içinde yer alan "Blink" klasörüne girin. Oradan build klasörünün içine girin daha sonrasında da "telosb" klasörüne sağ tıklayarak "Uçbirimde Aç" yapın. Açılacak olan uç birimde şu komutu yazın :
cp main.exe main.elf
Bu işlemden sonra main.elf uzantılı bir dosya elde etmiş olacağız. Çünkü kurmuş olduğumuz "MSPSim", "exe" uzantılı dosyaları çalıştıramaz, "elf" uzantılı dosyaları çalıştırabilir.

Bu aşamayı da geçtikten sonra açık olan tüm terminalleri kapatın. TinyOS'ta, "apps" klasörü içinde yer alan "Blink" klasörüne sağ tıklayarak "Uçbirimde Aç" yapın. Sonrasında da şu komutu çalıştırın :
java -jar /opt/MSPSim/mspsim.jar build/telosb/main.elf

Bu komutu çalıştırdıktan sonra şöyle bir çıktı elde etmiş olmanız gerekiyor :



Benim anlatacaklarım bu kadar. Umarım faydalı olur. Böylece elinizde TelosB cihazı olmadan TOSSIM'de TelosB simülasyonunun nasıl yapıldığı öğrenmiş oldunuz. Yazının tüm hakları blogkafem.net'e aittir. Lütfen emeğe saygı gösterelim ve kaynak göstermeden başka yerlerde yayınlamayalım. Konuyla ilgili belirtmek istediklerinizi aşağıdaki yorum formu üzerinden bana iletebilirsiniz. Hepinize kolay gelsin, iyi çalışmalar.
Yazının devamını oku
TinyOS ile ilgili bu yazımızda birden çok hataya değinip hepsine çözüm getirmeye çalışacağız.

İlk hatamız şu :
'nesc', 'tinyos-tools', 'msp430-46' errors: 'avr-tinyos' is not all installable
Bahsettiğim hatanın çözümü için aşağıdaki komutları sırasıyla uygulamanız yeterli olacaktır.

1. Öncelikle bir imza anahtarı oluşturmak için aşağıdaki komutu yazın.



2. Aşağıdaki komutlar /etc/apt/sources.list.d/tinyprod-debian.list dosyasına gerekli eklemeleri yapın.



3. Gerekli eklemeleri yaptıktan sonra paketimizi kuralım.



Üstteki hata dışında ayrıca "-gcc" hatası alıyorsanız, onun için de aşağıdaki başlıkta yazılanları uygulamanız gerekmektedir.

TinyOS GCC Sorunu ve Çözüm Yöntemi


Ubuntu kullanıyorsanız ve GCC hatası alıyorsanız eğer, aşağıdaki komutları sırasıyla terminal ekranında çalıştırarak, gerekli kurulumları gerçekleştirmeniz gerekmektedir.



Ek olarak MSPGCC'yi kurmak için aşağıdaki komutları da sırasıyla çalıştırmanız gerekmektedir. Satırların her biri sırasıyla çalıştırmanız gereken birer komuttur :



Bu konuyla ilgili bahsedeceklerim bu kadar arkadaşlar. Eklemek istedikleriniz olursa eğer, yazının alt kısmına konuyla ilgili eklemelerinizi veya sizin kendi çözüm yöntemlerinizi ekleyebilirsiniz. Hepinize başarılar, kolay gelsin.
Yazının devamını oku
TinyOS uygulamasını kullanırken, uygulamanın kullandığı belli sürümler vardır. Aldığınız hatada da zaten olması gereken Python sürümü size şu şekilde belirtilir.
make: python2.71+-config: Komut bulunamadı
make: python2.71+-config: Command not found
make: python2.71+-config: Comando não encontrado

3 farklı dille de hatayı yazmaya çalıştım ama aslında aynı hatadan bahsediyoruz.

Yapmanız gereken şey ise, hatada yazan Python sürümüne göre ayarlarınızı konfigüre etmek olacaktır. Örnek vermem gerekirse hatada Python'un 2.71 sürümü ile ilgili sorun yaşadığım için, ayarlarımı da Python'un 2.71 sürümüne göre konfigüre etmem yeterli oldu. Öte yandan bilgisayarınıza kuru olan Python sürümü de önemli. Bu sebeple ilk önce bilgisayarınızdaki Python sürümüne terminale yazacağınız şu komut ile bakabilirsiniz :
python -V
Hatada yer alan Python sürümü ile sizin bilgisayarınızdaki Python sürümü farklı ise, öncelikli olarak bilgisayarınıza, hatada yer alan Python sürümünü kurmanız gerekmektedir.

Bakınız : Linux'ta Python Sürümünü Değiştirmek

Daha sonrasında ise birkaç basit konfigürayon ayarı ile Python hatasından kurtulmuş olacağız.

1. Terminale aşağıdaki konutları yazarak gerekli Python eklentilerini kurun :



2. Sonrasında TinyOS'a ait konfigürasyon ayarlarınızın şu şekilde olup olmadığına emin olun :



3. Son olarak ise, TinyOS dosyası açıkken arama kısmına sim.extra yazıp, düzenleme yapmamız gereken sim.extra ekstra dosyasını açın. Belirttiğim sim.extra dosyasına tinyos klasöründeyken support -> make yolunu izleyerek de ulaşabilirsiniz. Dosyayı açtıktan sonra, PYTHON_VERSION yazılı satırı bulun ve karşısındaki ibareyi kendi PYTHON sürümünüze göre değiştirin. Eğer siz de Python 2.71 hatası alıyorsanız, bahsettiğim satırı şu alttaki satırla değiştirmeniz gerekmektedir.




TinyOS'ta yaşanan Python sorunları ile ilgili benim bahsedeceklerim bu kadar. Konuyla ilgili yorumlarınızı veya hatalı olarak belirttiğim yerler varsa, yapmamı istediğiniz düzeltmeleri aşağıdaki yorum formu aracılığıyla belirtebilirsiniz. Hepinize kolay gelsin arkadaşlar.
Yazının devamını oku
Bu hatanın sebebi dosya izinlerinden veya yazmış olduğunuz "tinyos" komutlarını, başlarına "sudo" komutu çalıştırmaya çalışmanızdan kaynaklanmaktadır. 



"sudo" komutu bazen, çalıştırmak istediğimiz komutları bizim istediğimiz dosya yolundan farklı olarak çalıştırabiliyor. Bu sebeple, "make micaz sim" veya "make telosb" komutlarını çalıştırırken önlerine "sudo" yazmadan çalıştırmanız gerekmektedir.

Şayet yine aynı sorunla karşılaşırsanız, bu sorunun sebebi dosya izinlerinizden kaynaklanıyor olabilir.

Çalıştırmaya çalıştığınız uygulamanın dosya izinlerini 777 olarak ayarlarsanız eğer, herhangi bir sorunla karşılaşmazsınız.

Örneğin önceki yazımız şuydu :

Biz "Blink" uylamasını çalıştırmak isterken "No rule to make target 'telosb" hatasıyla karşılaşıyorsak eğer, şu komutu yazarak, bahsettiğim sorundan kurtulmanız mümkün :
cd /opt/tinyos-release-tinyos-2_1_2/apps/Blink
sudo chmod -R 777 .
make telosb




Yazının devamını oku
Önceki yazıda TinyOS kullanımından bahsetmiştim. Bu yazıda ise amacımız, kurmuş olduğunuz TinyOS'un bilgisayarınızda sorunsuz olarak çalışıp, çalışmadığını test etmek olacaktır.

Önceki Yazı : Ubuntu 14.04 ve Ubuntu 16.04 İçin TinyOS Kurulumu

Terminali açın ve şu kodu yazarak Blink uygulamasının içine girin.
cd $TOSROOT/apps/Blink/

Daha sonrasında ise şu komutu çalıştırın :
 make telosb
Bu komutu çalıştırdıktan sonra şöyle bir çıktı almanız gerekiyor :


Sonrasında ise aşağıdaki kodu yazarak hata alıp almadığınıza bakın :
make micaz sim

Eğer ki karşınıza çıkan çıktının en alt kısmında,

*** Successfully built micaz TOSSIM library. 

yazıyorsa, bu aşamada da sorun yok demektir.

Test işlemlerini yaparken hatalarla mı karşılaştınız? O halde aşağıdaki konu başlıklarını incelemenizi tavsiye ederim.

Karşılaştığınız hatalardan biri şunlar olabilir :
  • make: *** No rule to make target 'telosb' Hatası ve Çözümü 
  • fatal error: Python.h Sorunu ve Çözümü
  • Make: python2.72-config: Komut Bulunamadı Hatası ve Çözümü
  • 'nesc', 'tinyos-tools', 'msp430-46' errors: 'avr-tinyos' is not all installable Hatası
  • TinyOS Java Problemi ve Çözümü

Yazının devamını oku

İnternet üzerinde yeterli "Türkçe" kaynak olmaması üzerine yine kolları sıvarak, bu işe de el attım ve bu yazıda Ubuntu 14.04 ve Ubuntu 16.04 sürümleri için TinyOS kurulumunu anlatacağım.


Ubuntu'nun 14.04'ten önceki sürümlerinde yapılan TinyOS kurulum işlemleri ile Ubuntu 14.04 ve sonrası olan Ubuntu 16.04'te kurulum aşamalarında bazı değişiklikler olması üzerine bu konuyu, Ubuntu'nun 14.04 ve 16.04 sürümlerine göre anlatacağım. Eğer daha eski Ubuntu sürümlerine sahipseniz, Ubuntu sürümünüzü 14.04 veya 16.04'e güncelleyiniz.

Terminalinizi açın aşağıdaki adımları teker teker uygulamaya başlayın.

1. Öncelikle bir imza anahtarı oluşturmak için aşağıdaki komutu yazın.



2. Aşağıdaki komutlar /etc/apt/sources.list.d/tinyprod-debian.list dosyasına gerekli eklemeleri yapın.



3. Gerekli eklemeleri yaptıktan sonra paketimizi kuralım.



4. TinyOS'u indirmek için aşağıdaki komuyu kullanın.



Bu sayede biz, "tinyos-2_1_2 dosyasını tar.gz uzantılı olarak depodan indir ve tar.gz olarak inen dosyanın içeriğini opt klasörü içinde 'tinyos klasörü içerisine at" komutunu vermiş oluyoruz. Şayet üstteki kodu uygularken hata alırsanız, aşağıdaki komutları kullanarak da aynı işlemleri yapmış olursunuz. Üstte wget ile başlayan ilk satırdaki kodu daha önce çalıştırıp tar.gz dosyasını depodan indirdiyseniz tekrar indirmenize gerek yok. İndirdiğimiz tar.gz uzantılı tinyos-2.1.2 dosyasını, sadece şu alttaki iki komutu kullanarak tinyOS.tar.gz içindeki verileri /opt klasörüne atmış olacağız.



5. Şimdi sıra geldi konfigürasyon ayarlarını yapmaya. İlk önce /opt klasörü içerisinde bir dosya oluşturalım ve dosyanın adını tinyos.env koyalım. Daha sonra dosyanın içini açalım ve aşağıdaki kodları yapıştırarak dosyayı kaydedelim.



Bu dosyamızı elle oluşturduktan sonra terminali tekrardan açalım. Terminale şu komutu yazalım :



Karşınıza .bash dosyası gelecek. Bu dosyanın en altına şu alttaki satırı ekleyin :



Ayarları kaydedin ve .bash dosyasını kapatın. Bu işlemlerden TinyOS kurulumunu bitirmiş oluyoruz.

Son olarak kullanıcı olarak kendimizi serial portlara sahip olan dialout gurubuna eklemek için terminal ekranından aşağıdaki kodu çalıştırın.



"kullanici-adiniz" kısmına, kendi Ubuntu kullanıcı adınızı yazmanız gerekmektedir. Bu komut herhangi bir çıktı vermemektedir.

Peki kurulumun başarılı bir şekilde gerçekleşip gerçekleşmediğini nasıl anlayabiliriz? TinyOS ile beraber kurulu olarak gelen Blink uygulamalasını test ederek, kurulumun başarılı bir şekilde gerçekleştirip, gerçekleştirmediğinizi anlayabiliriz.

Bakınız : TinyOS'u Blink Uygulaması İle Test Etmek

Konuyla ilgili aklınıza takılanları aşağıdaki kısma, yorum olarak yazabilirsiniz. Vaktim olduğu sürece, bilgimin yettiği müddetçe sizlere yardımcı olmaya çalışırım. İyi çalışmalar.
Yazının devamını oku

İstatistikler

BLOGKAFEM.NET

© Copyright 2008-2018
Sitedeki yazıların her hakkı BLOGKAFEM.NET sitesine aittir.
Kopyalanması halinde lütfen kaynak gösteriniz.
DMCA.com Protection Status
Anasayfa | Hakkımda | Bizden Haberler | Reklam | İletişim