"; //$cmd = 'ping 127.0.0.1'; $ini=parse_ini_file("/home/data/Setting/DeviceSettings.ini",true); var_dump($ini); $numberofsensor=intval($ini['DEVICE INFO']['TotalSpectrometer']); $numberofFS=0; for($i=0;$i<$numberofsensor;$i++){ $tempsens=$ini['FS'.($i+1)]['Model']; if ($sensorType=$tempsens) { $numberofFS=$i+1; break; } if ($i=$numberofsensor-1) { echo "cannot find the sensor"; return; } } system("sudo pkill ocean_optics_calibration_console"); system("sudo gpio write 1 1"); $cmd=""; if ($position==1) { if($sensorType=="OSIFAlpha"||$sensorType=="OSIFBeta") { $cmd = 'sudo /home/pi/bin/ocean_optics_calibration_console --deviceType OceanOptics -t 30 -slfs ocean_optics.lmp --cfon FSN'.sensorType.$position.'.data --position '.$position; } else{ $port=$ini['FS'.$i+1]['Port']; getonestring($port,'/'); getonestring($port,'/'); $cmd = 'sudo /home/pi/bin/ocean_optics_calibration_console --deviceType OPTOSKY --serialPort '.$port.' -t 30 -slfs ocean_optics.lmp --cfon FSN'.sensorType.$position.'.data --position '.$position; } } else { if($sensorType=="OSIFAlpha"||$sensorType=="OSIFBeta") { $cmd = 'sudo /home/pi/bin/ocean_optics_calibration_console --deviceType OceanOptics -t 30 -slfs 4000nit.dat --cfon FSNsdfsd'.sensorType.$position.'.data --position '.$position; }else{ $port=$ini['FS'.$i+1]['Port']; getonestring($port,'/'); getonestring($port,'/'); $cmd = 'sudo /home/pi/bin/ocean_optics_calibration_console --deviceType OPTOSKY --serialPort '.$port.' -t 30 -slfs 4000nit.dat --cfon FSNsdfsd'.sensorType.$position.'.data --position '.$position; } } echo $cmd; while(@ ob_end_flush()); $proc = popen($cmd, 'r'); while(!feof($proc)){ echo fread($proc, 4096); @ flush(); } echo 'FINISH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! '; echo '回到首页'; function getonestring(&$bytes,$fenge) { $pattern = '{^.*?'.$fenge.'}'; $lenth=strlen($fenge); preg_match($pattern, $bytes, $aa, PREG_OFFSET_CAPTURE); $bytes = substr($bytes, strlen($aa[0][0])); $bb = substr($aa[0][0], 0, -$lenth); return $bb; }