. * * Version 0.1 * Author: Octavio Benedi Sanchez */ function get_xbee($port='S0',$guess_speed='3') { global $url_plugin; global $section; global $plugin; global $base_plugin; if (empty ($port)) { $port='S0'; } if (empty ($guess_speed)) { $guess_speed='3'; } $done=false; $xbee_configuration=Array(); for($speed=$guess_speed;$speed<8;$speed++) { if (!$done) { //echo $base_plugin."bin/get_xbee $port $speed 2>&1".'
'; exec('sudo '.$base_plugin."bin/get_xbee $port $speed 2>&1",$ret); if (count($ret)>2) { $done=true; $xbee_configuration['port']=$port; foreach($ret as $line) { if(($line[0]=='a')&&($line[1]=='t')) { $data=explode(":", $line); $xbee_configuration[$data[0]]=$data[1]; unset ($data); } } } //echo "
".print_r($ret,true)."
"; unset($ret); sleep(1); } } if (!$done) { for($speed='0';$speed<$guess_speed;$speed++) { if (!$done) { //echo $base_plugin."bin/get_xbee $port $speed 2>&1".'
'; exec('sudo '.$base_plugin."bin/get_xbee $port $speed 2>&1",$ret); if (count($ret)>2) { $done=true; $xbee_configuration['port']=$port; foreach($ret as $line) { if(($line[0]=='a')&&($line[1]=='t')) { $data=explode(":", $line); $xbee_configuration[$data[0]]=$data[1]; unset ($data); } } } //echo "
".print_r($ret,true)."
"; unset($ret); sleep(1); } } } return $xbee_configuration; } //$base_plugin='/home/octavio/www/manager-system-2.0/plugins/interfaces/zigbee/'; //echo "
".print_r(get_xbee($kk,$kk),true)."
"; function set_xbee($values) { global $url_plugin; global $section; global $plugin; global $base_plugin; $allowedports = array("S0", "S1", "USB0","USB1"); if(in_array($values['port'], $allowedports)) { if (is_numeric($values['atbd'])&&('0'<=$values['atbd'])&&($values['atbd']<='7')) { $save_orders='sudo '.$base_plugin.'bin/exec_xbee '.$values['port'].' '.$values['old_speed']; $fp=fopen($base_plugin.'data/xbee.conf','w'); fwrite($fp,"$value) { if (($key[0]=='a')&&($key[1]=='t')) { fwrite($fp,'$configuration["'.$key.'"]="'.$value."\";\n"); $save_orders.=' "'.$key.$value.'"'; } } fwrite($fp,"?>"); fclose($fp); $save_orders.=' "atwr" 2>&1'; exec($save_orders,$ret); //return $save_orders; foreach($ret as $linea) { $response.=$linea."
"; } //return $save_orders.'
'.$response.'
'; return '
'.$response.'
'; } } } function exec_xbee($values) { global $url_plugin; global $section; global $plugin; global $base_plugin; $allowedports = array("S0", "S1", "USB0","USB1"); if(in_array($values['port2'], $allowedports)) { if (is_numeric($values['speed'])&&('0'<=$values['speed'])&&($values['speed']<='7')) { $save_orders='sudo '.$base_plugin.'bin/exec_xbee '.$values['port2'].' '.$values['speed']; foreach ($values as $key=>$value) { if (($key[0]=='o')&&($key[1]=='w')&&($key[2]=='n')) { $save_orders.=' "'.$value.'"'; } } $save_orders.=' 2>&1'; exec($save_orders,$ret); foreach($ret as $linea) { $response.=$linea."
"; } //return $save_orders.'
'.$response.'
'; return '
'.$response.'
'; } } } ?>