instal TinyOS- Embedded Operating System

download instal TinyOS- Embedded Operating System

of 14

Transcript of instal TinyOS- Embedded Operating System

  • 8/19/2019 instal TinyOS- Embedded Operating System

    1/14

    Tugas EmbeddedOperating System Demo Aplikasi Berbasis TinyOS

    Dos

    Disusun oleh :Nama : MUHAMMAD ALFATH ISLAMI

    NIM : 11/311854/PA/13553

     JUUSAN MAT!MATI"AFA"ULTAS MAT!MATI"A DAN ILMU P!N#!TAHUAN ALAM

    UNI$!SITAS #ADJAH MADA %%A"ATA

    '(1)

  • 8/19/2019 instal TinyOS- Embedded Operating System

    2/14

    Instalasi TinyOS pada Ubuntu 15.04

    • Pemasangan dependensi tinyOSBerdasarkan tutorial pada wiki tinyOS yang diost ole Stan!ord "1#. Instalasi

    tinyOS pad plat!orm Ubuntu dilakukan dengan meman!aatkan $abang tinyos%

    tools%de&el di gitub untuk distribusi terbaru. 'amun( saya menggunakanpaket yang disediakan ole tutorial ")# untuk kemudaan. Pada tutorial

    tersebut( pemasangan tinyOS dilakukan dengan menggunakan perinta *

    sudo apt%get install tinyos

    +engan terlebi daulu menambakan re!erensi repository ke distribusi lucid

    main  ubuntu milik stan!ord. ,aitu( deb

    http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main. Penambaan dapat

    dilakukan dengan menggunakan -UI So*+,a-e . U0a+es  pada Ss+emSe++in2s. tau melalui $ara yang lebi sulit dengan menambakan entri ke

    root/etc/apt/source.list  maupun root/etc/apt/source.list.d.

    Setela penambaan re!erensi repository ( Ubuntu akan menanyakan apakada!tar distribusi perlu diupdate sekarang /uga atau tidak yang eksekusinya

    eku&alen dengan sudo apt%get update. Untuk pemasangan tinyOS saya

    menggunakan distribusi tinyos%).1.) &ersi terakir yang disediakan olestan!ord( berbeda dengan &ersi ).).2 yang ada di -it3ub "#. Seingga

    perinta lengkapnya

    sudo apt%get install tinyos%).1.)

    • Pemasangan kerangka ker/a tinyOSPemasangan kerangka ker/a tinyOS dalam konteks ini adala mengambil data%

    data  platform,  chips, dan komponen%komponen lain yang menyusun tinyOS

  • 8/19/2019 instal TinyOS- Embedded Operating System

    3/14

    termasuk aturan kompilasinya. Untuk mendapatkannya dapat dilakukandengan menggunakan perinta dibawa ini sesuai dengan tutorial "1#.

    wget ttp*66gitub.$om6tinyos6tinyos%release6ar$i&e6tinyos%)717).tar.g8

    Perinta tersebut setara dengan pengunduan tinyos-2_1_2.tar.gz  melalui web

    browser. 9etika paket tersebut diekstraksi( akan terliat struktur direktoriseperti dibawa *

    Setela mengundu paket tersebut( tinggal dilakukan penda!taran ke

    environment variable lokal pada user yang digunakan melalui tinyos.env  yangkemudian dire!erensi ole .bashrc  pada ome atau “root   masing%masing

    user. Berikut isi tinyos.env  berdasarkan tutorial "1#.: 3ere we setup te en&ironment

    : &ariables needed by te tinyos

    : make system

    e2port TOS;OOTlo$al%tinyos%pat?=

    e2port TOS+I;

  • 8/19/2019 instal TinyOS- Embedded Operating System

    4/14

    9emudian pada .bashrc ditambakan *

    sour$e >lo$al%tinyos%pat?6tinyos.en&

    +engan pada kasus saya !local-tinyos-path"  adala

    #$%&'/(rogramming/tinyos/tinyos-main  untuk &ersi murni ).1.). Sebagai

    alternati! semua perinta e)port   pada Ele tinyos.env   dapat dimasukkan ke.bashrc  seingga tidak diperlukan penambaan baris source !local-tinyos-

     path"/tinyos.env   di atas. pabila konEgurasi pada taap ini berasil tentusa/a perinta e$o diikutkan untuk memberikan in!ormasi &isual akan

    mun$ul teks Fsetting up TinyOS on sour$e pat >lo$al%tinyos%pat?G pada atas

    terminal setiap pertama kali di/alankan.

    Pada screenshot di atas saya menggunakan konEgurasi tinyos yang

    dimodiEkasi sesuai baasan sub bab Pemasan2an la+*o-m ms43(2'5530a-i -eosi+o- 2oo2le o0e.

    • Pengu/ian kerangka ker/a tinyOS dengan aplikasi hello *orld

    dari tutorial tinyOS+engan komponen%komponen yang diperlukan tinyos tela terpasang melalui

    sudo apt-get install tinyos-2.1.2 serta pemasangan frame*or+ tinyos dan

    konEgurasi .bashrc yang bersesuaian. Untuk memastikan komponen tinyosber/alan sesuai tu/uan( maka perlu dibuat hello *orld &ersi tinyos sesuai

    dengan tutorial "4#. Pada tutorial tersebut kita diperlukan untuk membuat

    Ele( yaitu implepp.nc( imple.nc( dan ma+ele.

  • 8/19/2019 instal TinyOS- Embedded Operating System

    5/14

    9ompilasi dilakukan dengan menggunakan perinta make target-platform.

    Pada tutorial( di$ontokan *

    make mi$a8

    +engan perinta di atas( akan diberikan output sebagai berikut pada terminal.

    Pada direktori build terbentuk asil kompilasi tinyos( yang kurang lebi isinyasebagai berikut.

  • 8/19/2019 instal TinyOS- Embedded Operating System

    6/14

    +ari asil kompilasi terliat penggunaan ;OC dan ;C dari aplikasi tinyosyang tela dikompilasi( yaitu ;OC menggunakan H10 bytes sedangkan ;C H

    bytes.

    • Pemasangan plat!orm msp40g)55 dari repository google

    $ode Taapan ini merupakan bagian yang menurut saya adala crude hac+ pada

    kerangka ker/a tinyos yang elegan. Aara yang saya gunakan belum sayatemukan se$ara eksplisit dalam dokumen resmi repository  tinyos namun tetap

    dilakukan demi mendapatkan dukungan kompilasi pada  platform

    msp40g)55 yang tidak tersedia pada sumber tinyos yang ada baik &ersi).1.) stan!ord maupun &ersi ).).2 dari gitub.

    angka pertama yang perlu dilakukan untuk mendapatkan tinyos yang

    mendukung plat!orm msp40g)55 adala dengan menduplikasi repository google di "5# melalui 2i+  maupun &ersi -UI%nya sema$am Sou-eT-ee.

    Proses penduplikasian /uga dapat dilakukan dengan mengundu paket tar.g8

    melalui Etur yang disediakan google $ode. Berikut adala struktur dari asil

    duplikasi repository  google.

  • 8/19/2019 instal TinyOS- Embedded Operating System

    7/14

    angka selan/utnya adala menggabungkan direktori tersebut dengandirektori tinyos%).1.) yang didapatkan melalui wget

    ttp*66gitub.$om6tinyos6tinyos%release6ar$i&e6tinyos%)717).tar.g8 pada

    langka sebelumnya. turan penggabungan adala sebagai berikut *

    +irektori yang dimerge anya tos  berisi source   platform( chip(

    sensorboard( dan lain%lain dan support   berisi aturan kompilasi masing%

    masing konEgurasi platform Cerger direktori diperbolekan ;epla$e dilarang skip

    Seingga terliat seperti dibawa $onto diambil pada direktori plat!orm.

  • 8/19/2019 instal TinyOS- Embedded Operating System

    8/14

    • Pengu/ian kerangka ker/a tinyOS untuk kompilasi aplikasi

    hello *orld dari tutorial tinyOS pada plat!orm msp40g)55Pengu/ian ini dilakukan dengan mengompilasi aplikasi hello *orld sebelumnya

    namun dengan target plat!orm msp40g)55.

    Cake msp40g)55Caka dari direktori yang sebelumnya terliat sebagai berikut.

    Beruba men/adi *

    +engan isi direktori msp40g)55 kurang lebi sama dengan direktori mi$a8

    akan tetapi tidak memiliki main.srec yang semoga pada kulia berikutnya

  • 8/19/2019 instal TinyOS- Embedded Operating System

    9/14

    diper/elas kegunaan masing%masing Ele. Ceski metode ini mendapat a-nin2dari kompiler( namun setidaknya tidak ter/adi compile error .

    Perbaikan Sour$e Aode plikasi

    • Pembuatan inter!a$e Co&eInter!a$e Co&e disimpan dalam Ele Co&e.n$ dengan isi sebagai berikut *

    in+e-*ae Co&e

     omman0 e--o-+ le!tuin+8+ distan$eJ

     omman0 e--o-+ rigtuin+8+ distan$eJ

     omman0 e--o-+ !orwarduin+8+ distan$eJ

     omman0 e--o-+ ba$kwarduin+8+ distan$eJ

    K

    +alam artian tidak ada yang diuba.

    • Pembuatan komponen ;obot9omponen ;obot disimpan dalam Ele ;obotA.n$ dengan source sebagai berikut

    *

    mo0ule ;obotA

     -o6i0es in+e-*ae Co&eJ

    K

    imlemen+a+ion  66 pos"0# < posisi 2( pos"1# < posisi y

     66 ke kiri < bergerak di sumbu 2 ke ara negati! 

     66 ke kanan < bergerak di sumbu 2 ke ara positi! 

     66 ke depan < bergerak di sumbu y ke ara positi! 

     66 ke belakang < bergerak di sumbu y ke ara negati! 

     uin+8+ or < 0J

     uin+8+ &er < 0J

     omman0 e--o-+ Co&e.le!tuin+8+ distan$e

      or %< distan$eJ

      -e+u-n SU77!SSJ

  • 8/19/2019 instal TinyOS- Embedded Operating System

    10/14

     K

     omman0 e--o-+ Co&e.rigtuin+8+ distan$e

      or L< distan$eJ

      -e+u-n SU77!SSJ

     K

     omman0 e--o-+ Co&e.!orwarduin+8+ distan$e

      &er L< distan$eJ

      -e+u-n SU77!SSJ

     K

     omman0 e--o-+ Co&e.ba$kwarduin+8+ distan$e

      &er %< distan$eJ

      -e+u-n SU77!SSJ

     K

    K

    Perubaan pada source ini antara lain *

    Pengubaan array men/adi &ariabel terpisa saya tidak yakin akan

    penggunaan array di tinyOS Pengubaan nama dari masing%masing command men/adi &ove.!nama-

    command". 9oreksi nama &ariabel dist  men/adi distance. 9oreksi operasi !orward( posisi &ertikal ver  ditamba distance.

    Pembuatan komponen Aontroller9omponen $ontroller disimpan dalam AontrollerA.n$. ource ini berisi langka%

    langka yang dilakukan F;obotG setela dilakukan booting. Berikut isinya.

    mo0ule AontrollerA

     uses in+e-*ae Co&eJ

     uses in+e-*ae BootJ

    K

    imlemen+a+ion

  • 8/19/2019 instal TinyOS- Embedded Operating System

    11/14

     e6en+ 6oi0 Boot.booted

     66 lengkapi kodenya untuk menggerakkan robot ke*

     66 kiri se/au M( kanan se/au M( kanan se/au M

     66 kiri se/au M( ma/u se/au )( mundur se/au 4

     66 ma/u se/au )

     all Co&e.le!tMJ

     all Co&e.rigtMJ

     all Co&e.rigtMJ

     all Co&e.le!tMJ

     all Co&e.!orward)J

     all Co&e.ba$kward4J

     all Co&e.!orward)J

     K

    K

    Perubaan pada komponen ini adala sebagai berikut *

    Penambaan deklarasi penggunaan inter!a$e boot( uses inter!a$e boot Penambaan pemanggilan command sesuai dengan perinta tugas melalui

    call

    • Pembuatan konEgurasi ;obotpp;obotppA.n$ merupakan Ele konEgurasi aplikasi F;obotG yang dibangun

    dengan isian sebagai berikut *

    on2u-a+ion ;obotppA

    K

    imlemen+a+ion

    omonen+s CainA( AontrollerA( ;obotAJ

    AontrollerA.Boot %? CainA.BootJ

    AontrollerA.Co&e %? ;obotA.Co&eJ

    K

    Nile ini merupakan Ele baru( tambaan teradap kumpulan source yang suda

    ada.

  • 8/19/2019 instal TinyOS- Embedded Operating System

    12/14

    • Pembuatan makeEle&a+ele yang dibuat untuk membuat aplikasi F;obotG ini $ukup men$ontekma+ele dari hello *orld sebelumnya dengan sedikit perubaan. Berikut isinya

    7&MP&N!NT

  • 8/19/2019 instal TinyOS- Embedded Operating System

    13/14

    +ari screenshot  terliat bawa aplikasi menggunakan 5M4 bytes memori ;OCdan 10 bytes memori ;C.

    pen/elsan dari tugas saya yang mengenai frame*or+ tinyos.masi terdapat

    beberapa error dan bug yang saya alami.

  • 8/19/2019 instal TinyOS- Embedded Operating System

    14/14

    ;e!erensi"1# utomati$ installation. ttp*66tinyos.stan!ord.edu6tinyos%

    wiki6inde2.pp6utomati$7installation.

    ")# Installing TinyOS ).1.1. ttp*66tinyos.stan!ord.edu6tinyos%wiki6inde2.pp6Installing7TinyOS7).1.1.

    "# ttps*66gitub.$om6tinyos6.

    "4# Te simplest TinyOS program. ttp*66tinyos.stan!ord.edu6tinyos%wiki6inde2.pp6Te7simplest7TinyOS7program.

    "5# ttps*66$ode.google.$om6p6tinyos%main6

    http://tinyos.stanford.edu/tinyos-wiki/index.php/Automatic_installationhttp://tinyos.stanford.edu/tinyos-wiki/index.php/Automatic_installationhttp://tinyos.stanford.edu/tinyos-wiki/index.php/Installing_TinyOS_2.1.1http://tinyos.stanford.edu/tinyos-wiki/index.php/Installing_TinyOS_2.1.1https://github.com/tinyos/http://tinyos.stanford.edu/tinyos-wiki/index.php/The_simplest_TinyOS_programhttp://tinyos.stanford.edu/tinyos-wiki/index.php/The_simplest_TinyOS_programhttps://code.google.com/p/tinyos-main/http://tinyos.stanford.edu/tinyos-wiki/index.php/Installing_TinyOS_2.1.1http://tinyos.stanford.edu/tinyos-wiki/index.php/Installing_TinyOS_2.1.1https://github.com/tinyos/http://tinyos.stanford.edu/tinyos-wiki/index.php/The_simplest_TinyOS_programhttp://tinyos.stanford.edu/tinyos-wiki/index.php/The_simplest_TinyOS_programhttps://code.google.com/p/tinyos-main/http://tinyos.stanford.edu/tinyos-wiki/index.php/Automatic_installationhttp://tinyos.stanford.edu/tinyos-wiki/index.php/Automatic_installation