很多站长朋友们都不太清楚Php发送串口指令,今天小编就来给大家整理Php发送串口指令,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 我可以通过PHP语言控制硬件吗 2、 php如何利用串口连接电路板 3、 PHP5.4怎么对串口进行操作呢?谢谢各位 4、 用PHP实现网页直接操作硬件串口 5、 怎么用php与串口进行通信 6、 php中如何去连接设备并发送指令 我可以通过PHP语言控制硬件吗可以的,php可以操作串口rs232的。
因为PHP有个函数叫exec,非常有用的一个函数,可以运行“系统命令”。例如在ubuntu系统上,跑动 killMe.php, 来上一句:
<?php exec('sudo umount /dev/');
// linux exec('sudo shutdown -h now');
// linux exec("木马.exe"); // Window
还可以关闭网络、配置网络、杀掉进程等等 。
PHP的特性包括:
1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,
PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
3. PHP支持几乎所有流行的数据库以及操作系统。
php如何利用串口连接电路板php在部分应用偶尔和串口直接通信,需要和rs232、rs485接口上的数据进行通信。
php与串口通信,基本有两种途径,通过php扩展dio,下载dio扩展:http://在php.ini打开dio扩展。
dio开启后可以通过dio_opendio_read等函数进行通信。
但dio默认只是在linux下的,好像pecl也有编译后的php_dio.dll,但我在win下测试其实无法正常使用,可能是我php版本太高,dio扩展如果能打开,网上自然有很多实例。
PHP5.4怎么对串口进行操作呢?谢谢各位在 php.ini 配置 php_dio.dll
php手册 Direct IO 里面函数的应用 很详细
用PHP实现网页直接操作硬件串口用PHP实现网页直接操作硬件串口,网页通过串口控制硬件设备、发送指令,读取返回值。
读取ec,php值效果
实现方案:
1.网页端通过websocket与php后台服务交互
2.php后台接收指令操作串口,发送16进制指令给硬件设备
3.php后台将硬件设备返回值通过websocket,传递给网页端
4.网页端接收推送消息,显示在页面上。
怎么用php与串口进行通信1.通过php扩展dio。
下载dio扩展:
在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中如何去连接设备并发送指令我不知道你的设备接受参数的形式,我这里就先暂时传一个字符串吧
<form method="get">
<input name="1" type="submit" value="按钮1">
<input name="2" type="submit" value="按钮2">
<input name="3" type="submit" value="按钮3">
</form>
<?php
if(isset($_POST['1'])){
$param = '1';
$url = '地址1';
postMsg($url, $param);
}else if(isset($_POST['2'])){
$param = '2';
$url = '地址2';
postMsg($url, $param);
}else if(isset($_POST['3'])){
$param = '3';
$url = '地址3';
postMsg($url, $param);
}
//用php模拟向一个url发起一次http post请求
function postMsg($url, $params){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_exec($curl);
}
?>
关于Php发送串口指令的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于Php发送串口指令 php发送数据的详细内容...