में PHP सीरियल संचार मैंने फेडोरा 13. में xampp स्थापित किया है। मैं php सीरियल क्लास का उपयोग कर सीरियल पोर्ट के माध्यम से माइक्रोकंट्रोलर के साथ संवाद करने की कोशिश कर रहा हूं। मेरे कोड example.phpलिनक्स
include("php_serial.class.php");
$serial = new phpSerial();
$serial->deviceSet("0");
$serial->confBaudRate(9600); //Baud rate: 9600
$serial->confParity("none"); //Parity (this is the "N" in "8-N-1")
$serial->confCharacterLength(8); //Character length (this is the "8" in "8-N-1")
$serial->confStopBits(1); //Stop bits (this is the "1" in "8-N-1")
$serial->confFlowControl("none"); //Device does not support flow control of any kind, so set it to none.
//Now we "open" the serial port so we can write to it
$serial->deviceOpen();
$serial->sendMessage("*1"); //sleep(1); // echo "hi"; $serial->deviceClose();
?>
php स्क्रिप्ट के निष्पादित हो जाता है लेकिन निम्न चेतावनियों देता है।
चेतावनी: निर्दिष्ट सीरियल पोर्ट पर लाइन 147 चेतावनी /opt/lampp/htdocs/xampp/php_serial.class.php में मान्य नहीं है: बॉड दर निर्धारित करने में अक्षम: डिवाइस या तो सेट या में खोला नहीं है/लाइन 241 पर ऑप्ट/लैंप/htdocs/xampp/php_serial.class.php चेतावनी: समानता सेट करने में असमर्थ: डिवाइस या तो 2 9 5 पर /opt/lampp/htdocs/xampp/php_serial.class.php में सेट या खोला नहीं गया है
... मैंने आदेश दिया है: chmod 0777/dev/ttyUSB0 अनुमति देने के लिए। मैंने आदेश का उपयोग करके डायलआउट समूह में अपाचे उपयोगकर्ता "प्रधवी" जोड़ने का भी प्रयास किया है: $ usermod -a -G डायलआउट प्रध्वी
लेकिन यह काम नहीं करता है। जब मैं कमांड का उपयोग कर टर्मिनल से सीधे एक कमांड भेजता हूं: echo 1>/dev/ttyUSB0 यह काम करता है और '1' धारावाहिक बंदरगाह पर प्रेषित होता है। लेकिन PHP का उपयोग करके मुझे उपरोक्त चेतावनियां मिलती हैं।
मैंने उपयोगकर्ता के नाम की जांच करने के लिए "$ whoami" का उपयोग किया है और उस उपयोगकर्ता को "prudhvi" डायलआउट समूह में जोड़ा है। यह अभी भी काम नहीं करता है। कृपया मुझे लोगों की मदद करो।
क्या आप निश्चित हैं कि php ttyUSB0 तक पहुंच रहा है? यह डिफ़ॉल्ट रूप से ttyS0 का उपयोग करने का प्रयास कर सकता है। –