要使php能过调用串口,必须先对php.ini进行一些设置,一般php.ini会位于系统盘下的Windows目录下,在Windows Extensions下面加上extension=php_dio.dll;然后重启你的web服务器。利用phpinfo()函数查看dio是否可用,如果看到下图就说明你的dio设置成功了。
下面就可以用编写php脚本来读取你的电脑的串口数据了。下面的程序对串口进行了读写。
set_time_limit(0);//设置脚本运行时间,为0代表无限时
exec('mode COM3: baud=115200 data=8 stop=1 parity=n xon=on');//定义com口为com3(可以修改),波特率为115200(可修改)
$ck = dio_open('COM3:', O_RDWR);//打开串口
if(!$ck){
die("打开串口COM3失败");//如果打开串口失败,停止脚本,并输出“打开串口COM3失败”;
}
//读取串口数据;
do{
$shuju=dio_read($ck);//读取串口并将读取到的数据赋值给变量‘$shuju’;
}
while($shuju == null);//当数据为空时;
//向串口发送数据
if($shuji != null)
dio_write ($ck, $shuju);//如果接收到了数据,就向串口写回去
dio_close($ck);//关闭串口
?>
php来操作串口确实是可行的,但也有它本身的缺陷,对于平常的学习是可行的,如果要用于工程使用的话就会有一些问题,这时候可能选用socket会更加便利。