
School Graphic Comments

. Pada robot terdapat rangkaian driver motor roda, rangkaian indikator koneksi, kamera (webcam) dan komputer server (laptop) yang menjalankan aplikasi server. Rangkaian driver motor roda dan rangkaian indikator koneksi terhubung dengan komputer server melalui port paralel (LPT). Proses kontrol rangkaian indikator dan gerakan motor roda robot dilakukan dengan mengeluarkan data ke port paralel komputer yang terpasang di robot. Alamat port paralel yang digunakan adalah 0x378 dalam heksadesimal, atau 888 dalam format desimal. Format data kontrol yang digunakan dapat dilihat di Gambar 2.Kamera (Webcam)Indikator KoneksiMotor Roda RobotRobot PenaRangkaian DriverInternetKomputer Client(Server) Gambar 1. Ilustrasi sistem pengontrolan robot melalui internet dengan umpan balik videoGambar 2. Format data kontrolPada program server, port yang dibuka untuk menerima permintaan koneksi adalah 5000. Port ini juga langsung diset di program client.Aplikasi server dijalankan pada komputer server dan akan menunggu permintaan koneksi dari client. Selanjutnya pada komputer client (komputer operator), yaitu komputer untuk mengendalikan robot, dijalankan program client. Sebelum koneksi dilakukan, user diminta memasukkan IP Address server yang akan dihubungi. Ini disesuaikan dengan nomor IP Address komputer server.Setelah koneksi terjadi, server akan melakukan dua hal, yaitu:Mengaktifkan indikator koneksi, dan menunggu datangnya data perintah yang dikirim dari client. Jika ada perintah (DataArrival), maka server akan menerjemahkan perintah tersebut. Misalnya perintah “maju” diterjemahkan dengan data 1 dan selanjutnya akan mengeluarkan data ke port paralel untuk menjalankan motor roda robot melalui rangkaian driver motor.Mengaktifkan kamera (webcam) dan menerima permintaan streaming video dari client. Dengan diterimanya permintaan streaming video ini, maka pada client akan tampil gambar hasil tangkapan kamera.Dengan demikian, operator dapat mengetahui apa yang ada dihadapan robot melalui tampilan video pada aplikasi client, sehingga dapat memantau gerakan robot. Aplikasi server dan client pada sistem ini dibuat dengan menggunakan Microsoft Visual Basic versi 6.04. Program Aplikasi Client/Server untuk Komunikasi Robot dan Operator4.1 Sisi Server (Robot)Server diset untuk mendengarkan permintaan koneksi dari client pada nomor port tertentu. Pada saat awal program dijalankan, motor roda dan indikator koneksi dimatikan, dengan mengeluarkan data 0 ke alamat port paralel:dummy = Out8255(888, 0)Nomor port untuk menerima koneksi diset 5000 dan didefinisikan pada prosedur Form_Load. Kamera juga diinisalisasi pada prosedur ini. Namun untuk menghemat memori dan tidak terlalu membebani kerja server padahal belum perlu, maka kamera belum diaktifkan sebelum ada koneksi dengan client. Berikut ini sebagian perintahnya:VidServer.CapListenForConnectionsVidServer.CapInitServers TrueVidServer.CapStreamingVideo TrueVidServer.CapSetStreamQuality 50tcpServer.LocalPort = 5000Call tcpServer.ListenTxtOutput.Text = ""Menunggu _ permintaan koneksi dari Client..." _ & vbCrLfKetika permintaan koneksi dari client ke server datang, server akan mengeksekusi prosedur ConnectionRequest. Permintaan koneksi ini diterima melalui Winsock Accept method:tcpServer.Accept(requestID)Setelah koneksi tersambung, server mengaktifkan kamera serta mengirim data streaming video hasil tangkapan kamera ke client.VidServer.CapConnect 0VidServer.CapAcceptConnection (True)Indikator terjadinya koneksi yang dihubungkan dengan bit msb pada output data parallel port juga diaktifkan dengan mengeluarkan data biner 10000000 (atau 128 dalam format desimal) ke port paralel.dummy = Out8255(888, 128)Saat koneksi sudah tersambung dan data streaming video diterima client, informasi data/perintah yang diberikan ke server diproses dalam prosedur DataArrival. Data-data ini diambil dari dan dikirim ke client menggunakan GetData dan SendData method pada Winsock control.call _ tcpServer.GetData(messageFromClient)Pada aplikasi kontrol robot ini, data dari client berupa string maju, kiri, kanan, mundur dan stop. Server akan mengeluarkan data ke port parallel sesuai dengan data yang diterima dari client, seperti ditunjukkan pada tabel berikut ini:Tabel 1. Daftar data dari client dan data yang dikeluarkan ke port paralelData dariClient (String)Data (biner)Gerakan robotMaju10000101MajuKanan10000110Belok kananKiri10001001Belok kiriMundur10001010MundurStop10000000BerhentiAkhirnya, setelah client meminta koneksi selesai, maka server menutup koneksi, mengeluarkan data nol ke port paralel untuk mematikan indikator koneksi, dan selanjutnya langsung kembali mendengarkan koneksi. Siap jika ada permintaan selanjutnya.dummy = Out8255(888, 0)call tcpServer.CloseVidServer.CapDisconnectTxtOutput.Text = "Client memutus _ koneksi." & vbCrLfcall tcpServer.ListenTxtOutput.Text = ""Menunggu _ permintaan koneksi dari Client..." _ & vbCrLfSetelah direalisasikan, tampilan aplikasi server sebelum dan sesudah koneksi terjadi ditunjukkan pada Gambar 3 dan Gambar 4.Gambar 3. Tampilan aplikasi server sebelum terjadi koneksiGambar 4. Tampilan aplikasi server setelah terjadi koneksi4.2 Sisi Client (Operator)Program aplikasi client merupakan program yang akan dihadapi oleh operator robot. Pada program ini akan ditampilkan status koneksi dengan server (robot), gambar video hasil tangkapan kamera pada robot, dan tombol-tombol navigasi. Untuk memulai permintaan koneksi ke robot, operator perlu memasukkan nomor IP robot:tcpClient.RemoteHost = InputBox("Masukkan NomorIP Server (Robot)...", "Nomor IP", "127.0.0.1")Sedangkan nomor port telah diset diprogramtcpClient.RemotePort = 5000Kemudian Client menghubungi komputer server yang memiliki nomor IP tertentu tersebut dan meminta koneksi di port 5000 baik untuk komponen Winsock ataupun VidShare.call tcpClient.ConnectvidClient.vidRequestConnection _ tcpClient.RemoteHost, usrSelanjutnya jika server telah menerima permintaan koneksi, client akan menampilkan status Connected dan live video streaming dari kamera robot akan tampil.Text2.Text = "Connected..."vidClient.vidReceiveDataStream _ tcpClient.RemoteHostSetelah ini semua berjalan dengan baik, operator dapat melakukan perintah navigasi robot (maju, kanan, kiri, mundur) menggunakan tombol atau menggunakan tombol panah pada keyboard. Saat tombol navigasi ditekan, program aplikasi client mengirimkan data (SendData) ke server.Data = "maju"Call tcpClient.SendData(Data)Kondisi lingkungan di depan dan disekitar robot dapat dipantau oleh operator melalui tampilan kamera robot, sehingga operator dapat menentukan arah gerak robot dan menghindar jika ada halangan.Setelah direalisasikan, tampilan aplikasi client sebelum dan sesudah koneksi terjadi ditunjukkan pada Gambar 5, Gambar 6, dan Gambar 7.Gambar 5. Tampilan aplikasi client sebelum koneksi terjadiGambar 6. Tampilan aplikasi client saat dialog box muncul untuk memasukkan Nomor IPGambar 7. Tampilan aplikasi client sesudah koneksi terjadi5. Kesimpulan· Pengontrolan gerakan robot jarak jauh melalui jaringan internet telah berhasil dibuat dengan menggunakan komponen activeX Winsock. Sedangkan untuk memantau gerakan robot, telah ditambahkan umpan balik video yang dibuat dengan menggunakan komponen VidShare.· Sistem seperti diuraikan dalam makalah ini dapat dikembangkan pada peralatan lain, seperti pemantauan situasi lalu lintas, monitoring kondisi rumah, operasi pasien jarak jauh dan lain-lain.· Untuk penggunaan yang memerlukan ketelitian dan real time seperti operasi pasien jarak jauh, harus memperhitungkan delay time yang berkaitan dengan faktor kualitas jaringan internet yang ada.


