Metode Pemrograman Frame pada Modul ENC28J60 untuk Aplikasi

dokumen-dokumen yang mirip
DESAIN SISTEM KENDALI LAMPU PADA RUMAH DENGAN MINI WEBSERVER AVR

Aplikasi Jam NTP pada Mini Webserver untuk Kendali Jam Digital POLTEKOM

Sistem Monitor Dan Kendali Ruang Server Dengan Embedded Ethernet

Mahasiswa memahami Pengertian, fungsi, aplikasi untuk menjalankan JavaScript, cara menjalankan kode, cara memasukkan kode JavaScript ke dalam HTML

BAB IV UJI COBA DAN IMPLEMENTASI

KENDALI PERALATAN LISTRIK MELALUI JARINGAN KOMPUTER

EMBEDDED WEB SERVER DALAM MICROCONTROLLER UNTUK SISTEM KENDALI RUMAH

Interactive Broadcasting

BAB I PENDAHULUAN Latar Belakang Masalah. Telekomunikasi mempunyai peran penting dalam kehidupan manusia. Selain

BAB III PERANCANGAN SISTEM

BAB I PENDAHULUAN. chip mikrokontroler dengan jenis AVR dari perusahaan Atmel.

DT-ARM Application Note. AN221 Web Server I/O Remote

Pengenalan JavaScript

Medi Taruk

BAB 2 LANDASAN TEORI

BAB III PERANCANGAN DAN PEMBUATAN ALAT

Pengembangan RTU (Remote Terminal Unit) untuk Sistem Kontrol Jarak Jauh berbasis IP

PROTOTIPE ROBOT DENGAN SISTEM TERTANAM BERBASIS PEMROGRAMAN WEB TOTO

BAB IV PENGUJIAN DAN ANALISIS

BAB 2 LANDASAN TEORI

DT-AVR. Application Note AN214

Apa Itu PLC? Gambar 1.1 Penggunaan PLC di industri

Percobaan 2 I. Judul Percobaan Sistem Kendali Digital Berbasis Mikrokontroler

UPI YPTK Jurnal KomTekInfo Vol. 4, No. 2, Desember 2017, Hal ISSN : Copyright 2017 by LPPM UPI YPTK Padang

BAB IV PERANCANGAN SISTEM

Aplikasi Kamera Pemantau & Electrical Appliance Remote. Berbasis PC Menggunakan Microcontroller. Arduino Uno & LAN Connection

LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT

Bab 1 Pendahuluan 1.1 Latar Belakang

BAB III PERANCANGAN ALAT

Network Access/Interface Layer Internet Layer Host-to-Host Transport Layer Application Layer

JARINGAN KOMPUTER. Disusun Oleh : Nama : Febrina Setianingsih NIM : Dosen Pembimbing : Dr. Deris Stiawan, M.T., Ph.D.

BAB III PERANCANGAN ALAT UKUR KECEPATAN PUTAR DENGAN MENGGUNAKAN ROTARY ENDOCER

1. Input Device (Alat Masukan) Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer

PENGONTROLAN LAMPU LALU LINTAS BERBASIS WEB MENGGUNAKAN WIRELESS LAN

BAB III PERANCANGAN SISTEM

SIMULASI PENERAPAN JARINGAN WIRELESS ACCESS POINT UNTUK PENINGKATAN PELAYANAN PADA HOTEL

PERANCANGAN SISTEM MONITORING BATTERY SOLAR CELL PADA LAMPU PJU BERBASIS WEB

BAB 4 IMPLEMENTASI DAN EVALUASI. menerapkan Pengontrolan Dan Monitoring Ruang Kelas Dengan Menggunakan

DT-ARM DT-ARM Application Note

Perancangan Website Ujian. Teknik Elektro UNDIP Berbasis HTML

SISTEM PENGENDALI DAN PENGAWAS PENGGUNAAN LISTRIK PADA GEDUNG BERTINGKAT BERBASIS WEB

