function openSerialPort() { if ($_SESSION['APF_OPEN_COM'] != "Y") { $_SESSION['APF_OPEN_COM'] = "Y"; ser_open("COM12", 9600, 8, "None", 1, "None"); $str = ser_isopen(); ser_setDTR(True); } }
<?php $str = ser_version(); echo "Version: {$str}"; ser_open("COM5", 9600, 8, "None", "1", "None"); if (ser_isopen()) { echo "Port is open!"; } ser_setDTR(True); ser_write("AT+CMGF=1\r\n"); sleep(1); // wait a while $str = ser_read(); echo $str; ser_write("AT+CMGL=\"ALL\"\r\n"); sleep(2); // wait a while, if list is long we must wait longer $str = ser_read(); echo $str;
<?php //change this $MONARD_SERVER_URL = 'http://10.0.0.9/monard.php'; //need to set the comport number properly. //change this too ser_open("\\\\.\\COM20", 9600, 8, "None", "1", "None"); //open the serial port ser_setDTR(false); ser_setRTS(false); if (ser_isopen()) { //while(ser_inputcount() <= 0) {sleep(1);echo('-');} sleep(10); //let the hardware initialize first. $ch = curl_init(); while (1) { // get the data from MonArd server curl_setopt($ch, CURLOPT_URL, $MONARD_SERVER_URL); //warning: don't use so many clients at a time with keepalives on curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Keep-Alive', 'Keep-Alive: 300')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); ser_write(trim($res)); echo $res; sleep(3); } curl_close($ch); //everything else below just used for debugging. sleep(10); echo ser_inputcount() . " -<br>"; while (ser_inputcount() > 0) {