# AWRAMS 相关的服务器端处理文件 系统通过config.py 配置测量类型,awrams surface profiler 并得到配置文件 系统从网络获得数据存为文件后,依据获得的配置文件然后处理文件。 ## 实施流程 ### 服务器配置 python >3.8 numpy > 1.21.4 ### 标定文件 calfile/awrams 直接拷贝在这个目录下 ### 设备ID config.py 可以定义多个ID, 后面为每个id定义传感器的序列号 ```python DEVICE_ID = [ 2 ] ``` ### 设备配置文件 ```python 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 ```python 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 ```python 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 ### 处理数据 将数据储存在特定目录,调用处理该目录的函数处理