外設(shè) => 串口 (USB)=>" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 網(wǎng)站運(yùn)營(yíng) > php5.6 如何使用dio?

php5.6 如何使用dio?

時(shí)間:2023-11-05 05:00:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-11-05 05:00:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

php5.6 如何使用dio?:
DIO,`Direct I/O functions`,是一套PHP擴(kuò)展,讀取IO設(shè)備的。它是依賴(lài) C 的 fread 和 fopen,所以不需要裝什么系統(tǒng)擴(kuò)展
我用DIO讀過(guò)串口rs232的數(shù)據(jù),非常簡(jiǎn)單。它的數(shù)據(jù)流是這樣的:

外設(shè) => 串口 (USB)=> 驅(qū)動(dòng) => (C語(yǔ)言庫(kù)) => DIO擴(kuò)展 => PHP這里的外設(shè)可以是樹(shù)莓派、RFID讀卡器等任意設(shè)備,可以看到,需要安裝的僅僅兩個(gè)

  1. 串口轉(zhuǎn)USB驅(qū)動(dòng),這個(gè)在你找到對(duì)應(yīng)usb廠家的驅(qū)動(dòng)安裝即可;
  2. DIO擴(kuò)展;

DIO如何安裝

  1. 在 pecl 搜索 dio,第一個(gè)就是,下載對(duì)應(yīng)系統(tǒng)最新版本(跟驅(qū)動(dòng)版本沒(méi)有關(guān)系);
  2. phpize,php-config,make,make install 一套流程走下來(lái);
  3. OK!

如何讀取

php的讀取也非常簡(jiǎn)單,要相信前人的智慧,github的項(xiàng)目比較多不是特別好辨認(rèn),我一般是上packagist搜索,看星星和下載量。

我用的是mdlayher/serial,不過(guò)composer國(guó)內(nèi)支持不是很好,特附上github鏈接;

PHP class utilizing Direct IO to interact with a RS232 serial port
是不是相當(dāng)?shù)闹庇^,下面是我的一段讀取代碼

<?php require_once __DIR__ . "/vendor/autoload.php"; use /serial/serial as serial; // Open serial connection $serial = new serial("/dev/tty.usbserial", O_RDONLY | O_NONBLOCK | O_NOCTTY); // Set connection options $options = array( "baud" => 9600, "bits" => 8, "stop" => 1, "parity" => 0, ); $serial->set_options($options); while(1) { $id = $serial->read(24); // 去掉第一位,標(biāo)示ACK,ascii碼值為6 $val = 6; for($i=1 ; $i<strlen($id); $i++) { $val = $val . '_' . dechex(ord($id[$i])); } echo strlen($id).": ".$val."/n"; }


試過(guò)幾個(gè)庫(kù),效果都不是很好,要么是漏數(shù)據(jù),要么是阻塞的,這個(gè)是我嘗試后最好用的一個(gè)

關(guān)鍵詞:使用

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