APLIKASI WEBSERVER ESP8266 UNTUK PENGENDALI PERALATAN LISTRIK

Pengantar Programable Logic Control. Dr. Fatchul Arifin, MT

BAB 1 PENDAHULUAN 1.1 Pendahuluan

BAB IV PENGUJIAN DAN ANALISA ALAT

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

Laporan Bengkel Web II Modul 6

BAB II DASAR TEORI. Protokol adalah seperangkat aturan yang mengatur pembangunan koneksi

1 BAB I PENDAHULUAN. Dalam bahasa yang paling sederhana, home automation atau otomatisasi

BAB III PERANCANGAN DAN PEMBUATAN ALAT. Proses perancangan meliputi tujuan dari sebuah penelitian yang kemudian muncul

BAB IV IMPLEMENTASI SISTEM DAN PENGUJIAN. meliputi pembahasan mengenai proses perekaman gambar berdasarkan interval

SISTEM KENDALI RUMAH BERBASIS MIKROKONTROLER MELALUI SHORT MESSAGE SERVICE (SMS) Oleh: Hary Kurniawan

KBKF53110 WEB PROGRAMMING

KENDALI PERANGKAT LISTRIK DAN MONITORING DAYA PADA MCB BERBASIS TCP/IP

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB I PENDAHULUAN. merupakan gabungan antara teknologi dan pelayanan yang dikhususkan pada

Pengaturan suhu dan kelembaban dilakukan dengan memasang satu buah sensor SHT11, kipas dan hairdryer dengan program bahasa C berbasis mikrokontroler A

PERANCANGAN PENGENDALIAN PERALATAN LISTRIK MELALUI KOMUNIKASI PROTOKOL TCP/IP DENGAN MIKROKONTROLER ARDUINO MEGA 2560

BAB 1 PERSYARATAN PRODUK

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB II LANDASAN TEORI. Perangkat lunak atau Software adalah perintah (program komputer) yang dieksekusi

Written by Mada Jimmy Monday, 24 August :40 - Last Updated Thursday, 18 November :51

E-trik Ajax. Database MySQL. Dedi Alnas

BAB III PERANCANGAN DAN REALISASI ALAT

BAB 2 LANDASAN TEORI. Mikrokontroler AVR (Alf and Vegard s RISC Processor) dari Atmel ini

PERANCANGAN PENGONTROL ROBOT BERKAMERA VIA JARINGAN INTERNET (TCP/IP)

PERANCANGAN PENGENDALIAN KETINGGIAN CAIRAN DALAM BENTUK LEVEL SIMULATOR BERBASIS AVR 8535 YANG DIKENDALIKAN MELALUI JARINGAN TCP/IP

BAB V PENGUJIAN DAN IMPLEMENTASI SISTEM

BAB I PENDAHULUAN. Seiring dengan kemajuan teknologi yang sangat pesat dewasa ini,

BAB III PERANCANGAN. Pada bab ini akan menjelaskan perancangan alat yang akan penulis buat.

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN UJI COBA

Pertemuan II. Ali Tarmuji, S.T., M.Cs. Pemrograman Web. Teknik Informatika Fakultas Teknologi Industri.

PENGGUNAAN RASPBERRY PI SEBAGAI WEB SERVER PADA RUMAH UNTUK SISTEM PENGENDALI LAMPU JARAK JAUH DAN PEMANTAUAN SUHU

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

BAB IV PENGUJIAN DAN ANALISA ALAT

RANCANG BANGUN KONTROL PERALATAN LISTRIK OTOMATIS BERBASIS AT89S51

BAB III ANALISA DAN PERANCANGAN SISTEM

IMPLEMENTASI SISTEM WIRELESS SENSOR NETWORK BERBASIS INTERNET PROTOCOL (IP) UNTUK PEMANTAUAN TINGKAT POLUSI UDARA TUGAS AKHIR

TUGAS JARINGAN KOMPUTER MENGANALISA TCP/IP, POST, DAN GET PADA WIRESHARK

