我有一段简单的代码适用于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。因此,可以调用类似:http://localhost/lightled.php的URL,这样可以正常工作。
现在我需要它通过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需要某种驱动程序,或者#34; `模式&#34;需要以不同的方式定义...或者发送的十进制/二进制代码可能不像&#34; chr(2)&#34;等等需要不同,不能在LAMP设置上以相同的方式发送。
关于我可以尝试的任何想法?
感谢。
答案 0 :(得分:1)
`mode /dev/ttyUSB0: BAUD=38400 PARITY=N data=8 stop=1 xon=off`;
Linux中没有mode
命令。
最接近的等价物是stty
,但它没有采用相同的命令行参数。你需要进行一些翻译;有关详细信息,请阅读stty
的手册页。