導航:首頁 > 編程語言 > 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調用串口相關的資料

熱點內容
資料庫查詢系統源碼 瀏覽:612
php5314 瀏覽:352
完美國際安裝到哪個文件夾 瀏覽:664
什麼app可以掃一掃做題 瀏覽:535
程序員編碼論壇 瀏覽:921
淘點是什麼app 瀏覽:656
中國高等植物pdf 瀏覽:451
51單片機時間 瀏覽:179
後台如何獲取伺服器ip 瀏覽:262
單片機流水燈程序c語言 瀏覽:230
程序員第二職業掙錢 瀏覽:237
運行里怎麼輸入伺服器路徑 瀏覽:835
pythonstepwise 瀏覽:506
劉一男詞彙速記指南pdf 瀏覽:59
php認證級別 瀏覽:364
方舟編譯啥時候推送 瀏覽:1007
php手機驗證碼生成 瀏覽:672
哲學思維pdf 瀏覽:13
凌達壓縮機有限公司招聘 瀏覽:531
weblogic命令部署 瀏覽:33