Gambar 11. Perbandingan Arsitektur OSI dan TCP/IP

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript

Jurnal Elektro ELTEK Vol. 3, No. 1, April 2012 ISSN:

JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA

BAB 5 MEMAHAMI METHOD GET DAN POST PADA PHP

BAB III ANALISIS DAN PERANCANGAN SISTEM

Sistem pendeteksi asap rokok dan pengendali kunci otomatis yang dapat diakses melalui Web Server

BAB III ANALISIS DAN DESAIN SISTEM

BAB III PERANCANGAN. Mikrokontroler ATMEGA Telepon Selular User. Gambar 3.1 Diagram Blok Sistem

BAB II LANDASAN TEORI

melibatkan mesin atau perangkat elektronik, sehingga pekerjaan manusia dapat dikerjakan dengan mudah tanpa harus membuang tenaga dan mempersingkat wak

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN DAN PEMBUATAN ALAT

II. TINJAUAN PUSTAKA. Mikrokontroler ATmega8535 merupakan salah satu jenis mikrokontroler keluarga AVR

ALAT PENGENDALI OTOMATIS DAN DETEKSI KEADAAN PERALATAN RUMAH MENGGUNAKAN SMS CONTROLLER. Hasani

KAMUS INGGRIS-INDONESIA BERBASIS J2ME

Dosen Pengampu : Muhammad Riza Hilmi, ST.

PERANCANGAN SISTEM KONTROL PERANGKAT LISTRIK PADA KOLAM IKAN BERBASIS ARDUINO UNO R3

BAB IV PEMBAHASAN Rancangan Mesin Panjang Terpal PUSH BUTTON. ATMega 128 (Kendali Kecepatan Motor Dua Arah)

Transkripsi:

Metode Pemrograman Frame pada Modul ENC28J60 untuk Aplikasi miniwebserver AVR Rizki Priya Pratama 1. Teknik Mekatronika, Politeknik Kota Malang, Jalan Raya Tlowowaru no3 E-mail: xrizkix2000@yahoo.com Panji Peksi Branjangan 1. Teknik Mekatronika, Politeknik Kota Malang, Jalan Raya Tlowowaru no3 ABSTRAK Ethernet merupakan salah satu sistem komunikasi data yang banyak digunakan pada saat sekarang ini. Jaringan ethernet yang terhubung internet memungkinkan bisa berkomunikasi dari jarak jauh. Dengan sistem komunikasi ini, kita dapat membuka dunia dengan berbagai aplikasi-aplikasi baru. Pada mulanya ethernet hanya bisa dilakukan pada komputer. Namun sekarang, komunikasi ethernet ini dapat dilakukan dengan IC yang lebih hemat energi yaitu AVR dan ENC28j60. Sehingga, aplikasiaplikasi sederhana yang dulunya dikerjakan komputer dapat dilakukan dengan alat ini. Salah satu contohnya adalah mengendalikan lampu-lapu listrik dari jarak jauh melalui internet. Pada penelitian sebelumnya, web server yang dihasilkan dari AVR + ENC28J60 hanya berisi tulisan-tulisan saja, sehingga tampilan kurang menarik. Hal ini disebabkan karena keterbatasan memori dari AVR dan ENC28j60. Namun dengan metode pemrograman per frame HTML, masalah ini dapat teratasi. [2] Kata kunci: AVR, ethernet, ENC28J60, webserver, frame 1. PENDAHULUAN Modul ENC28J60 merupakan modul yang banyak sekali digunakan untuk aplikasi-aplikasi pemrograman mikrokontroller yang berhubungan dengan aplikasi ethernet atau internet. Modul ini banyak dijual di pasaran denga harga yang relatif terjangkau. Dengan adanya modul ini, berbagai aplikasi yang berhubungan dengan kendali atau kontrol melalui jaringan dapat digunakan. Contohnya untuk mengendalikan lampu yang bisa diakses melalui handphone, laptop, maupun alat elektronik lainnya yang dilengkapi dengan aplikasi wireless. Sistem pengendali tersebut dapat berbentuk web server atau dalam bentuk perintah-perintah. Handphone, laptop, maupun alat elektronik yang dapat mengakses web tersebut dapat menghidup dan mematikan lampu. Web server tersebut ditanam dalam sebuah IC yang disebut AVR. Dengan menggunakan bahasa C, peneliti ingin menggabungkan HTML dan Javascript dalam sebuah web yang ditanam dalam memory program AVR. Pada penelitian-penelitian sebelumnya, yang menyangkut komunikasi data TCP /IP yang menggunakan IC ENC28j60 ini, web yang ditampilkan belum menggunakan pemrograman javascrip, sehingga tampilan hanya text saja. Pada penelitian ini, kami mencoba menyelesaikannya dengan metode khusus, yaitu menggabungkan HTML ini dengan Javascrip sehingga tampilannya dapat dimodifikasi sesuai kehendak pemrogram. 2. TINJAUAN PUSTAKA 2.1 Mikrokontroler Atmega32 Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, dan memori program), dan perlengkapan input output. Mikrokontroler ini mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus, cara kerja mikrokontroler sebenarnya membaca dan menulis data.

