導航:首頁 > 編程語言 > php調用串口

php調用串口

發布時間:2023-09-13 01:44:20

㈠ 如何用php調用自己編寫的COM組件

首先寫ActiveX Dll:

新建一個VB6工程,ActiveX Dll將工程命名為P_test,類名為c_test ,類的文件內容如下:

Option Explicit

Private MyscriptingContext As scriptingContext

Private MyApplication As Application

Private MyRequest As Request Private MyResponse As Response

Private MyServer As Server

Private MySession As Session Public

Sub OnStartPage(PassedscriptingContext As scriptingContext)

Set MyscriptingContext = PassedscriptingContext

Set MyApplication = MyscriptingContext.Application

Set MyRequest = MyscriptingContext.Request

Set MyResponse = MyscriptingContext.Response

Set MyServer = MyscriptingContext.Server

Set MySession = MyscriptingContext.Session

End Sub

Public Sub OnEndPage()

Set MyscriptingContext = Nothing

Set MyApplication = Nothing

Set MyRequest = Nothing

Set MyResponse = Nothing

Set MyServer = Nothing

Set MySession = Nothing

End Sub

Public Function Test_Number(num) As Variant

If num 0 Then Get_Number_Attrib = 1

If num = 0 Then Get_Number_Attrib = 0

End Function

編譯生成p_test.dll文件

注冊

提示符下運行:regsvr32 p_test.dll

編寫php文件,test.php4代碼如下:

<?php

$b=new COM("p_test.c_test");

$a=$b->Test_Number(-454);

echo $a;

?>

可能碰到的問題是,編譯工程時通不過,要將Microsoft Active Server Pages Object Library引用進來,具體實現"Project->References"找到改庫,並勾上 。

㈡ php可以對硬體操作嗎

完全可以的,php可以操作串口rs232的。
例子如下:
<?php
// --------------------------------------------------------------------------
// File name : RS232_Server.php
// Description : RS232演示上位機程序
// Requirement : PHP 5.1.4 (cli) (http://www.php.net)
//
// Copyright(C), HonestQiao, 2006, All Rights Reserved.
//
// Author: HonestQiao ([email protected]/QQ:5601680)
//
// 程序簡介:
// 本程序與RS232_Client構成一個完整的演示系統,展示了PHP在RS232串口通訊上的應用。
// 程序之中實現了一個基礎但是完整的RS232通訊協議(HQB232),通訊協議格式如下:
// 協議內容:
// C->S 01 //請求通訊
// S->C 02 //響應通訊
// C->S LEN DATA //LEN表示數據(DATA)長度 DATA表示實際數據
// C->S 03 //結束通訊
// 說明:S表示上位機 C表示下位機
// HQB232表示HonestQiao演示的基礎(Base)RS232通訊協議,包含了協議的
// 請求和響應,數據幀的結構。
// 演示過程為通訊的請求和響應,十次數據幀的發送, 通訊的結束
// 數據幀的結構為當前的序號,microtime(),隨機字元串
//
// 歡迎探討PHP在RS232串口通訊上的應用。
// --------------------------------------------------------------------------
set_time_limit(0);
exec('mode COM1: baud=115200 data=8 stop=1 parity=n xon=on');

$fd = dio_open('COM1:', O_RDWR);
if(!$fd)
{
die("Error when open COM1");
}

$ff = dio_stat($fd);print_r($ff);
echo "HQB232 SERVER is listenning on COM1\n";
/// read
$len = 2;
$t=0;while (($t++)<1000)
{
$data = dio_read($fd, $len);
if ($data) {
if($data==chr(0).chr(1)){
echo "S_RECV:01\n";
echo "S_SEND:02\n";
dio_write($fd,chr(0).chr(2));
break;
}
}
}

/// read
$len = 2;
$t=0;while (($t++)<1000)
{
$len = 2;
$data = dio_read($fd, $len);
if($data==chr(0).chr(3)){
echo "S_RECV:03\n";
break;
}
elseif ($data) {
$len = intval($data);
$data = dio_read($fd, $len);
if($data){
echo "S_RECV:($len)$data\n";
}
}
}
dio_close($fd);
?>

㈢ 怎麼用php與串口進行通信

1.通過php擴展dio。
下載dio擴展:http://www.cyberspice.org.uk/downloads/dio-0.0.4rc3.tgz
在php.ini打開dio擴展。
dio開啟後可以通過dio_open dio_read等函數進行通信。但dio默認只是在Linux下的,好像pecl也有編譯後的php_dio.dll,但我在win下測試其實無法正常使用,可能是我php版本太高(5.3.3)。
dio擴展如果能打開,網上自然有很多實例

<?php
$c = stream_context_create(array('dio' =>
array(『data_rate』 => 115200,
『data_bits』 => 8,
『stop_bits』 => 1,
『parity』 => 0,
『is_canonical』 => 1)));
if (PATH_SEPARATOR != 「;」) {
$filename = 「dio.serial:///dev/ttyS0″;
} else {
$filename = 「dio.serial://COM1″;
}
?>

2.PHP_SER擴展
這是一個第三方擴展,可以在php5.3.3上正常使用,我測試結果是比較穩定,提供了單位元組流通信和非同步通信。對於單位元組流通信我還專門請教了作者,發現原來可以通過loop讀取數據流的。需要注意的是ser_write()的數據是字元型,但是ser_read()的數據則是10進制。所以發送的時候最好轉換為hex,接收後由十進制再轉為十六進制才能正常使用。
還有就是php_ser作為第三方擴展,作者是收費的。免費版本沒有功能限制,只是每次收發位元組數不能超過1024位元組。

function x_get_cgqbh() {
$str = 『at+ver?』;
$str = hexToStr($str);
ser_open( 「COM1″, 9600, 8, 「None」, 「1″, 「None」 );
if (ser_isopen()) {
return 「opened, post data ……」;
}else{
return false;
}
ser_write(「$str」);
sleep(1);
$str = ser_read();
ser_close();
return $str;
}

㈣ 用PHP如何接收串口的數據

假設http://booking.56nb.com/ip.php這個頁面有一個功能需要操作並返回某字元串,還用一下代碼可以實現執行並讀取返回值。

$fp = fopen("http://booking.56nb.com/ip.php","r");
$ret= fgetss($fp,255);
echo $ret."<br>";
fclose($fp);

閱讀全文

與php調用串口相關的資料

熱點內容
sql和python處理excel 瀏覽:107
家用材料製作解壓玩具 瀏覽:912
c盤解壓失敗可以用空間嗎 瀏覽:465
3d循環音樂哪個app好 瀏覽:769
壓縮文件zip怎麼解壓不了 瀏覽:390
如何看蘋果appstore軟體是否收費 瀏覽:463
android發送字元串 瀏覽:13
python3最好的書籍推薦 瀏覽:684
藍牙模塊與單片機連接 瀏覽:665
mssql命令大全 瀏覽:193
mpv伺服器怎麼樣 瀏覽:599
伺服器遷移後怎麼恢復 瀏覽:249
在vfp中如何顯示和隱藏命令 瀏覽:283
如何部署地圖伺服器 瀏覽:737
安卓系統雲閃付哪個app好用 瀏覽:111
程序員一天完成幾個需求 瀏覽:960
請運行命令來卸載oracle 瀏覽:243
知識問答哪個app好 瀏覽:398
數控銑床編程代碼大全 瀏覽:869
程序員相親被罵 瀏覽:810