.
*
* 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".'
".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."