BAB II DASAR TEORI Bab ini berisi dasar teori yang digunakan dalam perancangan skripsi ini. Dasar teori tersebut berisi tentang mikrokontroler sebagai pembangkit frekuensi yang digunakan untuk media transmisi infra merah, media transmisi Wifi dan modul Wifi USR-WIFI232-G sebagai access point, metode pengiriman data pada robot WowWee Robosapien, dan komunikasi socket sebagai mekanisme komunikasi data.
I.1.
Remote Inframerah Infra merah adalah radiasi elektromagnetik dengan panjang gelombang (wavelength) lebih panjang dari cahaya yang tampak. Kendali inframerah adalah kendali jarak jauh yang menggunakan infra merah sebagai media pengiriman data. Pada skripsi ini kendali infra merah bekerja dengan cara mengirim data melalui sinyal – sinyal yang akan dipancarkan melalui light emitting diode (LED) inframerah. Pada Gambar 2.1 menunjukkan schematic infra merah yang akan digunakan, data yang akan dikirimkan akan di NOT terlebih dahulu, dan selanjutnya di AND dengan frekuensi pembawa, selanjutnya hasilnya NOT untuk membuat led inframerah menjadi aktif low.
Gambar 2.1. Schematic Infra Merah
6
I.2.
Metode Pengiriman Data Robot WowWee Robosapien Robot WowWee Robosapien dapat menerima data pada frekuensi carrier 39,2 kHz. Data dimodulasi menggunakan space coded signal dengan 8 bit data[3]. Dasar transmisi sinyal infra merah pada robot WowWee Robosapien adalah sebagai berikut : Dasar timing adalah 1/1200 detik clock (~0.833ms) Sinyal normally high (idle, tidak ada Inframerah) Start bit adalah sinyal low selama 8/1200 detik. Pada masing – masing 8 bit data, space encoded signal tergantung dari nilai bit
Most significant bit dikirim pertama.
Jika bit data adalah 0, sinyal high selama 1/1200 detik dan low selama 1/1200 detik.
Jika bit data adalah 1, sinyal high selama 4/1200 detik, dan low selama 1/1200 detik.
Ketika pengiriman data selesai, sinyal menjadi high kembali. Tidak ada stop bit yang jelas.
I.3.
Mikrokontroler Mikrokontroler adalah sebuah komputer kecil pada single integrated circuit yang berisi inti prosesor, memori dan peripheral input/output yang dapat di program. Mikrokontroler digunakan untuk mengatur suatu produk atau device secara otomatis, seperti outomobile engine control systems, medical devices, remote control, dan sistem embeded lainnya[2]. Pada skripsi ini mikrokontroler digunakan sebagai penerjemah data yang diterima dari sinyal Wifi yang akan diubah menjadi sekelompok bit yang akan dikirimkan melalui sinyal inframerah. Data tersebut akan dibawa bersama frekuensi carrier yang akan dibangkitkan melalui Pulse Width Modulation (PWM) yang termasuk fitur dalam mikrokontroler. Berikut adalah cara menghasilkan PWM pada mikrokontroler menjadi frekuensi 39.2 kHz yang menjadi spesifikasi frekuensi carrier pada WowWee Robosapien:
7
(1) ⁄ ⁄
(2)
Clock Input Compare Register (ICR) digunakan untuk mencari clock yang akan digunakan sebagai perbandingan dan masukan Input Capture pada fitur Timer yang ada pada mikrokontroler. Dimana : fcrystal
= 11059200 Hz.
fdiinginkan = 39200 Hz. Maka didapatkan Clock ICR adalah 282.122449. Clock ICR ini diubah dalam bentuk heksadesimal, sehingga didapatkan nilai heksadesimal sebesar 11A. Pada Gambar 2.2 menunjukkan nilai tersebut yang menjadi nilai masukan Input Capture pada Code Wizard yang merupakan fitur pada perangkat lunak CodeVisionAVR yang digunakan sebagai AVR programmer pada skripsi ini, sehingga menghasilkan code yang berupa insialisasi untuk Timer 1 yang merupakan salah satu fitur pada mikrokontroler.
Gambar 2.2. Pengaturan Frekuensi Carrier 39.2 kHz
8
I.4.
Wi-Fi Wi-Fi disebut Wifi adalah teknologi popular yang memungkinkan perangkat elektronik untuk bertukar data atau terhubung ke internet secara nirkabel menggunakan gelombang radio. WiFi memungkinkan komunikasi secara langsung dari satu komputer ke komputer lain tanpa perantara access point, yang disebut transmisi Wifi ad-hoc. Wifi memungkinkan penyebaran yang lebih murah dibandingkan local area networks (LANs), dan penyebaran di ruang dimana kabel tidak dapat digunakan. Sinyal Wifi bekerja pada frekuensi 2.4GHz. Jaringan Wifi memiliki jarak yang terbatas, umumnya wireless access point menggunakan 802.11b atau 802.11g dengan stock antenna mungkin memiliki jarak 35 meter untuk di dalam ruangan dan 100 meter untuk luar ruangan[4]. Pada skripsi ini digunakan modul Wifi USR-WIFI232-G sebagai access point yang menghubungkan antara pusat kendali smart phone atau komputer dengan mikrokontroler.
Gambar 2.3. Modul USR-WIFI232-G [8].
9
Gambar 2.4. USR-WIFI232-G Hardware Typical Application [8, h.15]. Gambar 2.4 merupakan aplikasi perangkat keras modul USR-WIFI232-G secara umum. USR-WIFI232-G digunakan sebagai access point dalam media komunikasi antar modul dengan pengendali yang artinya USR-WIFI232-G sebagai titik pusat jaringan. Gambar 2.5 menunjukkan gambaran USR-WIFI232-G sebagai access point, dan bekerja pada mode transparent transmission mode, secara umum mode ini dapat digunakan dengan mudah yaitu dengan plug and play pada port serial.
Gambar 2.5. Dasar Jaringan USR-WIFI232-G sebagai Access Point[8, h.17].
10
I.5.
Komunikasi Socket Socket merupakan mekanisme komunikasi yang memungkinkan terjadinya pertukaran data antar program atau proses, baik dalam satu mesin maupun antar mesin. Penggunaan socket dapat melakukan komunikasi antar proses/program melalui jarigan berbasis TCP/IP. Beberapa contoh aplikasinya adalah fasilitas – fasilitas yang disediakan oleh mesin unix seperti telnet, rlogin, ssh, ftp, dan lain – lain yang menggunakan socket sebagai sarana komunikasi mereka. Socket Networking ditujukan untuk komunikasi antar aplikasi antar mesin dalam lingkungan jaringan TCP/IP. Identifikasi socket dilakukan dengan sebuah service identifier yaitu berupa nomor port TCP/IP yang dapat di sambung oleh client. Socket Networking memiliki beberapa jenis yang paling umum digunakan yaitu Socket Stream dan Socket Datagram. Pada skripsi ini menggunakan Socket dengan jenis Socket Stream. Socket Stream adalah socket komunikasi full-duplex berbasis aliran (stream) data. Pada model komunikasi Socket Stream, koneksi dua aplikasi harus dalam kondisi tersambung dengan benar untuk dapat bertukar data. Ini dapat dianalogikan seperti komunikasi telepon. Jika sambungan telepon di salah satu titik putus, maka komunikasi tidak dapat terjadi. Koneksi model seperti ini akan menjamin data dapat dipertukarkan dengan baik, namun memiliki kelemahan dalam hal penggunaan jalur data yang relatif besar dan tidak boleh terputus. [ 7] Pemrograman Socket merupakan salah satu jenis pemrograman jaringan komputer yang memiliki model client – server dan menggunakan socket sebagai cara untuk pertukaran datanya. Penggunaan komunikasi socket pada skripsi ini berfungsi sebagai metode komunikasi antara mikrokontroler dengan remote kendali, modul USR-WIFI232-G dianalogikan sebagai server dan pusat kendali yaitu komputer atau mobile smart phone sebagai client. Format data yang dikirimkan dengan menggunakan komunikasi ini berupa string. Pola desain dasar untuk aplikasi client – server berbasis komunikasi socket terdapat pada Gambar 2.6.
11
Gambar 2.6. Pola Desain dasar aplikasi client – server berbasis socket [6].
12
Gambar 2.7. Contoh Program Komunikasi Socket bagian Server. Pada Gambar 2.7 menjelaskan contoh program komunikasi socket pada bagian server. Komunikasi menggunakan fungsi “TcpListener” dan untuk menerima data menggunakan fungsi “StreamReader”. Pada baris program ini fungsi “TcpListener” dengan variabel “server” akan memulai sebuah protokol sebagai server pada alamat socket “8081”. Ketika ada client yang terhubung makan disimpan pada variabel “s”. Sistem akan menunggu adanya data yang masuk menggunakan fungsi “StreamReader”, selanjutnya data yang didapatkan tersebut ditampilkan kedalam layar.
13
Gambar 2.8. Contoh Program Komunikasi Socket bagian Client. Pada Gambar 2.8 menjelaskan contoh program komunikasi socket pada bagian client. Komunikasi menggunakan fungsi “TcpClient” dan untuk menerima data menggunakan fungsi “NetworkStream”. Pada baris program ini fungsi “TcpClient dengan variabel “client” digunakan untuk memulai suatu hubungan protokol sebagai client. Client memulai hubungan pada alamat IP “10.10.100.254” dan pada socket “8899”. Ketika client ingin mengirimkan data maka data tersebut terlebih dahulu di encoding dan selanjutnya dikirimkan dalam bentuk byte menggunakan fungsi “NetworkStream”. Fungsi “NetworkStream” dan “ReadByte” digunakan untuk menampung balasan yang diterima oleh client dan selanjutnya ditampilkan kedalam layar.