# 获å–æ•°æ®
import sys
from LIB.BACKEND import DBManager
sn = "PK10001A326000123"
st = '2021-07-06 00:00:00'
et = '2021-07-07 20:00:00'
dbManager = DBManager.DBManager()
df_data = dbManager.get_data(sn=sn, start_time=st, end_time=et, data_groups=['bms', 'gps', 'accum', 'system'])
#
df_bms = df_data['bms']
df_gps = df_data['gps']
df_accum = df_data['accum']
df_system = df_data['system']
### start to get data PK10001A326000123 from 2021-07-06 00:00:00 to 2021-07-07 20:00:00 # get data from 2021-07-06 00:00:00 to 2021-07-07 00:00:00......... Server Error, retry 1...... # get data from 2021-07-07 00:00:00 to 2021-07-07 20:00:00......... all data-getting done, bms_count is 0, gps_count is 0, system_count is 0, accum_count is 0
# 下载数æ®
import sys
from LIB.BACKEND import Tools
tools = Tools.Tools()
write_path = r''
sn = "PK50001A100000680"
st = '2021-07-06 00:00:00'
et = '2021-07-07 20:00:00'
tools.data_download(write_path=write_path, sn=sn, start_time=st, end_time=et, data_groups=['bms'])
# æ•°æ®é¢„处ç†
import sys
from LIB.BACKEND import DataPreProcess
dataPrePro = DataPreProcess.DataPreProcess()
# 时间完全相åŒçš„æ•°æ®ä»…ä¿ç•™ä¸€è¡Œ
df_bms_pro, df_gps_pro = dataPrePro.time_filter(df_bms, df_gps)
# bmsæ•°æ®æŒ‰ç…§ç”µæµå’ŒçŠ¶æ€åˆ†æ®µ, 然åŽåœ¨çŠ¶æ€åˆ†æ®µå†…éƒ¨ï¼Œæ ¹æ®æ—¶é—´è·³å˜ç»§ç»åˆ†æ®µï¼ˆè§£å†³æ®µå†…æ•°æ®ä¸¢å¤±ï¼‰
df_bms_pro = dataPrePro.data_split_by_status(df_bms_pro)
df_bms_pro = dataPrePro.data_split_by_time(df_bms_pro)
# bmsæ•°æ®å°†ä¸¤æ¬¡å……电间的状æ€åˆå¹¶
df_bms_pro = dataPrePro.combine_drive_stand(df_bms_pro)
# bms æ•°æ®è®¡ç®—行车和充电开始å‰åŽçš„é™ç½®æ—¶é—´
df_bms_pro = dataPrePro.cal_stand_time(df_bms_pro)
# gps æ•°æ®å¯é 性判æ–, å¹¶å¢žåŠ é‡Œç¨‹å’Œé€Ÿåº¦è‡³gpsæ•°æ®(æ ¹æ®æœªåˆå¹¶çš„æ•°æ®æ®µåˆ¤æ–)
df_bms_pro, df_gps_pro, res_record= dataPrePro.gps_data_judge(df_bms_pro, df_gps_pro)
# gps æ•°æ®å¯é 性判æ–, å¹¶å¢žåŠ é‡Œç¨‹å’Œé€Ÿåº¦è‡³gpsæ•°æ®(æ ¹æ®å·²åˆå¹¶çš„æ•°æ®æ®µåˆ¤æ–)
df_bms_pro, df_gps_pro, res_record= dataPrePro.data_gps_judge_after_combine(df_bms_pro, df_gps_pro)
# å•cycleæŒ‡æ ‡ç»Ÿè®¡
import sys
from LIB.BACKEND import IndexStaByOneCycle
indexSta = IndexStaByOneCycle.IndexStaByOneCycle()
data_number_list = sorted(list(set(df_bms[(df_bms['data_status'].isin(['drive']))]['data_split_by_status'])))
for data_number in data_number_list[:]:
df_sel_bms = df_bms[df_bms['data_split_by_status'] == data_number]
df_sel_bms = df_sel_bms.reset_index(drop=True)
df_sel_gps = df_gps[(df_gps['时间戳']>df_sel_bms.loc[0,'时间戳']) & (df_gps['时间戳']<df_sel_bms.loc[len(df_sel_bms)-1,'时间戳'])]
df_sel_gps = df_sel_gps.reset_index(drop=True)
print(indexSta.odo_sta(np.array(df_sel_gps['odo'])))
print(indexSta.capacity_sta(40, np.array(df_sel_bms['SOC[%]']), np.array(df_sel_bms['SOH[%]'])))
print(indexSta.energy_sta(40, np.array(df_sel_bms['SOC[%]']), np.array(df_sel_bms['SOH[%]']),np.array(df_sel_bms['总电压[V]'])))
print(indexSta.acc_time_sta(np.array(df_sel_bms['时间戳'])))
print(indexSta.mean_temp_sta(np.array(df_sel_bms['å•ä½“温度1'])))
print(indexSta.temp_change_rate_sta(np.array(df_sel_bms['时间戳']), np.array(df_sel_bms['å•ä½“温度1'])))
print(indexSta.dischrg_max_pwr_sta(np.array(df_sel_bms['总电压[V]']), np.array(df_sel_bms['总电æµ[A]'])))
print(indexSta.chrg_max_pwr_sta(np.array(df_sel_bms['总电压[V]']), np.array(df_sel_bms['总电æµ[A]'])))
print(indexSta.speed_sta(indexSta.odo_sta(np.array(df_sel_gps['odo'])), indexSta.acc_time_sta(np.array(df_sel_gps['时间戳'])), np.array(df_sel_gps['speed'])))
break
# 生æˆpydoc 说明文档
!python -m pydoc -w LIB\BACKEND\DataPreProcess.py
problem in LIB\BACKEND\DataPreProcess.py - ModuleNotFoundError: No module named 'DBManager'