Tuesday, May 30, 2006

Bluetooth di Fedora Core 3

Sedikit tentang bluetooth
Bluetooth (http://www.bluetooth.com) adalah suatu standar spesifikasi yang mendefinisikan bagaimana telepon bergerak, komputer dan personal digital assistant (PDA) dapat dengan mudah terinterkoneksi satu dengan lainnya dengan koneksi tanpa kabel.
Sebuah perangkat bluetooth membutuhkan suatu chip tranceiver, yang masing-masing memiliki alamat fisik sepanjang 48 bit. Transceiver akan melakukan pengiriman dan penerimaan data/suara pada band frekuensi ISM (Industrial, Science, Medical) 2.4 GHz.
Asal muasal ide ini diprakarsai oleh Ericsson pada tahun 1994, yang melihat ketidak-efisiensian dalam komunikasi antara handphone dengan PDA.
Karena dipandang baik, tahun 1998, antara Ericsson, IBM, Nokia, dan Toshiba, membentuk Bluetooth Special Interest Group (SIG).
Nama Bluetooth sebenarnya diambil dari nama raja Viking, Harald Blaatand (Bluetooth) II, yang berhasil menyatukan Denmark dan Norwegia, juga dengan "tanpa kabel" :).

Bluetooth di Linux
Untuk dapat mendukung bluetooth, kernel GNU/Linux harus juga mengenal protokol bluetooth.
Ada beberapa module/driver protokol bluetooth yang dapat kita pasangkan untuk kernel GNU/Linux, antara lain :
  • OpenBT (http://developer.axis.com/software/bluetooth/),
  • BlueZ (http://bluez.sourceforge.net/),
  • BlueDrekar (http://www.alphaWorks.ibm.com/tech/bluedrekar).
Pada distribusi kernel GNU/Linux mulai versi 2.4.6, sudah ada driver protokol BlueZ, demikian juga untuk proyek Fedora Core yang saya gunakan. Untuk dapat mengontrol perangkat bluetooth, kita harus memasang beberapa paket software bluez lain:
# rpm -qa | grep bluez
bluez-hcidump-1.11-1
bluez-utils-2.10-2
bluez-libs-2.10-2
bluez-pin-0.23-3
bluez-bluefw-1.0-6

Berikutnya, Anda dapat memeriksa apakah perangkat bluetooth yang terpasang pada port USB sudah dikenal kernel GNU/Linux atau belum, dengan menggunakan perintah berikut (loginlah sebagai root):
# lsmod | grep bluetooth

contoh hasilnya adalah:
# lsmod | grep bluetooth
bluetooth 46917 7 rfcomm,l2cap,hci_usb

Tugas kernel untuk menyediakan kebutuhan driver dan protokol bluetooth sudah cukup, selanjutnya kita membutuhkan suatu daemon yang membantu mengontrol pemakaian perangkat bluetooth.
Modul hci_usb adalah perangkat usb bluetooth kita, l2cap adalah protokol lapisan data link, dan rfcomm adalah protokol lapisan middleware dari arsitektur protokol bluetooth.
Sehingga dengan demikian keseluruhan lapisan inti protokol bluetooth sudah terpenuhi. Pada beberapa distro lain, nama modul mungkin tetap bluez, bukan bluetooth seperti di atas.

Pada FC3 sudah tersedia script di /etc/init.d/bluetooth, yang akan menjalankan paling tidak dua daemon, yaitu
  • hcid (Bluetooth Host Controller Interface Daemon)
  • sdpd (memungkinkan perangkat bluetooth untuk terkoneksi dengan perangkat bluetooth lain).
Untuk mengetahui alamat bluetooth device:
hciconfig -a

Memanfaatkan Modem Bluetooth pada ponsel
Untuk meminta layanan DUN ini, kita harus mengatur parameter hcid yang tersimpan di /etc/bluetooth/hcid.conf.
  • security auto;
    • maksudnya, pin untuk koneksi akan otomatis berdasar pin lokal di /etc/bluetooth/pin. Buat dengan:
    • # echo “12345” > /etc/bluetooth/pin
  • security user;
  • pin_helper /usr/bin/bluez-pin;
    • jika Anda ingin agar pemakai selalu memasukkan pin ketika ada konfirmasi otentikasi
Menemukan layanan DUN
  • Aktifkan layanan bluetooth di ponsel Anda
  • Pada console, ketikkan: (*#2820#)
# sdptool browse # sdptool search DUN
  • Cobalah melakukan ping dengan protokol l2cap :
# l2ping alm_bluetooth_ponsel
  • selanjutnya kita akan membuat koneksi untuk protokol rfcomm :
Mencoba DUN
# minicom -s
<enter><enter>
<pilih menu serial port setup>
<tekan a>
<ubah serial device manjadi >
<enter>
<enter>
<pilih menu exit>
<ada proses inisialisasi modem>
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK
ATDTno_telp_yg_ingin_dicall
<contoh: atdt021238xxx>
<jika telp yg dituju berdering berarti modem ok>
<tekan ax lalu jawab yes>

edit file /etc/wvdial.conf, dan tambahkan contoh definisi koneksi PPP berikut
[Modem0]
Modem = /dev/rfcomm0
Baud = 57600
SetVolume = 0
Dial Command = ATDT
Init1 = ATZ
Init3 = ATM0
FlowControl = CRTSCTS

[Dialer IM3]
Username = gprs
Password = im3
Phone = *99#
Stupid Mode = 1
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","www.indosat-m3.net","",0,0
Inherits = Modem0

Mencoba DUN
  • Coba lakukan dialup:
# wvdial "IM3" –config=/etc/wvdial.conf
  • Jika sudah tersambung, pada ponsel Anda, icon GPRS akan aktif. Selanjutnya, selamat menikmati Internet
  • Anda dapat memutus koneksi dengan cara menghentikan wvdial. Misal, pada console dimana wvdial aktif, silahkan tekan CTRL-C.
  • lakukan release rfcomm dengan cara :
# rfcomm release

bemused
bemused merupakan program yang memberikan layanan kontrol sederhana terhadap xmms melalui ponsel. Silahkan mengunjungi: http://bemused.sourceforge.net
  • Download bemused Symbian60, dan install ke ponsel Anda.
  • Download bemused server for Linux
  • Ekstrak bemusedlinuxserver1.73.tar.gz
tar xzvf bemusedlinuxserver-1_73.tar.gz
  • Konfigurasi besumed dari file bemused.conf
xmmsdir=xmms channel=2 mp3dir=/mnt/windows/mp3 autostartxmms=1
  • Copy file bemused.conf ke /etc
  • Buat rfcomm2:
rfcomm bind 2 00:0E:6D:FB:48:8A 1
  • Jalankan bemusedlinuxserver

OBEX di gnome
Untuk penerapan OBEX di gnome secara umum sangat mudah untuk diterapkan.
Aplikasi :
  • gnome-obex-server dan gnome-bluetooth-manager

gnokii
Gnokii merupakan driver modem/fax untuk perangkat ponsel. gnokii sejak awal dirancang untuk perangkat Nokia
  • Seri 6100 (6110/5110), seri 7110 (7110/6210) , dan seri 6510 (6310/6510).
Mendukung ponsel yang menerima perintah AT.
  • Nokia 7110/6210/6250/6310(i)/6510/8210/9210/7650/3650,
  • Siemens S25/SL45i/C55/M55/S55,
  • Ericsson T39, SonyEricsson T68i,
  • Bosch 908/909
  • Motorola Timeport P7389i and C350.
Ada dua aplikasi yang memberikan peran yang berbeda:
  • gnokiid: membuat suatu modem virtual untuk ponsel Nokia portable. Akan dibuat file /dev/gnokii secara otomatis oleh mgnokiidev ketika gnokiid dijalankan. Dengan file tersebut kita dapat mengkonfigurasi PPP untuk dialup dengan memanfaatkan ponsel.
  • gnokii / xgnokii. xgnokii merupakan user interface untuk gnokii yang memberikan fasilitas untuk sms, contact dan calendar
# rpm -qa | grep gnokii
gnokii-0.6.4-1.1.fc3.rf
gnokii-gui-0.6.4-1.1.fc3.rf
gnokii-devel-0.6.4-1.1.fc3.rf
  • Setelah instalasi, install gnapplet.sis ke ponsel Anda yang telah disediakan di /usr/share/doc/gnokii-0.6.4/
  • Buat file /etc/gnokiirc, yang berisi:
[global]
port = 00:0E:6D:FB:48:8A # bth addr ponsel

rfcomm_channel = 13 # channel dari gnapplet
model = series60 # model S60
connection = bluetooth
serial_baudrate = 19200

[gnokiid]
bindir = /usr/sbin
  • program xgnokii akan muncul pada menu FootGnome > Accessories > Gnokii Mobile Manager
  • sebelum menjalankan program xgnokii, jalankan dulu gnapplet pada ponsel Anda, kemudian sebelum 30 detik waktu tunggu dari gnapplet habis, segeralah jalankan xgnokii.

Tuesday, May 23, 2006

Workshop UML

Tanggal 14-15 Mei yang lalu, saya berkesempatan untuk mengisi acara workshop "Visual Modelling with UML" yang diadakan di UPN Yogyakarta.
Materi yang saya sampaikan kurang lebih seputar pemahaman tentang UML, sintak dan semantiknya, pemakaian diagram-diagram UML, dan pemakaian program Rational Rose 2002.
Secara prinsip berjalan baik, hanya saja tidak banyak yang tertarik dengan materi UML ini. Inilah sebetulnya yang ingin saya utarakan tentang pemahaman UML bagi kita semua:

1. UML merupakan standard untuk bahasa pemodelan, secara khusus pemodelan sistem. Oleh karena ini bahasa pemodelan, maka semua kita bisa mempelajarinya, seperti pengetahuan yang lain. Jika semua bisa mempelajarinya, maka tiap orang dapat menggunakan UML untuk pemodelan sistem apa saja yang mereka kuasai.

2. Di lingkungan sekolahan kita di sini, saya rasakan penekanan untuk penguasaan pemodelan ini masih kurang. Apalagi tentang dokumentasi sistem. Jadi mungkin, saya mengusulkan untuk pembelajaran tentang bahasa pemodelan ini harus terus di tekankan. Setahu saya, orang dokumenter bisa menjadi suatu profesi tersendiri, yang mungkin saat ini masih banyak yang dilakukan dengan sistem kontrak.

3. UML merupakan bahasa pemodelan yang universal.

Demikian tulisan saya hari in.

Monday, May 15, 2006

Pentingnya Pendidikan Open Source

Untuk mendukung persiapan sumber daya manusia yang menguasai open source software di wilayah Asia, CICC (Center of the International Cooperation for Computerization) perwakilan Singapore, telah mengadakan workshop yang bertema Asia Open Source Software di Singapura pada tanggal 25 – 30 Juli 2005 yang diikuti oleh 42 peserta dari 11 negara Asian. Tujuan dari kegiatan ini adalah mempersiapkan tenaga pengajar profesional yang mampu membagikan keahlian seputar open source
software kepada masyarakat lain di negaranya masing-masing.
Materi-materi yang disampaikan tidak hanya meninjau dari teknik administrasi dan pemakaian open source software, namun juga menyentuh isu-isu seputar legalisasi (lisensi) dari produk-produk open source software dan contoh model kurikulum keahlian (skill set) open source.
Berdasar hasil diskusi pada acara tersebut, secara umum pemerintah di setiap negara Asian, termasuk Indonesia, memiliki semangat dan harapan untuk penerapan open source software. Secara khusus di Indonesia, semangat pemerintah telah dibuktikan dengan mencanangkan program IGOS (Indonesian Go Open Source) pada Juli 2004. Dan pada tahun 2005 ini, pemerintah mewujudnyatakan program tersebut dengan menyebarkan distro Linux Merdeka secara gratis, selain berbagai kegiatan workshop, seminar dan simposium untuk menunjang program IGOS.
Produk-produk dari gerakan open source, tidak hanya akan memberikan keuntungan efisiensi dan penghematan, namun juga dapat menjadi suatu cermin kemandirian negara kita dalam pengembangan suatu produk perangkat lunak yang dikerjakan oleh seluruh anak bangsa sebagai satu kesatuan komunitas yang saling terbuka. Sebenarnya, pemerintah menyadari hal tersebut. Untuk itu dimulailah pengembangan distro Linux hasil karya anak bangsa yang diberi judul WinBi (http://www.software-ri.or.id/winbi), walaupun terkesan tersendat-sendat oleh karena berbagai alasan.
Cukup membanggakan, bahwa negara kita juga peduli dengan gerakan open source software. Hanya saja, akan lebih baik jika pemerintah kita memiliki suatu cetakan biru rencana pembangunan infrastruktur teknologi informasi secara nasional yang baru, mengingat sampai saat ini gema Nusantara 21 semakin tenggelam diterpa berbagai kasus yang menimpa negara kita tercinta ini.
Gaung distro WinBi “buatan dalam negeri” inipun, saat ini tidak sehiruk pikuk seperti beberapa bulan lalu ketika isu razia pemakaian software ilegal marak. Hal ini menunjukkan bahwa masyarakat kita belum mengerti dan belum siap menerima produk Linux dan open source software lain. Contoh yang sederhana saja, ketika sebuah warnet beralih ke Linux, tiba-tiba dalam beberapa hari sepi pengunjung. Usut punya usut, alasan terbanyak adalah karena pengunjung tidak bisa menggunakan Linux. Wow, begitu mendalamnya kekuatan produk komersial, seperti Microsoft Windows, ditengah-tengah masyarakat kita.
Sebenarnya permasalahan tersebut tidak hanya di Indonesia. Dari diskusi pada saat kegiatan workshop Asia OSS tersebut, di beberapa negara Asian pun terjadi hal serupa. Sekali lagi dalam pembahasan open source software ini, tidaklah menyangkut apakah gratis atau membayar, namun yang terpenting adalah open source memiliki semangat gerakan yang terbuka dan adanya kebersamaan dalam membangun sesuatu. Penulis berpendapatan hal itulah yang terpenting.
Salah satu strategi agar budaya open source ini melekat di masyarakat kita, dapat dilakukan dengan memberikan pemahaman dan pendidikan, baik melalui media cetak, elektronik, di sekolah, warnet atau dimanapun yang memungkinkan, selain terus menumbuhkan kebiasaan dalam pemanfaatan produk open source. Semisal, di dalam setiap kampus, disediakan beberapa terminal akses internet yang menggunakan produk open source software. Dan sangat dimungkinkan jika dibuat beberapa subyek matakuliah/mata pelajaran, baik di tingkat SMU/SMK ataupun di perguruan tinggi, tentang skill set yang dibutuhkan untuk mempersiapkan seseorang memasuki lingkungan gerakan open source. Dan patut kita banggakan bahwa semuanya itu sudah tertuang dalam strategi, action plan dan deklarasi bersama IGOS (http://www.igos.web.id).
Terakhir yang tidak kalah penting adalah ketrampilan bahasa asing, terutama bahasa Inggris. Hal ini perlu, mengingat komunitas open source melibatkan semua pihak, tidak pandang usia, jenis kelamin, ataupun dari negara mana.