AVR atau sebuah kependekan dari Alf and Vegard s Risc Processor merupakan chip mikrokontroler yang diproduksi oleh Atmel. Atmega32 dapat beroperasi pada kecepatan maksimal 16MHz. [6] Arsitektur Atmega32 Gambar 1 IC dan pin-pin Atmega32 user. Namun pada penelitian ini, web server yang dimaksud tidak seperti hal di atas. Web server ini adalah suatu interface yang menghubungkan lan dengan mikrokontroller AVR sehingga pengguna dapat mengontrol motor, relay atau untuk membaca sensor. Untuk keperluan ini kita tidak perlu menggunakan halaman web yang besar. Web yang ditampilkan akan berbentuk link untuk menghidupkan dan mematikan alat. Untuk membuat web tersebut, HTML menyediakan perintah URL <a href= untuk link dan form untuk lebih interaktif dengan mengimplementasikan folder atau file virtual. Dengan URL ini, kita dapat mengimplementasikan sebuah file virtual yang merupakan perintah. Dalam kasus ini adalah switch on (=1) atau switch off (=0). Switch on: URL : http://192.168.1.201/?sw=pd1&a=1 2.2. ENC28J60 Ethernet Controller IC ENC28J60 merupakan Ethernet Controller yang berdiri sendiri yang bisa berkomunikasi melalui komunikasi SPI dengan mikrokontroller. IC (chips) ini yang memungkinkan mikrokontroller bisa terhubung dengan Ethernet LAN, sehingga bisa berkomunikasi dengan perangkat network lain menggunakan protokol TCP/IP yang nantinya menjadi sebuah web server yang diakses dari komputer. [4] Switch off: URL : http://192.168.1.201/?sw=pd1&a=0 Perintah diatas untuk menghidupkan dan mematikan PortD1. Perintah di atas harus didekodekan supaya mikrokontroller dapat mengetahui port mana yang diperintahkan. Dalam program main.c terdapat fungsi int8_t analyse_get_url(char *str) yang bertugas untuk mendekodekan perintah diatas. Gambar 2. IC plus pin-pin ENC28J60 ENC28J60 memiliki konfigurasi standard agar dapat berkomunikasi antara webserver dengan media yang dikontrol menggunakan RJ45. 3. Hasil dan diskusi Beberapa orang berfikir bahwa web server itu seperti file server, yaitu komputer yang mengediakan gambar dan dokumen untuk client / Gambar 3. Program C pada AVR untuk menterjemahkan URL

