paginate(); $pages = $data_list->render(); $this->assign('data_list', $data_list); $this->assign('pages', $pages); //所有的服务类型 $SetType=[ 1=>"读取模块信息", 2=>"读取参数", 3=>"设置IOT平台IP地址", 4=>"设置参数", 5=>"复位模块", 6=>"配置下行波特率", 7=>"读取下行波特率配置", 8=>"设置DTU自动采集指令", 9=>"读取DTU自动采集指令", 10=>"设置APN", 11=>"读取APN设置", 12=>"AT指令", /* [1,"读取模块信息"],[2,"读取参数"],[3,"设置IOT平台IP地址"],[4,"设置参数"],[5,"复位模块"],[6,"配置下行波特率"], [7,"读取下行波特率配置"],[8,"设置DTU自动采集指令"],[9,"读取DTU自动采集指令"],[10,"设置APN"],[11,"读取APN设置"], [12,"AT指令"]*/ ]; $this->assign('SetType',$SetType); return $this->fetch(); } //下发命令 public function add(){ if ($this->request->isPost()) { $data=input(''); $list = array(); if (is_array($data)) { $list['data'] = json_encode($data, 320); $getdata = json_decode($list['data'], true);//转成数组 $list['type'] = 1; } else { $list['data'] = $data; $getdata = json_decode($list['data'], true);//转成数组 $list['type'] = 2; } $json_string = json_encode($getdata, JSON_FORCE_OBJECT); Log::record('rawData:' .$json_string ); $paras = array(); if(!empty($getdata["dataType"])){ if($getdata['dataType']=="setting"){ $sql6="select * from sp_owner where id ={$getdata['sensorId']}"; $longHuOwner = add($sql6); $deviceCode = ''; $deviceArr = str_split($longHuOwner[0]['owner_code'],1); for ($i=0;$iwhere('device_id', trim($longHuOwner[0]['owner_code']))->find(); $sendata=[ "appId"=>$this->appId, "deviceId"=>$device['iot_id'],// c448d5e3-2ec5-4e42-99d7-0ad27668614f 137effbe-4980-4719-a768-0ae301fc5000 "command"=>[ "serviceId"=>"topsailSensorData", "method"=>"SET_DEVICE_LEVEL", "paras"=>$paras ], "callbackUrl"=>"http://iot.usky.cn:80/ytapi/admin/Manage/status", ]; $header=[ "Content-Type:application/json", "app_key:".$this->appId, "Authorization:Bearer ".$token["accessToken"] ]; $rescurl=curl($this->host."iocm/app/cmd/v1.4.0/deviceCommands",json_encode($sendata),$header); // var_dump($rescurl); Log::record('nbmanage1:' .$rescurl[0].$sendata['command']['paras']['value'] ); if($rescurl[0]==201){//成功 $res1=json_decode($rescurl[1],true); // var_dump($res1); }else{//失败 // $res2=json_decode($res1[1],true); // return $this->error($rescurl[1]); Log::record('nbmanageerror:' .json_encode($this->error($rescurl[1]))); $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,请联系管理员"; return json_encode($returnInformation); } }else if($getdata['dataType']=="bendi"){ $deviceCode = ''; $deviceArr = str_split($getdata['IMEI'],1); for ($i=0;$i$this->appId, "deviceId"=>$getdata['deviceId'],// c448d5e3-2ec5-4e42-99d7-0ad27668614f 137effbe-4980-4719-a768-0ae301fc5000 "command"=>[ "serviceId"=>"topsailSensorData", "method"=>"SET_DEVICE_LEVEL", "paras"=>$paras ], "callbackUrl"=>"http://iot.usky.cn:80/ytapi/admin/Manage/status", ]; $header=[ "Content-Type:application/json", "app_key:".$this->appId, "Authorization:Bearer ".$token["accessToken"] ]; $rescurl=curl($this->host."iocm/app/cmd/v1.4.0/deviceCommands",json_encode($sendata),$header); var_dump($rescurl); Log::record('nbmanage1:' .$rescurl[0].$sendata['command']['paras']['value'] ); if($rescurl[0]==201){//成功 $res1=json_decode($rescurl[1],true); // var_dump($res1); }else{//失败 // $res2=json_decode($res1[1],true); return $this->error($rescurl[1]); } }else{ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,请联系管理员"; return json_encode($returnInformation); } }else{ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,请联系管理员"; return json_encode($returnInformation); } //将请求的结果存入managelog中 $list=array(); $list['commandId']=$res1['commandId']; $list['deviceId']=$res1['deviceId']; $list['status']=$res1['status']; $list['command']= json_encode($res1['command'],320) ; if($getdata['dataType']=="setting"){ $list['IMEI']=$longHuOwner[0]['owner_code']; }else{ $list['IMEI']=$getdata['IMEI']; } $list['HexStr']=""; $list['settype']=""; $list['addtime']= date('Y-m-d H:i:s'); $res = Db::name('managelog')->insertGetId($list);//将推送的数据存入总表 if($res) { $returnInformation['code'] = 200; $returnInformation['msg'] = "操作成功"; if($getdata['dataType']=="setting"){ return json_encode($returnInformation); }else{ return $this->success('添加成功','index'); } }else{ $returnInformation['code'] = 60001; $returnInformation['msg'] = "操作失败,请联系管理员"; if($getdata['dataType']=="setting"){ return json_encode($returnInformation); }else{ return $this->error("添加失败,请稍后再试"); } } } if($this->request->isGet()){ $deviceId=input('deviceId'); $IMEI=input('IMEI'); //所有的服务类型 $SetType=[ [1,"读取模块信息"],[2,"读取参数"],[3,"设置IOT平台IP地址"],[4,"设置参数"],[5,"复位模块"],[6,"配置下行波特率"], [7,"读取下行波特率配置"],[8,"设置DTU自动采集指令"],[9,"读取DTU自动采集指令"],[10,"设置APN"],[11,"读取APN设置"], [12,"AT指令"] ]; $this->assign('SetType',$SetType); $this->assign('deviceId',$deviceId); $this->assign('IMEI', $IMEI); return $this->fetch(); } } public function status(){ $data=input(''); if(is_array($data)){ $getdata= json_encode($data,320); $getdata=json_decode($getdata,true);//转成数组 $list['type']=1; }else{ $getdata=$data; $getdata=json_decode($getdata,true);//转成数组 $list['type']=2; } $list=array(); $list['deviceId']=$getdata['deviceId']; $list['commandId']=$getdata['commandId']; $list['resultCode']=$getdata['result']['resultCode']; $list['result']= json_encode($getdata['result'],320) ; $list['addtime']= date('Y-m-d H:i:s'); $res = Db::name('managedata')->insertGetId($list);//将推送的数据存入总表 echo 111; } public function delete(){ echo 111; } }