我是靠谱客的博主 繁荣饼干,这篇文章主要介绍CentOS Linux下使用PHP实现串口通信(serial),现在分享给大家,希望可以做个参考。

方法一:在Linux上安装minicom串口调试助手,将串口内容打印到文件,再到文件里面去取

yum install minicom -y

minicom -b 9600 -D /dev/ttyS0 -H -w -C /tmp/serial0 > /dev/null

另外一个窗口执行显示即可

tail -f /tmp/serial0

方法二:使用php_dio函数直接读写串口内容(支持windows)

安装PHP运行环境,到官网下载dio安装包并进行编译

下载地址  ​​​​​​http://pecl.php.net/package/dio

使用root用户登录Linux ,执行如下指令

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
​ tar -zxvf dio-0.2.0.tgz cd dio-0.2.0 phpize ./configure make make install ​

​​​​​​在php.ini中加入extension=dio

便可以使用PHP脚本进行串口通信啦

脚本下载地址:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php $fd = dio_open ( '/dev/ttyS0' , O_RDWR | O_NOCTTY | O_NONBLOCK ); //dio_fcntl ( $fd , F_SETFL , O_SYNC ); if ( dio_fcntl ( $fd , F_SETLK , Array( "type" => F_WRLCK )) == - 1 ) { // the file descriptor appears locked echo "The lock can not be cleared. It is held by someone else.n" ; } else { echo "Lock successfully set/clearedn" ; } dio_tcsetattr ( $fd , array( 'baud' => 9600 , 'bits' => 8 , 'stop' => 1 , 'parity' => 0 )); while ( 1 ) { $data = dio_read ( $fd , 9999 ); if ( $data ) { echo bin2hex($data)."n"; } usleep(300000); }

Windows下脚本如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php exec('mode com1: baud=9600 data=8 stop=1 parity=n xon=on'); // execute 'help mode' in command line of Windows for help $fd = dio_open('com1:', O_RDWR); while ( true ) { $data = dio_read ( $fd , 256 ); if ($data) { echo bin2hex($data)."n"; } //usleep(10000); }

最后

以上就是繁荣饼干最近收集整理的关于CentOS Linux下使用PHP实现串口通信(serial)的全部内容,更多相关CentOS内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部