Powered By Blogger

Rabu, 24 Agustus 2011

Akses Serial Port Dengan PHP






Beberapa saat yang lalu saya memiliki permasalahan untuk mengirim data ke mikrokontroller dengan serial port via Aplikasi Web, beberapa referensi sudah saya dapatkan diantaranya akses serial port menggunakan interface C dan PHP (kedudukan PHP disini hanya sebagai inerface (penghubung) sedangkan program utamanya adalah C), dan juga bisa menggunakan ASP.NET dengan C# nya

Kemudian saya bertanya - tanya apakah PHP dapat melakukan akses langsung ke Serial Port, Setelah googling akhirnya menemukan cara tersebut, koding dibawah ini mendeskripsikan perintah2 yang digunakan untuk membuat komunikasi ke serial port langsung dari PHP


 
Set dulu parameter komunikasi serial, dengan perintah :

$cmd_str = "MODE COM1: BAUD=9600 PARITY=N DATA=8 STOP=1 XON=OFF TO=OFF OCTS=OFF ODSR=OFF IDSR=OFF RTS=OFF DTR=OFF";
$output = array();
exec($cmd_str, $output, $result);

Karena kadang-kadang mengakses serial butuh waktu yang terus-menerus (setiap saat), maka PHP perlu diberitahu bahwa program ini akan jalan terus menerus :

set_time_limit(0);

Namun jika program anda hanya anda jalankan sesekali, anda tidak perlu menge-set time limit.
Operasi pada serial, sama seperti operasi stream pada file. Untuk membaca serial, kita menggunakan fungsi yang sama dengan membaca file :

$serial_port = fopen("COM1", "rb");
$hasil = fgets($serial_port, 2400);
fflush($serial_port);
fclose($serial_port);

Serial port yang pertama, gunakan COM1, serial port yang kedua, gunakan COM2 dst.
Untuk mengirim data melalui serial port, lakukan hal yang sama seperti menulis ke file :

$serial_port = fopen("COM1", "wb");
$a = chr(1);
$hasil = fwrite($serial_port,$a);
fclose($serial_port);

Yak, itulah cara mengakses serial port menggunakan PHP

6 komentar:

  1. mantab gan.. ini yang aye cari2..
    tks a lot gan
    sudah i coba pakai COM 'asli' sudah berhasil,
    namun ketika pakai converter USB to Serial, hasilnya gagal.
    pernah ngalami gan?

    BalasHapus
  2. udah install drivernya USB to Serialnya belum gan
    ane pake usb to serial type PL 2303 serial driver
    tapi cuma jalan di win xp sp.2 gan..prnah coba di win 7 gak bisa..
    klo di COM aslinya udh jalan harusnya bisa pake USB to serial

    BalasHapus
  3. mau nanya, saya juga lagi belajar komunikasi php serial.
    inputannya dari keypad. kalau dari keypad gimana proses bacanya ya dari php? pengaruh ga sama os yang kita pakai apa? saya pakai windows 7. tolong dijawab yak
    makasih sebelumnya

    BalasHapus
  4. klo dr keypad saya blm dapet ilmunya mba..yg saya bahas cuma inputan serial biasa

    klo ad yg tanya bisa notif ke nickyrolly@yahoo.com
    maklum jrg dibuka nh blognya kmren2 :D

    BalasHapus
  5. terima kasih sudah menambah ilmu

    BalasHapus