• Tidak ada hasil yang ditemukan

Metode Pemrograman Frame pada Modul ENC28J60 untuk Aplikasi

N/A
N/A
Protected

Academic year: 2021

Membagikan "Metode Pemrograman Frame pada Modul ENC28J60 untuk Aplikasi"

Copied!
5
0
0

Teks penuh

(1)

Metode Pemrograman Frame pada Modul ENC28J60 untuk Aplikasi

miniwebserver AVR

1.Teknik Mekatronika, Politeknik Kota Malang, Jalan Raya Tlowowaru no3 Rizki Priya Pratama

E-mail:

1. Teknik Mekatronika, Politeknik Kota Malang, Jalan Raya Tlowowaru no3 Panji Peksi Branjangan

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, aplikasi-aplikasi 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.

(2)

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 1IC dan pin-pin Atmega32

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]

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 /

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 :

Switch off:

URL :

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 3. Program C pada AVR untuk menterjemahkan URL

(3)

Sebagai contoh dibawah ini adalah URL

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

if (strbuf[0] != 'p')

dan

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

(4)

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.

Pada frame 1, terdapat kumpulan fungsi yang mana fungsi tersebut dipanggil pada frame utama. Saat kepasitas karakter frame 1 habis, fungsi-fungsi 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.

Frame utama Index.htm Frame 1 (j1.js) Frame 2 (j2.js)

Gambar 8. Koneksi antara frame utama dengan frame-frame 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.

Saat pengujian, program dapat dapat berjalan dengan baik tampak seperti gambar dibawah ini. Web server telah dapat ditampilan pada browser mozila.

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.

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.

(5)

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,

2012)

[4] _______________, ENC28J60 Data Sheet, Microchip, 2008.

[5] _______________, ATMEGA32 Data Sheet, ATMEL, 2008.

Gambar

Gambar 2. IC plus pin-pin ENC28J60
Gambar 8. Koneksi antara frame utama dengan frame-
Gambar 11. Tampilan saat web berjalan dan dan frame 2

Referensi

Dokumen terkait

Akan tetapi mempunyai beberapa perbedaan yaitu bentuk penyampaian soal yang ada diaplikasi, objek, pokok bahasan tentang pengenalan Asmaul Husna, aplikasi yang

Berdasarkan analisis data angket (kuesioner) diperoleh nilai kepraktisan penggunaan perangkat eksperimen menurut guru, alat eksperimen dan buku panduan penggunaannya

Berdasarkan nilai korelasi yang diperoleh, maka dapat disimpulkan bahwa secara simultan terdapat hubungan sedang dan bernilai positif antara modal kerja dan

Penghargaan tersebut dapat berupa anggaran yang diberikan kepada Inspektorat harus sesuai Peraturan Menteri Dalam Negeri Nomor 44 Tahun 2008 yang nantinya digunakan untuk

Pasal 14 Undang-Undang Nomor 5 tahun 1999 yang mengatur mengenai Integrasi Vertikal masih perlu diamati secara seksama hal ini dikarenakan pada praktek integrasi

Alih kode tersebut terjadi pada tuturan penumpang karena beranggapan bahwa dalam bertindak tutur dengan kru bus harus menggunakan Bahasa Jawa krama sebab

bahwa berdasarkan pertimbangan sebagaimana dimaksud dalam huruf a dan huruf b, perlu membentuk Peraturan Daerah tentang Perubahan Kedua Atas Peraturan Daerah Nomor 5 Tahun

187 Arti dari koefisien ini adalah bahwa sumbangan relatif yang diberikan oleh kombinasi variabel komite audit, proporsi dewan komisaris independen, kepemilikan manajerial,