Sebagai contoh dibawah ini adalah URL http://192.168.1.201/?sw=pd7&a=0, yang akan didekodekan dengan fungsi int8_t analyse_get_url(char *str). Pada fungsi tersebut ada perintah : if(find_key_val(str,strbuf,str_buffer_size,"sw")) digunakan untuk melihat ada tidak karakter sw. Jika ada, maka diseleksi lagi ada tidaknya karakter p dan d, dengan perintah dan if (strbuf[0]!= 'p') if (strbuf[1]!= 'd') Selanjutnya menyeleksi karakter angka yang merupakan karakter ASCI [1,2,3,4,5,6,7] yang mempunyai nilai konversi bilangan hexadesimal menjadi [0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37]. Untuk mendapatkan nilai yang sesungguhnya, nilai hexadesimal tersebut harus dikurangkan dengan 0x30 sehingga variabel port diisi angka desimal [0-7]. Kemudian diseleksi lagi apakah ada karakter a. Jika ada, dilihat apakah bernilai 1 atau 0. jika a = 1 maka PORTD1 menyalah. Begitu pula sebaliknya. Pada mikrokontroller AVR, tidak terdapat sistem operasi. Yang berperan sebagai sistem operasi adalah while(1){}. Pada saat itu, program akan looping mengulang-ulang proses, tanpa ada batas. Untuk pembuatan web, dibutuhkan bantuan sebuah program ADOBE dreamweaver. Dengan program dreamweaver ini, kita dapat mencoba beberapa perintah-perintah HTML sederhana maupun yang kompleks seperti javascript. Dengan javascript, dimungkinkan menggunakan fungsi ataupun procedure. Dengan fasilitas ini, diharapkan programmer dapat mengurangi beberapa perintah yang sama menjadi suatu fungsi atau procedure. Oleh karena itu, dengan fungsi pada javascript, kita bisa menghemat berberapa perintah pada frame utama. Instruksi yang digunakan berulang-ulang dapat diringkas menjadi sebuah instruksi pendek yang dipanggil seperti fungsi dalam bahasa C. Tentu ini akan menghemat pemakaian byte yang sangat terbatas pada AVR. Sebagai contoh instruksi dibawah ini Gambar 4. Program HTML Diringkas menjadi instruksi seperti dibawah ini: Gambar 5. Program JavaSript Script program yang telah kita buat tadi dengan dreamwever, seperti gambar dibawah ini, dapat diimplementasikan pada pemrograman AVR Gambar 6. Program HTML Tanda pada HTML, ditambahkan \. Sehingga pada pemrograman bahasa C di AVR menjadi : plen=fill_tcp_data_p(buf,plen,pstr("<div style=\"width:400px\">")); plen=fill_tcp_data_p(buf, plen,pstr("<div style=\"background-color:#ffa500;\">")); plen=fill_tcp_data_p(buf,plen,pstr("<h1>mini Web Server AVR</h1></div>")); Gambar 7. Program HTML yang dimasukkan pada program AVR Jika kode yang dituliskan sudah akan mencapai kurang lebih 1300 karakter, maka tampilan webnya tidak bisa dibuka. Itu disebabkan karena TCP / IP stack pada IC ENC28j60 hanya menampung 1300 karakter saja, termasuk karakter yang tidak bisa dilihat dan alamat IP, Mac Address. Untuk membuat sebuah web yang bagus dan menarik, diperlukan jumlah karakter yang tidak sedikit. Sintaks yang dibuat pada dremweaver ini, tidak bisa langsung dimasukkan semua. Kita harus mempunyai metode khusus untuk mengatasi hal ini. Seperti yang telah dijelaskan diatas bahwa karakter yang ditampung pada satu frame hanya 1300 saja. Namun, dengan suatu metoda, kita bisa memanggil frame-frame yang lain dari frame utama. Isi dari frame-frame tersebut adalah fungsi / procedure javascript yang dapat dipanggil antar

