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
$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

mantab gan.. ini yang aye cari2..
BalasHapustks a lot gan
sudah i coba pakai COM 'asli' sudah berhasil,
namun ketika pakai converter USB to Serial, hasilnya gagal.
pernah ngalami gan?
udah install drivernya USB to Serialnya belum gan
BalasHapusane 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
mau nanya, saya juga lagi belajar komunikasi php serial.
BalasHapusinputannya 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
klo dr keypad saya blm dapet ilmunya mba..yg saya bahas cuma inputan serial biasa
BalasHapusklo ad yg tanya bisa notif ke nickyrolly@yahoo.com
maklum jrg dibuka nh blognya kmren2 :D
terima kasih sudah menambah ilmu
BalasHapushallo gan
BalasHapus