request->post(); Log::info('采集消息发布'.json_encode($parmas)); if(!$parmas || !isset($parmas['username']) || $parmas['username']==''){ return $this->fail('参数错误'); } $payload= json_decode($parmas['payload'], true); $land = explode('_', $parmas['username']); // 命名规则:land_id id土地表主键id $device = explode('_', $parmas['topic']); // 命名规则:topic_deviceid deviceid为设备主键id $data = [ 'land_id' => $land[3], 'device_id'=>$device[1], 'qos'=>$parmas['qos'], 'wind_speed' => $payload['wind_speed'], 'wind_direction' => $payload['wind_direction'], 'ambient_temperature' => $payload['ambient_temperature'], 'ambient_humidity' => $payload['ambient_humidity'], 'carbon_dioxide' => $payload['carbon_dioxide'], 'ambient_air_pressure' => $payload['ambient_air_pressure'], 'rainfall' => $payload['rainfall'], 'ambient_lighting' => $payload['ambient_lighting'], 'soil_temperature' => $payload['soil_temperature'], 'soil_conductivity' => $payload['soil_conductivity'], 'soil_moisture' => $payload['soil_moisture'], 'soil_PH' => $payload['soil_PH'], 'soil_potassium_phosphate_nitrogen' => $payload['soil_potassium_phosphate_nitrogen'], 'soil_potassium_phosphate_phosphorus' => $payload['soil_potassium_phosphate_phosphorus'], 'soil_potassium_phosphate_potassium' => $payload['soil_potassium_phosphate_potassium'], 'client_id'=>$parmas['clientid'], 'create_time'=>date('Y-m-d H:i:s'), 'update_time'=>date('Y-m-d H:i:s'), ]; LandCollection::create($data); // 报警监测 $monitorThreshold = MonitorThreshold::find(); return $this->success('接收成功', ['user_name'=>$parmas['username'], 'topic'=>$parmas['topic']]); } catch (Exception $e) { return $this->fail($e->getMessage()); } } public function disabled() { $parmas = $this->request->post(); Log::info('连接断开事件'.json_encode($parmas)); } }