|
@@ -3,10 +3,103 @@
|
|
|
namespace App\Service;
|
|
|
|
|
|
|
|
|
-use App\Model\SysMenu;
|
|
|
+use App\Model\DeviceData;
|
|
|
|
|
|
class ClearDataService extends Service
|
|
|
{
|
|
|
+ /*
|
|
|
+ * 压力传感器数据
|
|
|
+ * [ "obj" => array:10 [
|
|
|
+ "applicationID" => "2" // 应用ID
|
|
|
+ "applicationName" => "cloud2" // 应用名称
|
|
|
+ "data" => "A3sAAA=="
|
|
|
+ "devEUI" => "24e124126c481114" // 设备EUI
|
|
|
+ "deviceName" => "设备二" // 设备名称
|
|
|
+ "fCnt" => 6 // 帧计数
|
|
|
+ "fPort" => 85 // 应用端口
|
|
|
+ "rxInfo" => array:1 [
|
|
|
+ 0 => array:8 [
|
|
|
+ "altitude" => 0 // 网关海拔
|
|
|
+ "latitude" => 0 // 网关经度
|
|
|
+ "longitude" => 0 // 网关纬度
|
|
|
+ "loRaSNR" => 13.2 // 信噪比
|
|
|
+ "mac" => "24e124fffef7887c" // 网关ID
|
|
|
+ "name" => "Local Gateway" // 网关名称
|
|
|
+ "rssi" => -24 // 信号强度 (dBm)
|
|
|
+ "time" => "2023-08-03T05:47:47.337673Z"
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ "time" => "2023-08-03T05:47:47.337673Z"
|
|
|
+ "txInfo" => array:4 [ // 节点信息
|
|
|
+ "adr" => true // 设备ADR状态
|
|
|
+ "codeRate" => "4/5" // 编码率
|
|
|
+ "dataRate" => array:3 [
|
|
|
+ "bandwidth" => 125 // 带宽
|
|
|
+ "modulation" => "LORA" // LORA调制
|
|
|
+ "spreadFactor" => 7 // 扩频因子
|
|
|
+ ]
|
|
|
+ "frequency" => 473300000 // 使用频率
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ "pressure" => 0
|
|
|
+ ]
|
|
|
+ *
|
|
|
+ *温度传感器数据
|
|
|
+ *
|
|
|
+ * ["obj" => array:10 [
|
|
|
+ "applicationID" => "1"
|
|
|
+ "applicationName" => "cloud"
|
|
|
+ "data" => "A2cAAQ=="
|
|
|
+ "devEUI" => "24e124126d054217"
|
|
|
+ "deviceName" => "设备一"
|
|
|
+ "fCnt" => 983
|
|
|
+ "fPort" => 85
|
|
|
+ "rxInfo" => array:1 [
|
|
|
+ 0 => array:8 [
|
|
|
+ "altitude" => 0
|
|
|
+ "latitude" => 0
|
|
|
+ "loRaSNR" => 13.5
|
|
|
+ "longitude" => 0
|
|
|
+ "mac" => "24e124fffef7887c"
|
|
|
+ "name" => "Local Gateway"
|
|
|
+ "rssi" => -31
|
|
|
+ "time" => "2023-08-02T09:50:44.880803Z"
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ "time" => "2023-08-02T09:50:44.880803Z"
|
|
|
+ "txInfo" => array:4 [
|
|
|
+ "adr" => true
|
|
|
+ "codeRate" => "4/5"
|
|
|
+ "dataRate" => array:3 [
|
|
|
+ "bandwidth" => 125
|
|
|
+ "modulation" => "LORA"
|
|
|
+ "spreadFactor" => 7
|
|
|
+ ]
|
|
|
+ "frequency" => 471900000
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ "temperature" => 25.6
|
|
|
+ ]
|
|
|
+ *
|
|
|
+ * */
|
|
|
+
|
|
|
+ public static function saveData($data){
|
|
|
+ //保存数据
|
|
|
+ $model = new DeviceData();
|
|
|
+ $model->data = json_encode($data);//源数据
|
|
|
+ $model->dev_eui = $data['obj']['devEUI'];
|
|
|
+ $model->device_name = $data['obj']['deviceName'];
|
|
|
+ $model->source_ip = self::getIP();
|
|
|
+ if(isset($data['temperature'])){
|
|
|
+ $model->data_type = 1;
|
|
|
+ $model->happening_data = $data['temperature'];
|
|
|
+ }elseif (isset($data['pressure'])){
|
|
|
+ $model->data_type = 2;
|
|
|
+ $model->happening_data = $data['pressure'];
|
|
|
+ }
|
|
|
+ $model->save();
|
|
|
+ }
|
|
|
+
|
|
|
public static function clearData($data){
|
|
|
if(empty($data)) return $data;
|
|
|
|
|
@@ -20,6 +113,25 @@ class ClearDataService extends Service
|
|
|
// 温度传感器数据包含temperature 字段 压力传感器包含pressure 字段
|
|
|
|
|
|
$url = 'http://fyy_api.qingyaokeji.com/api/testData';
|
|
|
+ $url = '';
|
|
|
return $url;
|
|
|
}
|
|
|
+
|
|
|
+ public static function getIP(){
|
|
|
+ if (getenv('HTTP_CLIENT_IP')) {
|
|
|
+ $ip = getenv('HTTP_CLIENT_IP');
|
|
|
+ }
|
|
|
+ elseif (getenv('HTTP_X_REAL_IP')) {
|
|
|
+ $ip = getenv('HTTP_X_REAL_IP');
|
|
|
+ } elseif (getenv('HTTP_X_FORWARDED_FOR')) {
|
|
|
+ $ip = getenv('HTTP_X_FORWARDED_FOR');
|
|
|
+ $ips = explode(',', $ip);
|
|
|
+ $ip = $ips[0];
|
|
|
+ } elseif (getenv('REMOTE_ADDR')) {
|
|
|
+ $ip = getenv('REMOTE_ADDR');
|
|
|
+ } else {
|
|
|
+ $ip = '0.0.0.0';
|
|
|
+ }
|
|
|
+ return $ip;
|
|
|
+ }
|
|
|
}
|