包含服务器端 ,桌面端两个分支
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
esea_info d1d65c7580 Ramses 算法修正 ip 3 years ago
.vscode basis 3 years ago
calfile/awrams server 3 years ago
data/2022/8/17/51 Ramses 算法修正 ip 3 years ago
tools server 3 years ago
.gitignore /data/output/ ignored 3 years ago
README.md server 3 years ago
Ramses.py Ramses 算法修正 ip 3 years ago
app.py server 3 years ago
atest.py server 3 years ago
awrams.py Ramses 算法修正 ip 3 years ago
config.yml server 3 years ago
configuration.py server 3 years ago
icon.ico basis 3 years ago
myconfig.py server 3 years ago
readcal.py server 3 years ago
receive.py receive.py year month day 3 years ago
retrieve.yml server 3 years ago
tcp_awrams.py Ramses 算法修正 ip 3 years ago

README.md

AWRAMS 相关的服务器端处理文件

系统通过config.py 配置测量类型,awrams surface profiler 并得到配置文件 系统从网络获得数据存为文件后,依据获得的配置文件然后处理文件。

实施流程

服务器配置

python >3.8 numpy > 1.21.4

标定文件

calfile/awrams 直接拷贝在这个目录下

设备ID config.py

可以定义多个ID, 后面为每个id定义传感器的序列号

DEVICE_ID = [ 2 ]

设备配置文件

CURRENT_DIR =Path()
DATA_DIR = Path("data")
CAL_DIR = Path("calfile")
OUTPUT_DIR = Path("data","output")
YAML_FILE_NAME  = "config.yml"
FILE_MARK       = ['Spectrum','DATA']
BEGIN_WAVELENGTH = 350
END_WAVELENGTH = 950
SAVE_EXT_NAME = ".csv"
INTERVAL = 1.0
SEPARATOR = ";"
NEWLINE = "\n"

设置应用类型 config.py

class Device(Enum) :
    AWRAMS      = 1
    SURFACE     = 2
    PROFILE     = 3

[label](myserver.py)class RamsesFunc(Enum):
    Lsky        =   1
    Lwater      =   2
    Esky        =   3

class RamsesSURFACE(Enum):
    Lsky        =   1
    Lwater      =   2
    Esky        =   3

class RAMSESPROFILE(Enum):
    Lu      =   1   #upwelling
    Ed      =   2
    Esky    =   3

设置传感器序列号 config.py

依据系统类型,配置传感器的序列号。 传感器序列号见出厂设置的序列号 如果存在不同组,需要为不同组设置 传感器序列号 如下设置了两组AWRAMS ID: 2 and 3

class Config(object):

    def __init__(self) -> None:
        self.AWRAMS = {  # 每个ID对应一组
            "2" : {
                "1":{"SN":"85B5","FUNC":RamsesFunc.Lsky.name},
                "2":{"SN":"852F","FUNC":RamsesFunc.Lwater.name},
                "3":{"SN":"50ED","FUNC":RamsesFunc.Esky.name},
            },
            "3" : {
                "1":{"SN":"85B5","FUNC":RamsesFunc.Lsky.name},
                "2":{"SN":"852F","FUNC":RamsesFunc.Lwater.name},
                "3":{"SN":"50ED","FUNC":RamsesFunc.Esky.name},
            }
        }
        self.SURFACE = {
            "1":{"SN":"854D","FUNC":RamsesSURFACE.Lsky.name},
            "2":{"SN":"8536","FUNC":RamsesSURFACE.Lwater.name},
            "3":{"SN":"50D3","FUNC":RamsesSURFACE.Esky.name},
        }
        self.PROFILE = {
            "1":{"SN":"85B5","FUNC":RAMSESPROFILE.Lu.name},
            "2":{"SN":"859F","FUNC":RAMSESPROFILE.Ed.name},
            "3":{"SN":"852F","FUNC":RAMSESPROFILE.Esky.name},
        }

获得传感器的标定参数

将以上获得传感器配置,传递给configAWRAMS.py, 从标定文件获取正确的配置参数

数据文件夹

data目录 data目录依据设备类型进行分类

定义服务器设置

app.py 定义端口, 参数传给了myserver

处理数据

将数据储存在特定目录,调用处理该目录的函数处理