instal tinyos- embedded operating system
TRANSCRIPT
-
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