frame. Jika karakter frame utama telah penuh, kita bisa menggunakan frame yang 1. Jika frame 1 telah penuh, kita bisa menggunakan frame yang kedua. Misal fungsi_a terdapat pada frame 2, kita bisa memanggil fungsi_a tersebut dari frame 1 atau frame utama. Saat pengujian, program dapat dapat berjalan dengan baik tampak seperti gambar dibawah ini. Web server telah dapat ditampilan pada browser mozila. Pada frame 1, terdapat kumpulan fungsi yang mana fungsi tersebut dipanggil pada frame utama. Saat kepasitas karakter frame 1 habis, fungsifungsi yang lain dapat ditambahkan pada frame kedua. Fungsi-fungsi ini dibuat dengan bahasa javascript. Pembuatan nama fungsi tersebut, dibuat sesingkat mungkin dan hanya pembuat program yang mengerti maksudnya. Tujuannya adalah penghematan karakter. Jika kapasitas frame 1 sudah mencapai batas, maka penulisan program dilanjutkan pada frame 2. Berikut ini gambar hubungan antar frame. Gambar 9. Tampilan saat web berjalan dan frame utama ditampilkan Web dapat menampilkan denah rumah sederhana. Dengan menekan ctr + U, akan tampak script program pada frame utama. Kemudian, tekan j1.js akan muncul tampilan seperti dibawah ini. Frame 1 (j1.js) Frame utama Index.htm Frame 2 (j2.js) Gambar 8. Koneksi antara frame utama dengan frameframe yang lain. Sebagai contoh pada frame utama, perintah yang kita panggil adalah dwdiv_nbc(400,130). Perintah ini terdapat pada frame 1, yaitu : function dwdiv_nbc(h,w){dw("<div style=\"height:"+h+"px;width:"+w+"px;float:left;\">");} Yang sebernanya, jika kita tulis dalam format HTML: <div style="height: 400 px; width:130px ;float:left"> Dengan menulis dwdiv_nbc(400,130), kita bisa menghemat pemakaian karaker yang dituliskan pada frame utama. Sehingga, jika terjadi pemanggilan fungsi ini berulang-ulang pada frame utama, karakter yang kita ketikkan tidak banyak. Cukup dwdiv_nbc, tidak perlu menulis semua sintaks HTML secara penuh. Gambar 10.. Tampilan saat web berjalan dan dan frame 1 (j1.js) ditampilkan Jika di-klik R.Keluarga, K.Mandi dan R.Makan akan tampak seperti pada gambar dibawah ini. Kolom R. Keluarga, K. Mandi dan R. Makan berwarna hijau bertanda bahwa sinyal dari AVR berlogika 1 untuk mengaktifkan relay.

Gambar 11. Tampilan saat web berjalan dan dan frame 2 ditampilkan 4. Kesimpulan Setelah melakukan pengujian dan analisa, maka dapat diambil beberapa kesimpulan tentang sistem kerja dari sistem yang telah dibuat, sebagai berikut : 1. IC ENC28J60 merupakan salah satu IC lan yang murah dan mudah digunakan untuk aplikasi-aplikasi sederhana yang berhubungan dengan aplikasi ethernet 2. Kapasitas dalam satu frame yang dapat ditampung adalah 1300 karakter 3. Dengan metode pemrograman frame ini, kapasitas ENC28J60 yang terbatas dapat diatasi. DAFTAR PUSTAKA [1] Malvino, Albert Paul, 2004. Prinsip-prinsip Elektronika, Edisi pertama, salemba Teknika, Jakarta [2] Priya Pratama, Rizki, 2012. Rancang Bangun Sistem Otomatis pada Rumah dengan Miniwebserver berbasis AVR, Laporan Penelitian, Program Studi Teknik Mekatronika, Politeknik Kota Malang. [3] Socher, Guido, Using the tuxgraphics embedded web server to control scientific equipment, http://tuxgraphics.org/ electronics /200904/embedded-webserver-equipmentcontrol.shtml, (diakses tanggal 10 September 2012) [4], ENC28J60 Data Sheet, Microchip, 2008. [5], ATMEGA32 Data Sheet, ATMEL, 2008.