Cara melaksanakan komunikasi bersiri melalui protokol PHP dan RS232
Ikhtisar:
Kini, komunikasi bersiri digunakan secara meluas dalam banyak bidang, seperti automasi industri, peralatan komunikasi, dll. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk berkomunikasi dengan port bersiri melalui protokol RS232, dan memberikan contoh kod yang berkaitan.
Pengenalan kepada protokol RS232:
Protokol RS232 ialah protokol komunikasi bersiri yang biasa digunakan, yang mentakrifkan piawaian untuk lapisan fizikal dan lapisan pautan data komunikasi bersiri. Melalui protokol RS232, kami boleh menghantar data antara komputer dan peranti luaran, seperti penderia, PLC, dsb.
Cara PHP berkomunikasi dengan RS232:
Untuk menggunakan bahasa PHP untuk berkomunikasi dengan port bersiri, kita perlu menggunakan perpustakaan sambungan PHP php_serial. php_serial ialah perpustakaan sambungan sumber terbuka yang merangkum fungsi komunikasi bersiri ke dalam perpustakaan kelas PHP.
Langkah-langkahnya adalah seperti berikut:
ls /dev/tty*
untuk melihat peranti bersiri yang tersedia dalam sistem.Pasang pustaka sambungan php_serial
Anda boleh memasang perpustakaan sambungan php_serial melalui arahan berikut:
sudo apt-get install php-pear sudo pecl install channel://pecl.php.net/php_serial
Selepas pemasangan selesai, anda perlu menambah konfigurasi berikut dalam php.ini:
extension=php_serial.so
Pengenalan php_intro kelas dan cipta objek port bersiri
Dalam kod PHP, kami boleh memperkenalkan kelas php_serial melalui kata kunci require_once dan mencipta objek SerialPort:
require_once('php_serial.class.php'); $serial = new phpSerial;
Tetapkan parameter port bersiri
Sebelum berkomunikasi dengan port bersiri, anda perlu tetapkan parameter port bersiri, seperti kadar baud, bit data, pariti, dsb. Anda boleh menggunakan setPort, setParity, setDataBits dan kaedah lain untuk menetapkan parameter port bersiri:
$serial->setPort("/dev/ttyUSB0"); $serial->setBaudRate(9600); //设置波特率为9600 $serial->setParity("none"); $serial->setDataBits(8); $serial->setStopBits(1); $serial->setFlowControl("none");
Buka port bersiri
Selepas menetapkan parameter port bersiri, anda boleh membuka port bersiri melalui kaedah terbuka:
$serial->open();
Baca dan tulis data port bersiri
Boleh dibaca melalui kaedah readPort Dapatkan data yang diterima oleh port bersiri:
$read_data = $serial->readPort();
Anda boleh menghantar data ke port bersiri melalui kaedah writePort:
$serial->writePort("Hello World!");
Tutup port bersiri
Selepas komunikasi selesai, ingat untuk menutup port bersiri:
$serial->close();
Contoh kod PHP lengkap adalah seperti berikut:
require_once('php_serial.class.php'); $serial = new phpSerial; $serial->setPort("/dev/ttyUSB0"); $serial->setBaudRate(9600); $serial->setParity("none"); $serial->setDataBits(8); $serial->setStopBits(1); $serial->setFlowControl("none"); $serial->open(); $serial->writePort("Hello World!"); $read_data = $serial->readPort(); $serial->close();
Diperlukan Ambil perhatian bahawa pelaksanaan komunikasi port bersiri dalam sistem Linux dan Windows adalah sedikit berbeza, dan boleh dilaraskan dengan sewajarnya mengikut jenis sistem.
Kesimpulan:
Menyedari komunikasi bersiri melalui protokol PHP dan RS232 boleh membawa lebih banyak kemungkinan kepada projek kami. Dalam aplikasi praktikal, kami boleh melaraskan parameter port bersiri secara fleksibel mengikut keperluan khusus untuk mencapai interaksi data dengan peranti luaran. Saya harap artikel ini dapat membantu pembaca dan mencetuskan lebih banyak penerokaan dan amalan.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan komunikasi bersiri melalui protokol PHP dan RS232. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!