instal TinyOS- Embedded Operating System

June 11, 2018 | Author: Muhammad Alfath Islami | Category: N/A


Comments



Description

Tugas EmbeddedOperating System Demo Aplikasi Berbasis TinyOS Dos Disusun oleh : Nama : MUHAMMAD ALFATH ISLAMI NIM : 11/311854/PA/13553 JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA 2016 x yang ada di GitHub [3]).Instalasi TinyOS pada Ubuntu 15.2. Namun. deb http://tinyos. Atau melalui cara yang lebih sulit dengan menambahkan entri ke root/etc/apt/source.1. Sehingga perintah lengkapnya sudo apt-get install tinyos-2. saya menggunakan paket yang disediakan oleh tutorial [2] untuk kemudahan. chips. Untuk pemasangan tinyOS saya menggunakan distribusi tinyos-2. Pada tutorial tersebut.stanford. Instalasi tinyOS pad platform Ubuntu dilakukan dengan memanfaatkan cabang tinyostools-devel di github untuk distribusi terbaru.04  Pemasangan dependensi tinyOS Berdasarkan tutorial pada wiki tinyOS yang dihost oleh Stanford [1].d.list.list maupun root/etc/apt/source. Yaitu. Ubuntu akan menanyakan apakah daftar distribusi perlu diupdate sekarang juga atau tidak – yang eksekusinya ekuvalen dengan sudo apt-get update.1.2 (versi terakhir yang disediakan oleh stanford. pemasangan tinyOS dilakukan dengan menggunakan perintah : sudo apt-get install tinyos Dengan terlebih dahulu menambahkan referensi repository ke distribusi lucid main ubuntu milik stanford. Penambahan dapat dilakukan dengan menggunakan GUI Software & Updates pada System Settings. Setelah penambahan referensi repository.edu/tinyos/dists/ubuntu lucid main.2  Pemasangan kerangka kerja tinyOS Pemasangan kerangka kerja tinyOS dalam konteks ini adalah mengambil datadata platform. dan komponen-komponen lain yang menyusun tinyOS . berbeda dengan versi 2. env yang kemudian direferensi oleh .termasuk aturan kompilasinya. tinggal dilakukan pendaftaran ke environment variable lokal pada user yang digunakan melalui tinyos. Berikut isi tinyos.gz melalui web browser.gz Perintah tersebut setara dengan pengunduhan tinyos-2_1_2.bashrc pada home (atau “root” masing-masing user).env berdasarkan tutorial [1].tar.com/tinyos/tinyos-release/archive/tinyos-2_1_2. # Here we setup the environment # variables needed by the tinyos # make system export TOSROOT="<local-tinyos-path>" export TOSDIR="$TOSROOT/tos" export CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java export MAKERULES="$TOSROOT/support/make/Makerules" export PYTHONPATH=$PYTHONPATH:$TOSROOT/support/sdk/python echo "setting up TinyOS on source path $TOSROOT" . akan terlihat struktur direktori seperti dibawah : Setelah mengunduh paket tersebut.tar. Ketika paket tersebut diekstraksi. wget http://github. Untuk mendapatkannya dapat dilakukan dengan menggunakan perintah dibawah ini sesuai dengan tutorial [1]. 1. Apabila konfigurasi pada tahap ini berhasil (tentu saja perintah echo diikutkan – untuk memberikan informasi visual) akan muncul teks “setting up TinyOS on source path <local-tinyos-path>” pada atas terminal setiap pertama kali dijalankan.bashrc sehingga tidak diperlukan penambahan baris source <local-tinyospath>/tinyos. Pada screenshot di atas saya menggunakan konfigurasi tinyos yang dimodifikasi sesuai bahasan sub bab Pemasangan platform msp430g2553 dari repository google code.bashrc ditambahkan : source <local-tinyos-path>/tinyos. Sebagai alternatif semua perintah export pada file tinyos.env dapat dimasukkan ke . SimpleC.env Dengan pada kasus saya <local-tinyos-path> adalah $HOME/Programming/tinyos/tinyos-main (untuk versi murni 2.nc. maka perlu dibuat hello world versi tinyos sesuai dengan tutorial [4].nc.env di atas.2 serta pemasangan framework tinyos dan konfigurasi . yaitu SimpleAppC. Pada tutorial tersebut kita diperlukan untuk membuat 3 file.2). Untuk memastikan komponen tinyos berjalan sesuai tujuan.1.bashrc yang bersesuaian. .Kemudian pada .  Pengujian kerangka kerja tinyOS dengan aplikasi hello world dari tutorial tinyOS Dengan komponen-komponen yang diperlukan tinyos telah terpasang melalui sudo apt-get install tinyos-2. dan makefile. Pada direktori build terbentuk hasil kompilasi tinyos. dicontohkan : make micaz Dengan perintah di atas. yang kurang lebih isinya sebagai berikut. akan diberikan output sebagai berikut pada terminal. Pada tutorial.Kompilasi dilakukan dengan menggunakan perintah make target-platform. . x dari github). Cara yang saya gunakan belum saya temukan secara eksplisit dalam dokumen resmi repository tinyos namun tetap dilakukan demi mendapatkan dukungan kompilasi pada platform msp430g2553 yang tidak tersedia pada sumber tinyos yang ada (baik versi 2. Langkah pertama yang perlu dilakukan untuk mendapatkan tinyos yang mendukung platform msp430g2553 adalah dengan menduplikasi repository google di [5] melalui git maupun versi GUI-nya (semacam SourceTree).gz melalui fitur yang disediakan google code.1.2.2 stanford maupun versi 2.  Pemasangan platform msp430g2553 dari repository google code Tahapan ini merupakan bagian yang menurut saya adalah crude hack pada kerangka kerja tinyos yang elegan. Proses penduplikasian juga dapat dilakukan dengan mengunduh paket tar. yaitu ROM menggunakan 610 bytes sedangkan RAM 6 bytes. .Dari hasil kompilasi terlihat penggunaan ROM dan RAM dari aplikasi tinyos yang telah dikompilasi. Berikut adalah struktur dari hasil duplikasi repository google. tar.gz pada langkah sebelumnya. . dan lain-lain) dan support (berisi aturan kompilasi masingmasing konfigurasi platform)  Merger direktori diperbolehkan  Replace dilarang (skip) Sehingga terlihat seperti dibawah – contoh diambil pada direktori platform. Aturan penggabungan adalah sebagai berikut :  Direktori yang dimerge hanya tos (berisi source platform.2 yang didapatkan melalui wget http://github.com/tinyos/tinyos-release/archive/tinyos-2_1_2.1. chip.Langkah selanjutnya adalah menggabungkan direktori tersebut dengan direktori tinyos-2. sensorboard. srec – yang semoga pada kuliah berikutnya . Make msp430g2553 Maka dari direktori yang sebelumnya terlihat sebagai berikut. Pengujian kerangka kerja tinyOS untuk kompilasi aplikasi hello world dari tutorial tinyOS pada platform msp430g2553 Pengujian ini dilakukan dengan mengompilasi aplikasi hello world sebelumnya namun dengan target platform msp430g2553. Berubah menjadi : Dengan isi direktori msp430g2553 kurang lebih sama dengan direktori micaz akan tetapi tidak memiliki main. pos[1] = posisi y // ke kiri = bergerak di sumbu x ke arah negatif // ke kanan = bergerak di sumbu x ke arah positif // ke depan = bergerak di sumbu y ke arah positif // ke belakang = bergerak di sumbu y ke arah negatif uint8_t hor = 0.nc dengan isi sebagai berikut : interface Move { command error_t left(uint8_t distance). command error_t right(uint8_t distance). Perbaikan Source Code Aplikasi  Pembuatan interface Move Interface Move disimpan dalam file Move.nc dengan source sebagai berikut : module RobotC { provides interface Move.left(uint8_t distance) { hor -= distance. } implementation { // pos[0] = posisi x. namun setidaknya tidak terjadi compile error. . Meski metode ini mendapat Warning dari kompiler. command error_t Move.diperjelas kegunaan masing-masing file. } Dalam artian tidak ada yang diubah. uint8_t ver = 0. command error_t backward(uint8_t distance). return SUCCESS.  Pembuatan komponen Robot Komponen Robot disimpan dalam file RobotC. command error_t forward(uint8_t distance).  Koreksi operasi forward. return SUCCESS.} command error_t Move. Berikut isinya. uses interface Boot. posisi vertikal (ver) ditambah distance. } } Perubahan pada source ini antara lain :  Pengubahan array menjadi variabel terpisah – saya tidak yakin akan penggunaan array di tinyOS  Pengubahan nama dari masing-masing command menjadi Move. } command error_t Move. Source ini berisi langkahlangkah yang dilakukan “Robot” setelah dilakukan booting.<namacommand>.backward(uint8_t distance) { ver -= distance.forward(uint8_t distance) { ver += distance. } command error_t Move. } implementation { . return SUCCESS.nc. module ControllerC { uses interface Move.  Koreksi nama variabel dist menjadi distance. Pembuatan komponen Controller Komponen controller disimpan dalam ControllerC. return SUCCESS.right(uint8_t distance) { hor += distance. call Move. call Move. .Move -> RobotC. tambahan terhadap kumpulan source yang sudah ada. ControllerC. uses interface boot  Penambahan pemanggilan command sesuai dengan perintah tugas melalui call  Pembuatan konfigurasi RobotApp RobotAppC. kanan sejauh 8.forward(2).right(8).forward(2). call Move. ControllerC. } File ini merupakan file baru. maju sejauh 2.nc merupakan file konfigurasi aplikasi “Robot” yang dibangun dengan isian sebagai berikut : configuration RobotAppC{ } implementation{ components MainC.event void Boot.left(8).Boot.left(8).booted() { // lengkapi kodenya untuk menggerakkan robot ke: // kiri sejauh 8. RobotC. call Move. } } Perubahan pada komponen ini adalah sebagai berikut :  Penambahan deklarasi penggunaan interface boot. ControllerC. kanan sejauh 8 // kiri sejauh 8. call Move.Move.right(8). mundur sejauh 4 // maju sejauh 2 call Move.Boot -> MainC.backward(4). call Move. Berikut isinya COMPONENT=RobotAppC include $(MAKERULES)  Kompilasi pada platform msp430g2553 Sesuai dengan uji kompilasi sebelumnya. Pembuatan makefile Makefile yang dibuat untuk membuat aplikasi “Robot” ini cukup mencontek makefile dari hello world sebelumnya dengan sedikit perubahan. kompilasi dilakukan dengan make msp430g2553 Berikut tampilan terminal yang menunjukkan proses kompilasinya : . Dari screenshot terlihat bahwa aplikasi menggunakan 584 bytes memori ROM dan 10 bytes memori RAM. penjelsan dari tugas saya yang mengenai beberapa error dan bug yang saya alami.masih terdapat . framework tinyos. com/p/tinyos-main/ . http://tinyos. http://tinyos.stanford.Referensi [1] Automatic installation. [2] Installing TinyOS 2.php/Installing_TinyOS_2.edu/tinyoswiki/index.1.com/tinyos/.1.1.1.php/Automatic_installation. [5] https://code.edu/tinyoswiki/index.php/The_simplest_TinyOS_program.stanford. http://tinyos.edu/tinyoswiki/index.stanford. [4] The simplest TinyOS program. [3] https://github.google.
Copyright © 2025 DOKUMEN.SITE Inc.