[英]PHP USB serial port call from Windows to Linux
我有一段简单的代码,适用于Windows - WAMP环境,例如
<?php
`mode com3: BAUD=38400 PARITY=N data=8 stop=1 xon=off`;
file_put_contents(com3, chr(1).chr(255).chr(1).chr(4).chr(64).chr(5));
?>
它通过USB电缆(使用USB串行驱动程序)连接到电路板以点亮某些LED,并且工作正常 - 因此类似于232Analyser的Windows软件可以连接到COM3并在DEC中发送代码,如1,255,255,255,255,5,以及点亮LED。 数字255是DEC编号:1,2,4,8,16,32,64,128,255,它将根据调用的数字点亮某个LED。
无论如何,上面的代码在Windows上工作正常,并通过调用此PHP文件点亮LED。 所以可以调用一个URL: http://localhost/lightled.php ,它可以正常工作。
现在我需要它通过Linux在Raspberry Pi上工作,所以我刚刚安装了标准的Raspberry Linux和Apache的PHP。
然后连接USB线,它显示为/ dev / ttyUSB0我有CHMOD 777 / dev / ttyUSB0
并将PHP代码更改为:
<?php
`mode /dev/ttyUSB0: BAUD=38400 PARITY=N data=8 stop=1 xon=off`;
file_put_contents('/dev/ttyUSB0', chr(1).chr(255).chr(1).chr(4).chr(64).chr(5));
?>
但是,在浏览器中在Linux上调用此文件并不像在Windows上那样点亮LED。
现在,当我调用此文件时,它没有错误,没有chmod 777,它给出了一个权限被拒绝错误。 所以看起来它可以通过,但其他错误。
所以问题是任何人都知道如何使它在Linux上工作,可能是我调用USB错误,或者Raspberry Linux需要某种驱动程序,或者“模式”需要以不同的方式定义...或者可能是小数/发送的二进制代码不正确,如“chr(2)”等需要不同,并且不会以相同的方式在LAMP设置上发送。
关于我可以尝试的任何想法?
谢谢。
`mode /dev/ttyUSB0: BAUD=38400 PARITY=N data=8 stop=1 xon=off`;
Linux中没有mode
命令。
最接近的等价物是stty
,但它不需要相同的命令行参数。 你需要进行一些翻译; 有关详细信息,请阅读stty
的手册页。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.