php_serial.class.php 源码地址:https://github.com/Jxzssy/PHP-Serial
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #981a1a;"><?</span><span style="box-sizing: border-box; color: #000000;">php</span> </span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">include</span> <span style="box-sizing: border-box; color: #aa1111;">"php_serial.class.php"</span>; </span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">// Let's start the class</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$serial</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #770088;">new</span> <span style="box-sizing: border-box; color: #000000;">phpSerial</span>;</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">// First we must specify the device. This works on both linux and windows (if</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">// your linux serial device is /dev/ttyS0 for COM1, etc)</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$serial</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">deviceSet</span>(<span style="box-sizing: border-box; color: #aa1111;">"/dev/ttyS1"</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">// We can change the baud rate, parity, length, stop bits, flow control</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$serial</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">confBaudRate</span>(<span style="box-sizing: border-box; color: #116644;">19200</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$serial</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">confParity</span>(<span style="box-sizing: border-box; color: #aa1111;">"none"</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$serial</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">confCharacterLength</span>(<span style="box-sizing: border-box; color: #116644;">8</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$serial</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">confStopBits</span>(<span style="box-sizing: border-box; color: #116644;">1</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$serial</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">confFlowControl</span>(<span style="box-sizing: border-box; color: #aa1111;">"none"</span>);</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">// Then we need to open it</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$serial</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">deviceOpen</span>(); </span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">// read from serial port</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$read</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #0055aa;">$serial</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">readPort</span>();</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">//Determine if a variable is set and is not NULL</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa5500;">// If you want to change the configuration, the device must be closed</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #0055aa;">$serial</span><span style="box-sizing: border-box; color: #981a1a;">-></span><span style="box-sizing: border-box; color: #000000;">deviceClose</span>();</span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #981a1a;">?></span> </span> |