[英]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.