修正了app.py启动相关错误
This commit is contained in:
parent
9268a274d6
commit
99b3ea6158
2
.gitignore
vendored
2
.gitignore
vendored
@ -10018,3 +10018,5 @@ node_modules/date-fns/subMonths/package.json
|
||||
node_modules/date-fns/subQuarters/index.d.ts
|
||||
node_modules/date-fns/subQuarters/index.js
|
||||
node_modules/date-fns/subQuarters/index.js.flow
|
||||
Log/OrbbecSDK.log.txt
|
||||
Log/OrbbecSDK.log.txt
|
||||
|
366776
Log/OrbbecSDK.log.txt
366776
Log/OrbbecSDK.log.txt
File diff suppressed because it is too large
Load Diff
@ -1,20 +1,440 @@
|
||||
[08/06 16:05:29.947597][debug][29212][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/06 16:05:29.947770][debug][29212][Context.cpp:49] Config file version=1.1
|
||||
[08/06 16:05:29.947818][debug][29212][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/06 16:05:29.947857][info][29212][Context.cpp:68] Context created with config: default config!
|
||||
[08/06 16:05:29.948048][info][29212][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/06 16:05:29.948256][debug][29212][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/06 16:05:29.948529][info][29212][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/06 16:05:29.948659][debug][29212][MfPal.cpp:110] WmfPal init ...
|
||||
[08/06 16:05:29.984405][debug][29212][MfPal.cpp:117] WmfPal created!
|
||||
[08/06 16:05:29.984501][debug][29212][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/06 16:05:30.020645][debug][29212][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/06 16:05:30.021037][debug][29212][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/06 16:05:30.021274][debug][29212][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/06 16:05:30.021308][info][29212][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/06 16:05:30.021507][debug][29212][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/06 16:05:30.021539][debug][29212][Context.cpp:81] Context destroying ...
|
||||
[08/06 16:05:30.021552][debug][29212][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/06 16:05:30.021562][debug][29212][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/06 16:05:30.030937][debug][29212][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/06 16:05:30.031392][info][29212][Context.cpp:84] Context destroyed
|
||||
[08/13 14:27:29.316369][debug][7144][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:27:29.316475][debug][7144][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:27:29.316514][debug][7144][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:27:29.316541][info][7144][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:27:29.316670][info][7144][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:27:29.316811][debug][7144][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:27:29.317023][info][7144][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:27:29.317112][debug][7144][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:27:29.343235][debug][7144][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:27:29.343270][debug][7144][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:27:29.371287][debug][7144][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:27:29.371526][debug][7144][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:27:29.371781][debug][7144][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:27:29.371806][info][7144][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:27:29.371935][debug][7144][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:27:29.371962][debug][7144][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:27:29.371975][debug][7144][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:27:29.371987][debug][7144][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:27:29.374600][debug][7144][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:27:29.374873][info][7144][Context.cpp:84] Context destroyed
|
||||
[08/13 14:36:37.869763][debug][25952][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:36:37.869877][debug][25952][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:36:37.869906][debug][25952][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:36:37.869925][info][25952][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:36:37.870123][info][25952][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:36:37.870307][debug][25952][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:36:37.870321][info][25952][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:36:37.870443][debug][25952][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:36:37.898070][debug][25952][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:36:37.898114][debug][25952][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:36:37.925404][debug][25952][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:36:37.925753][debug][25952][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:36:37.926029][debug][25952][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:36:37.926063][info][25952][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:36:37.926269][debug][25952][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:36:37.926294][debug][25952][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:36:37.926304][debug][25952][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:36:37.926314][debug][25952][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:36:37.928899][debug][25952][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:36:37.929217][info][25952][Context.cpp:84] Context destroyed
|
||||
[08/13 14:37:49.273206][debug][21940][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:37:49.273296][debug][21940][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:37:49.273323][debug][21940][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:37:49.273339][info][21940][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:37:49.273476][info][21940][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:37:49.273649][debug][21940][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:37:49.273666][info][21940][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:37:49.273862][debug][21940][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:37:49.300693][debug][21940][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:37:49.300743][debug][21940][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:37:49.326569][debug][21940][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:37:49.326889][debug][21940][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:37:49.327198][debug][21940][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:37:49.327231][info][21940][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:37:49.327462][debug][21940][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:37:49.327485][debug][21940][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:37:49.327496][debug][21940][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:37:49.327505][debug][21940][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:37:49.330168][debug][21940][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:37:49.330472][info][21940][Context.cpp:84] Context destroyed
|
||||
[08/13 14:41:42.261641][debug][30308][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:41:42.261696][debug][30308][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:41:42.261712][debug][30308][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:41:42.261726][info][30308][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:41:42.261802][info][30308][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:41:42.261961][debug][30308][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:41:42.261976][info][30308][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:41:42.262113][debug][30308][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:41:42.289045][debug][30308][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:41:42.289078][debug][30308][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:41:42.314604][debug][30308][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:41:42.314942][debug][30308][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:41:42.315085][debug][30308][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:41:42.315104][info][30308][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:41:42.315463][debug][30308][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:41:42.315478][debug][30308][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:41:42.315486][debug][30308][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:41:42.315494][debug][30308][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:41:42.463906][debug][30308][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:41:42.464626][info][30308][Context.cpp:84] Context destroyed
|
||||
[08/13 14:41:59.984275][debug][10764][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:41:59.984369][debug][10764][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:41:59.984396][debug][10764][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:41:59.984414][info][10764][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:41:59.984503][info][10764][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:41:59.984632][debug][10764][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:41:59.984647][info][10764][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:41:59.984725][debug][10764][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:42:00.012686][debug][10764][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:42:00.012724][debug][10764][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:42:00.041403][debug][10764][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:42:00.041664][debug][10764][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:42:00.041849][debug][10764][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:42:00.041882][info][10764][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:42:00.042008][debug][10764][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:42:00.042029][debug][10764][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:42:00.042040][debug][10764][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:42:00.042049][debug][10764][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:42:00.192739][debug][10764][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:42:00.193609][info][10764][Context.cpp:84] Context destroyed
|
||||
[08/13 14:43:26.644864][debug][16552][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:43:26.644920][debug][16552][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:43:26.644937][debug][16552][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:43:26.644951][info][16552][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:43:26.645094][info][16552][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:43:26.645244][debug][16552][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:43:26.645256][info][16552][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:43:26.645355][debug][16552][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:43:26.674214][debug][16552][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:43:26.674249][debug][16552][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:43:26.705043][debug][16552][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:43:26.705366][debug][16552][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:43:26.705591][debug][16552][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:43:26.705618][info][16552][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:43:26.705796][debug][16552][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:43:26.705814][debug][16552][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:43:26.705825][debug][16552][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:43:26.705835][debug][16552][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:43:26.847152][debug][16552][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:43:26.847638][info][16552][Context.cpp:84] Context destroyed
|
||||
[08/13 14:43:34.491937][debug][29464][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:43:34.492052][debug][29464][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:43:34.492084][debug][29464][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:43:34.492105][info][29464][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:43:34.492264][info][29464][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:43:34.492425][debug][29464][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:43:34.492439][info][29464][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:43:34.492595][debug][29464][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:43:34.523862][debug][29464][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:43:34.523908][debug][29464][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:43:34.558458][debug][29464][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:43:34.558702][debug][29464][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:43:34.558868][debug][29464][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:43:34.558898][info][29464][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:43:34.559045][debug][29464][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:43:34.559131][debug][29464][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:43:34.559148][debug][29464][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:43:34.559158][debug][29464][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:43:34.705299][debug][29464][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:43:34.706831][info][29464][Context.cpp:84] Context destroyed
|
||||
[08/13 14:45:49.763055][debug][35516][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:45:49.763107][debug][35516][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:45:49.763123][debug][35516][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:45:49.763137][info][35516][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:45:49.763228][info][35516][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:45:49.763352][debug][35516][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:45:49.763363][info][35516][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:45:49.763440][debug][35516][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:45:49.790306][debug][35516][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:45:49.790361][debug][35516][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:45:49.814447][debug][35516][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:45:49.814705][debug][35516][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:45:49.814979][debug][35516][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:45:49.815001][info][35516][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:45:49.815156][debug][35516][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:45:49.815170][debug][35516][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:45:49.815178][debug][35516][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:45:49.815187][debug][35516][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:45:49.817740][debug][35516][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:45:49.817975][info][35516][Context.cpp:84] Context destroyed
|
||||
[08/13 14:45:56.731392][debug][23340][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:45:56.731536][debug][23340][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:45:56.731565][debug][23340][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:45:56.731584][info][23340][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:45:56.731719][info][23340][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:45:56.731906][debug][23340][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:45:56.731919][info][23340][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:45:56.731993][debug][23340][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:45:56.759288][debug][23340][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:45:56.759346][debug][23340][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:45:56.788726][debug][23340][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:45:56.789125][debug][23340][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:45:56.789318][debug][23340][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:45:56.789361][info][23340][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:45:56.789521][debug][23340][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:45:56.789543][debug][23340][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:45:56.789554][debug][23340][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:45:56.789562][debug][23340][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:45:56.928705][debug][23340][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:45:56.929500][info][23340][Context.cpp:84] Context destroyed
|
||||
[08/13 14:48:56.523017][debug][28892][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:48:56.523076][debug][28892][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:48:56.523093][debug][28892][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:48:56.523106][info][28892][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:48:56.523199][info][28892][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:48:56.523318][debug][28892][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:48:56.523328][info][28892][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:48:56.523399][debug][28892][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:48:56.548730][debug][28892][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:48:56.548760][debug][28892][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:48:56.577293][debug][28892][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:48:56.577605][debug][28892][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:48:56.577813][debug][28892][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:48:56.577839][info][28892][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:48:56.578016][debug][28892][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:48:56.578039][debug][28892][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:48:56.578053][debug][28892][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:48:56.578067][debug][28892][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:48:56.580988][debug][28892][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:48:56.581562][info][28892][Context.cpp:84] Context destroyed
|
||||
[08/13 14:49:01.238723][debug][13816][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:49:01.238816][debug][13816][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:49:01.238844][debug][13816][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:49:01.238862][info][13816][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:49:01.239005][info][13816][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:49:01.239166][debug][13816][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:49:01.239177][info][13816][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:49:01.239386][debug][13816][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:49:01.266183][debug][13816][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:49:01.266223][debug][13816][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:49:01.294013][debug][13816][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:49:01.294318][debug][13816][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:49:01.294546][debug][13816][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:49:01.294581][info][13816][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:49:01.294731][debug][13816][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:49:01.294755][debug][13816][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:49:01.294766][debug][13816][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:49:01.294776][debug][13816][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:49:01.297120][debug][13816][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:49:01.297358][info][13816][Context.cpp:84] Context destroyed
|
||||
[08/13 14:59:16.504070][debug][13268][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 14:59:16.504198][debug][13268][Context.cpp:49] Config file version=1.1
|
||||
[08/13 14:59:16.504236][debug][13268][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 14:59:16.504263][info][13268][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 14:59:16.504426][info][13268][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 14:59:16.504723][debug][13268][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 14:59:16.504735][info][13268][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 14:59:16.504874][debug][13268][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 14:59:16.531701][debug][13268][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 14:59:16.531754][debug][13268][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 14:59:16.558750][debug][13268][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 14:59:16.558996][debug][13268][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 14:59:16.559168][debug][13268][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 14:59:16.559199][info][13268][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 14:59:16.559318][debug][13268][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 14:59:16.559339][debug][13268][Context.cpp:81] Context destroying ...
|
||||
[08/13 14:59:16.559350][debug][13268][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 14:59:16.559359][debug][13268][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 14:59:16.561338][debug][13268][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 14:59:16.561603][info][13268][Context.cpp:84] Context destroyed
|
||||
[08/13 15:00:11.217453][debug][7080][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 15:00:11.217538][debug][7080][Context.cpp:49] Config file version=1.1
|
||||
[08/13 15:00:11.217563][debug][7080][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 15:00:11.217579][info][7080][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 15:00:11.217706][info][7080][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 15:00:11.217857][debug][7080][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 15:00:11.217867][info][7080][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 15:00:11.218109][debug][7080][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 15:00:11.244544][debug][7080][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 15:00:11.244577][debug][7080][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 15:00:11.271647][debug][7080][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 15:00:11.271887][debug][7080][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 15:00:11.272078][debug][7080][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 15:00:11.272111][info][7080][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 15:00:11.272275][debug][7080][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 15:00:11.272298][debug][7080][Context.cpp:81] Context destroying ...
|
||||
[08/13 15:00:11.272309][debug][7080][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 15:00:11.272319][debug][7080][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 15:00:11.407372][debug][7080][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 15:00:11.407934][info][7080][Context.cpp:84] Context destroyed
|
||||
[08/13 15:03:12.907291][debug][27056][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 15:03:12.907351][debug][27056][Context.cpp:49] Config file version=1.1
|
||||
[08/13 15:03:12.907369][debug][27056][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 15:03:12.907384][info][27056][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 15:03:12.907487][info][27056][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 15:03:12.907640][debug][27056][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 15:03:12.907651][info][27056][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 15:03:12.907746][debug][27056][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 15:03:12.934071][debug][27056][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 15:03:12.934144][debug][27056][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 15:03:12.962610][debug][27056][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 15:03:12.962822][debug][27056][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 15:03:12.963002][debug][27056][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 15:03:12.963026][info][27056][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 15:03:12.963163][debug][27056][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 15:03:12.963186][debug][27056][Context.cpp:81] Context destroying ...
|
||||
[08/13 15:03:12.963201][debug][27056][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 15:03:12.963215][debug][27056][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 15:03:13.111556][debug][27056][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 15:03:13.112429][info][27056][Context.cpp:84] Context destroyed
|
||||
[08/13 15:03:35.494541][debug][18708][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 15:03:35.494643][debug][18708][Context.cpp:49] Config file version=1.1
|
||||
[08/13 15:03:35.494672][debug][18708][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 15:03:35.494690][info][18708][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 15:03:35.494798][info][18708][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 15:03:35.494919][debug][18708][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 15:03:35.494930][info][18708][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 15:03:35.495019][debug][18708][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 15:03:35.521562][debug][18708][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 15:03:35.521598][debug][18708][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 15:03:35.546840][debug][18708][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 15:03:35.547158][debug][18708][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 15:03:35.547378][debug][18708][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 15:03:35.547400][info][18708][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 15:03:35.547540][debug][18708][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 15:03:35.547561][debug][18708][Context.cpp:81] Context destroying ...
|
||||
[08/13 15:03:35.547572][debug][18708][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 15:03:35.547597][debug][18708][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 15:03:35.686682][debug][18708][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 15:03:35.687608][info][18708][Context.cpp:84] Context destroyed
|
||||
[08/13 15:04:06.640772][debug][27600][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 15:04:06.640837][debug][27600][Context.cpp:49] Config file version=1.1
|
||||
[08/13 15:04:06.640854][debug][27600][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 15:04:06.640868][info][27600][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 15:04:06.640957][info][27600][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 15:04:06.641094][debug][27600][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 15:04:06.641104][info][27600][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 15:04:06.641181][debug][27600][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 15:04:06.665165][debug][27600][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 15:04:06.665223][debug][27600][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 15:04:06.691241][debug][27600][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 15:04:06.691463][debug][27600][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 15:04:06.691628][debug][27600][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 15:04:06.691648][info][27600][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 15:04:06.691846][debug][27600][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 15:04:06.691865][debug][27600][Context.cpp:81] Context destroying ...
|
||||
[08/13 15:04:06.691874][debug][27600][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 15:04:06.691882][debug][27600][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 15:04:06.694066][debug][27600][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 15:04:06.694286][info][27600][Context.cpp:84] Context destroyed
|
||||
[08/13 15:31:51.724924][debug][22544][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 15:31:51.725011][debug][22544][Context.cpp:49] Config file version=1.1
|
||||
[08/13 15:31:51.725036][debug][22544][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 15:31:51.725053][info][22544][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 15:31:51.725163][info][22544][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 15:31:51.725313][debug][22544][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 15:31:51.725324][info][22544][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 15:31:51.725445][debug][22544][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 15:31:51.752139][debug][22544][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 15:31:51.752206][debug][22544][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 15:31:51.779713][debug][22544][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 15:31:51.779964][debug][22544][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 15:31:51.780103][debug][22544][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 15:31:51.780129][info][22544][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 15:31:51.780248][debug][22544][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 15:31:51.780270][debug][22544][Context.cpp:81] Context destroying ...
|
||||
[08/13 15:31:51.780282][debug][22544][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 15:31:51.780290][debug][22544][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 15:31:51.921962][debug][22544][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 15:31:51.923521][info][22544][Context.cpp:84] Context destroyed
|
||||
[08/13 15:44:48.555062][debug][19212][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 15:44:48.555119][debug][19212][Context.cpp:49] Config file version=1.1
|
||||
[08/13 15:44:48.555138][debug][19212][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 15:44:48.555152][info][19212][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 15:44:48.555234][info][19212][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 15:44:48.555346][debug][19212][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 15:44:48.555356][info][19212][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 15:44:48.555422][debug][19212][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 15:44:48.581611][debug][19212][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 15:44:48.581645][debug][19212][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 15:44:48.607421][debug][19212][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 15:44:48.607807][debug][19212][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 15:44:48.608093][debug][19212][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 15:44:48.608115][info][19212][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 15:44:48.608260][debug][19212][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 15:44:48.608277][debug][19212][Context.cpp:81] Context destroying ...
|
||||
[08/13 15:44:48.608285][debug][19212][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 15:44:48.608293][debug][19212][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 15:44:48.745856][debug][19212][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 15:44:48.747096][info][19212][Context.cpp:84] Context destroyed
|
||||
[08/13 15:44:54.555327][debug][23216][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 15:44:54.555441][debug][23216][Context.cpp:49] Config file version=1.1
|
||||
[08/13 15:44:54.555485][debug][23216][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 15:44:54.555503][info][23216][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 15:44:54.555642][info][23216][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 15:44:54.555823][debug][23216][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 15:44:54.555850][info][23216][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 15:44:54.556002][debug][23216][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 15:44:54.585912][debug][23216][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 15:44:54.585951][debug][23216][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 15:44:54.612393][debug][23216][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 15:44:54.612669][debug][23216][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 15:44:54.612836][debug][23216][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 15:44:54.612869][info][23216][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 15:44:54.613004][debug][23216][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 15:44:54.613032][debug][23216][Context.cpp:81] Context destroying ...
|
||||
[08/13 15:44:54.613046][debug][23216][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 15:44:54.613059][debug][23216][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 15:44:54.746690][debug][23216][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 15:44:54.747275][info][23216][Context.cpp:84] Context destroyed
|
||||
[08/13 15:48:00.736201][debug][2084][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 15:48:00.736262][debug][2084][Context.cpp:49] Config file version=1.1
|
||||
[08/13 15:48:00.736280][debug][2084][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 15:48:00.736296][info][2084][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 15:48:00.736403][info][2084][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 15:48:00.736556][debug][2084][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 15:48:00.736567][info][2084][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 15:48:00.736667][debug][2084][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 15:48:02.068071][debug][2084][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 15:48:02.068102][debug][2084][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 15:48:03.404539][debug][2084][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 15:48:03.404707][debug][2084][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 15:48:03.404857][debug][2084][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 15:48:03.404878][info][2084][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 15:48:03.405001][debug][2084][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 15:48:03.405017][debug][2084][Context.cpp:81] Context destroying ...
|
||||
[08/13 15:48:03.405028][debug][2084][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 15:48:03.405037][debug][2084][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 15:48:03.540518][debug][2084][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 15:48:03.541452][info][2084][Context.cpp:84] Context destroyed
|
||||
[08/13 15:48:06.995088][debug][19440][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 15:48:06.995201][debug][19440][Context.cpp:49] Config file version=1.1
|
||||
[08/13 15:48:06.995232][debug][19440][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 15:48:06.995252][info][19440][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 15:48:06.995418][info][19440][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 15:48:06.995571][debug][19440][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 15:48:06.995585][info][19440][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 15:48:06.995728][debug][19440][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 15:48:08.330063][debug][19440][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 15:48:08.330101][debug][19440][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 15:48:09.631039][debug][19440][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 15:48:09.631268][debug][19440][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 15:48:09.631413][debug][19440][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 15:48:09.631446][info][19440][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 15:48:09.631576][debug][19440][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 15:48:09.631600][debug][19440][Context.cpp:81] Context destroying ...
|
||||
[08/13 15:48:09.631612][debug][19440][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 15:48:09.631621][debug][19440][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 15:48:09.764361][debug][19440][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 15:48:09.765235][info][19440][Context.cpp:84] Context destroyed
|
||||
[08/13 15:48:41.040272][debug][33028][Context.cpp:30] Context creating, work_dir=D:\Trae_space\BodyBalanceEvaluation\backend
|
||||
[08/13 15:48:41.040448][debug][33028][Context.cpp:49] Config file version=1.1
|
||||
[08/13 15:48:41.040498][debug][33028][FrameBufferManager.cpp:23] Max global frame buffer size updated! size=2048.000MB
|
||||
[08/13 15:48:41.040535][info][33028][Context.cpp:68] Context created with config: default config!
|
||||
[08/13 15:48:41.040740][info][33028][Context.cpp:73] Work directory=D:\Trae_space\BodyBalanceEvaluation\backend, SDK version=v1.10.11-20240724-aeaa107e5
|
||||
[08/13 15:48:41.041096][debug][33028][DeviceManager.cpp:30] DeviceManager init ...
|
||||
[08/13 15:48:41.041115][info][33028][MfPal.cpp:105] createObPal: create WinPal!
|
||||
[08/13 15:48:41.041278][debug][33028][MfPal.cpp:110] WmfPal init ...
|
||||
[08/13 15:48:41.086748][debug][33028][MfPal.cpp:117] WmfPal created!
|
||||
[08/13 15:48:41.086797][debug][33028][DeviceManager.cpp:34] Enable USB Device Enumerator ...
|
||||
[08/13 15:48:41.127243][debug][33028][EnumeratorLibusb.cpp:321] queryDevicesInfo done!
|
||||
[08/13 15:48:41.127557][debug][33028][MfPal.cpp:216] Create WinEventDeviceWatcher!
|
||||
[08/13 15:48:41.127750][debug][33028][UsbDeviceEnumerator.cpp:78] No matched usb device found!
|
||||
[08/13 15:48:41.127781][info][33028][DeviceManager.cpp:15] Current found device(s): (0)
|
||||
[08/13 15:48:41.127939][debug][33028][DeviceManager.cpp:52] DeviceManager construct done!
|
||||
[08/13 15:48:41.127965][debug][33028][Context.cpp:81] Context destroying ...
|
||||
[08/13 15:48:41.127982][debug][33028][DeviceManager.cpp:56] DeviceManager destroy ...
|
||||
[08/13 15:48:41.127997][debug][33028][DeviceManager.cpp:64] DeviceManager Destructors done
|
||||
[08/13 15:48:41.269764][debug][33028][MfPal.cpp:128] WmfPal destroyed!
|
||||
[08/13 15:48:41.270601][info][33028][Context.cpp:84] Context destroyed
|
||||
|
246
backend/app.py
246
backend/app.py
@ -66,8 +66,14 @@ try:
|
||||
logger=False,
|
||||
engineio_logger=False,
|
||||
ping_timeout=60,
|
||||
ping_interval=25
|
||||
ping_interval=25,
|
||||
manage_session=False,
|
||||
always_connect=False,
|
||||
transports=['polling', 'websocket'], # 优先使用polling
|
||||
allow_upgrades=True, # 允许升级到websocket
|
||||
cookie=None # 禁用cookie
|
||||
)
|
||||
|
||||
logger.info('SocketIO初始化成功')
|
||||
except Exception as e:
|
||||
logger.error(f'SocketIO初始化失败: {e}')
|
||||
@ -91,7 +97,7 @@ if getattr(sys, 'frozen', False):
|
||||
config_path = os.path.join(os.path.dirname(sys.executable), 'config.ini')
|
||||
else:
|
||||
# 如果是开发环境,配置文件在上级目录
|
||||
config_path = os.path.join(os.path.dirname(__file__), '..', 'config.ini')
|
||||
config_path = os.path.join(os.path.dirname(__file__), 'config.ini')
|
||||
|
||||
config.read(config_path, encoding='utf-8')
|
||||
device_index = config.get('CAMERA', 'device_index', fallback=None)
|
||||
@ -152,16 +158,38 @@ def init_app():
|
||||
db_manager = DatabaseManager(db_path)
|
||||
db_manager.init_database()
|
||||
|
||||
# 初始化设备管理器
|
||||
# 初始化设备管理器(不自动初始化设备)
|
||||
device_manager = DeviceManager(db_manager)
|
||||
if socketio is not None:
|
||||
logger.info('SocketIO已启用')
|
||||
device_manager.set_socketio(socketio) # 设置WebSocket连接
|
||||
# 初始化视频流管理器
|
||||
video_stream_manager = VideoStreamManager(socketio, device_manager)
|
||||
else:
|
||||
logger.info('SocketIO未启用,跳过WebSocket相关初始化')
|
||||
video_stream_manager = None
|
||||
|
||||
# 可选:在后台线程中初始化设备,避免阻塞应用启动
|
||||
def init_devices_async():
|
||||
try:
|
||||
|
||||
device_manager._init_devices()
|
||||
logger.info('后台设备初始化完成')
|
||||
except Exception as e:
|
||||
logger.error(f'后台设备初始化失败: {e}')
|
||||
|
||||
# 启动后台设备初始化线程
|
||||
device_init_thread = threading.Thread(target=init_devices_async, daemon=True)
|
||||
device_init_thread.start()
|
||||
socketio.run(
|
||||
app,
|
||||
host='0.0.0.0', # 允许所有IP访问
|
||||
port=5000,
|
||||
debug=True,
|
||||
use_reloader=False, # 禁用热重载以避免FemtoBolt设备资源冲突
|
||||
log_output=True, # 输出详细日志
|
||||
allow_unsafe_werkzeug=True
|
||||
)
|
||||
logger.info('应用初始化完成')
|
||||
|
||||
except Exception as e:
|
||||
@ -173,13 +201,18 @@ def init_app():
|
||||
|
||||
@app.route('/health', methods=['GET'])
|
||||
def health_check():
|
||||
"""健康检查"""
|
||||
"""健康检查接口"""
|
||||
return jsonify({
|
||||
'status': 'ok',
|
||||
'status': 'healthy',
|
||||
'timestamp': datetime.now().isoformat(),
|
||||
'version': '1.0.0'
|
||||
})
|
||||
|
||||
@app.route('/test-socketio')
|
||||
def test_socketio():
|
||||
"""SocketIO连接测试页面"""
|
||||
return send_file('test_socketio_connection.html')
|
||||
|
||||
@app.route('/api/health', methods=['GET'])
|
||||
def api_health_check():
|
||||
"""API健康检查"""
|
||||
@ -644,56 +677,6 @@ def calibrate_imu():
|
||||
return jsonify({'success': False, 'error': str(e)}), 500
|
||||
|
||||
|
||||
# ==================== 视频推流API ====================
|
||||
|
||||
@app.route('/api/streaming/start', methods=['POST'])
|
||||
def start_video_streaming():
|
||||
"""启动视频推流"""
|
||||
try:
|
||||
if not device_manager:
|
||||
return jsonify({'success': False, 'error': '设备管理器未初始化'}), 500
|
||||
|
||||
# 设置WebSocket连接
|
||||
device_manager.set_socketio(socketio)
|
||||
|
||||
result = device_manager.start_streaming()
|
||||
|
||||
logger.info(f'视频推流启动结果: {result}')
|
||||
return jsonify({
|
||||
'success': True,
|
||||
'message': '视频推流已启动',
|
||||
'streaming_status': result
|
||||
})
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f'启动视频推流失败: {e}')
|
||||
return jsonify({'success': False, 'error': str(e)}), 500
|
||||
|
||||
@app.route('/api/streaming/stop', methods=['POST'])
|
||||
def stop_video_streaming():
|
||||
"""停止视频推流"""
|
||||
try:
|
||||
if not device_manager:
|
||||
return jsonify({'success': False, 'error': '设备管理器未初始化'}), 500
|
||||
|
||||
result = device_manager.stop_streaming()
|
||||
|
||||
if result:
|
||||
logger.info('视频推流已停止')
|
||||
return jsonify({
|
||||
'success': True,
|
||||
'message': '视频推流已停止'
|
||||
})
|
||||
else:
|
||||
return jsonify({
|
||||
'success': False,
|
||||
'error': '停止推流失败'
|
||||
}), 500
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f'停止视频推流失败: {e}')
|
||||
return jsonify({'success': False, 'error': str(e)}), 500
|
||||
|
||||
# ==================== 检测API ====================
|
||||
|
||||
@app.route('/api/detection/start', methods=['POST'])
|
||||
@ -1048,53 +1031,6 @@ def get_detection_sessions():
|
||||
return jsonify({'success': False, 'error': str(e)}), 500
|
||||
|
||||
|
||||
# ==================== 错误处理 ====================
|
||||
|
||||
@app.errorhandler(404)
|
||||
def not_found(error):
|
||||
return jsonify({'success': False, 'error': 'API接口不存在'}), 404
|
||||
|
||||
@app.errorhandler(500)
|
||||
def internal_error(error):
|
||||
return jsonify({'success': False, 'error': '服务器内部错误'}), 500
|
||||
|
||||
if __name__ == '__main__':
|
||||
import argparse
|
||||
|
||||
# 解析命令行参数
|
||||
parser = argparse.ArgumentParser(description='Body Balance Evaluation System Backend')
|
||||
parser.add_argument('--host', default=None, help='Host address to bind to')
|
||||
parser.add_argument('--port', type=int, default=None, help='Port number to bind to')
|
||||
parser.add_argument('--debug', action='store_true', help='Enable debug mode')
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
# 初始化应用
|
||||
init_app()
|
||||
|
||||
# 确定主机和端口
|
||||
host = args.host if args.host else config.get('SERVER', 'host', fallback='127.0.0.1')
|
||||
port = args.port if args.port else config.getint('SERVER', 'port', fallback=5000)
|
||||
debug = args.debug if args.debug else config.getboolean('APP', 'debug', fallback=False)
|
||||
|
||||
# 启动Flask+SocketIO服务
|
||||
logger.info(f'启动后端服务... Host: {host}, Port: {port}, Debug: {debug}')
|
||||
socketio.run(app,
|
||||
host=host,
|
||||
port=port,
|
||||
debug=debug,
|
||||
use_reloader=False, # 禁用热重载以避免进程问题
|
||||
log_output=True, # 启用详细日志
|
||||
allow_unsafe_werkzeug=True
|
||||
)
|
||||
except KeyboardInterrupt:
|
||||
logger.info('服务被用户中断')
|
||||
except Exception as e:
|
||||
logger.error(f'服务启动失败: {e}')
|
||||
sys.exit(1)
|
||||
finally:
|
||||
logger.info('后端服务已停止')
|
||||
|
||||
# ==================== WebSocket 事件处理 ====================
|
||||
|
||||
# 只有当socketio不为None时才注册事件处理器
|
||||
@ -1104,6 +1040,7 @@ if socketio is not None:
|
||||
def handle_connect():
|
||||
# print('CLIENT CONNECTED!!!', flush=True) # 控制台打印测试已关闭
|
||||
logger.info('客户端已连接')
|
||||
return True
|
||||
|
||||
@socketio.on('disconnect')
|
||||
def handle_disconnect():
|
||||
@ -1154,11 +1091,17 @@ if socketio is not None:
|
||||
results['message'] = '所有相机启动成功'
|
||||
|
||||
logger.info(f'发送video_status事件: {results}')
|
||||
emit('video_status', results)
|
||||
try:
|
||||
emit('video_status', results)
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送video_status事件失败: {emit_error}')
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f'启动视频流失败: {e}', exc_info=True)
|
||||
emit('video_status', {'status': 'error', 'message': f'启动失败: {str(e)}'})
|
||||
try:
|
||||
emit('video_status', {'status': 'error', 'message': f'启动失败: {str(e)}'})
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送错误状态失败: {emit_error}')
|
||||
|
||||
@socketio.on('stop_video_stream')
|
||||
def handle_stop_video(data=None):
|
||||
@ -1192,11 +1135,17 @@ def handle_stop_video(data=None):
|
||||
else:
|
||||
results['message'] = '所有相机停止成功'
|
||||
|
||||
emit('video_status', results)
|
||||
try:
|
||||
emit('video_status', results)
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送video_status事件失败: {emit_error}')
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f'停止视频流失败: {e}')
|
||||
emit('video_status', {'status': 'error', 'message': f'停止失败: {str(e)}'})
|
||||
try:
|
||||
emit('video_status', {'status': 'error', 'message': f'停止失败: {str(e)}'})
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送错误状态失败: {emit_error}')
|
||||
|
||||
@socketio.on('start_imu_streaming')
|
||||
def handle_start_imu_streaming(data=None):
|
||||
@ -1205,17 +1154,29 @@ def handle_start_imu_streaming(data=None):
|
||||
if device_manager:
|
||||
result = device_manager.start_imu_streaming()
|
||||
if result:
|
||||
emit('imu_status', {'status': 'success', 'message': 'IMU头部姿态数据推流已启动'})
|
||||
try:
|
||||
emit('imu_status', {'status': 'success', 'message': 'IMU头部姿态数据推流已启动'})
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送IMU状态失败: {emit_error}')
|
||||
logger.info('IMU头部姿态数据推流已启动')
|
||||
else:
|
||||
emit('imu_status', {'status': 'error', 'message': 'IMU头部姿态数据推流启动失败'})
|
||||
try:
|
||||
emit('imu_status', {'status': 'error', 'message': 'IMU头部姿态数据推流启动失败'})
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送IMU状态失败: {emit_error}')
|
||||
logger.error('IMU头部姿态数据推流启动失败')
|
||||
else:
|
||||
emit('imu_status', {'status': 'error', 'message': '设备管理器未初始化'})
|
||||
try:
|
||||
emit('imu_status', {'status': 'error', 'message': '设备管理器未初始化'})
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送IMU状态失败: {emit_error}')
|
||||
logger.error('设备管理器未初始化')
|
||||
except Exception as e:
|
||||
logger.error(f'启动IMU数据推流失败: {e}')
|
||||
emit('imu_status', {'status': 'error', 'message': f'启动失败: {str(e)}'})
|
||||
try:
|
||||
emit('imu_status', {'status': 'error', 'message': f'启动失败: {str(e)}'})
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送IMU状态失败: {emit_error}')
|
||||
|
||||
@socketio.on('stop_imu_streaming')
|
||||
def handle_stop_imu_streaming(data=None):
|
||||
@ -1224,17 +1185,29 @@ def handle_stop_imu_streaming(data=None):
|
||||
if device_manager:
|
||||
result = device_manager.stop_imu_streaming()
|
||||
if result:
|
||||
emit('imu_status', {'status': 'success', 'message': 'IMU头部姿态数据推流已停止'})
|
||||
try:
|
||||
emit('imu_status', {'status': 'success', 'message': 'IMU头部姿态数据推流已停止'})
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送IMU状态失败: {emit_error}')
|
||||
logger.info('IMU头部姿态数据推流已停止')
|
||||
else:
|
||||
emit('imu_status', {'status': 'error', 'message': 'IMU头部姿态数据推流停止失败'})
|
||||
try:
|
||||
emit('imu_status', {'status': 'error', 'message': 'IMU头部姿态数据推流停止失败'})
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送IMU状态失败: {emit_error}')
|
||||
logger.error('IMU头部姿态数据推流停止失败')
|
||||
else:
|
||||
emit('imu_status', {'status': 'error', 'message': '设备管理器未初始化'})
|
||||
try:
|
||||
emit('imu_status', {'status': 'error', 'message': '设备管理器未初始化'})
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送IMU状态失败: {emit_error}')
|
||||
logger.error('设备管理器未初始化')
|
||||
except Exception as e:
|
||||
logger.error(f'停止IMU数据推流失败: {e}')
|
||||
emit('imu_status', {'status': 'error', 'message': f'停止失败: {str(e)}'})
|
||||
try:
|
||||
emit('imu_status', {'status': 'error', 'message': f'停止失败: {str(e)}'})
|
||||
except Exception as emit_error:
|
||||
logger.error(f'发送IMU状态失败: {emit_error}')
|
||||
|
||||
@socketio.on('start_pressure_streaming')
|
||||
def handle_start_pressure_streaming(data=None):
|
||||
@ -1274,29 +1247,34 @@ def handle_stop_pressure_streaming(data=None):
|
||||
logger.error(f'停止压力传感器数据推流失败: {e}')
|
||||
emit('pressure_status', {'status': 'error', 'message': f'停止失败: {str(e)}'})
|
||||
|
||||
# 重复的事件处理器已删除,使用前面定义的版本
|
||||
# ==================== 错误处理 ====================
|
||||
|
||||
@app.errorhandler(404)
|
||||
def not_found(error):
|
||||
return jsonify({'success': False, 'error': 'API接口不存在'}), 404
|
||||
|
||||
@app.errorhandler(500)
|
||||
def internal_error(error):
|
||||
return jsonify({'success': False, 'error': '服务器内部错误'}), 500
|
||||
|
||||
if __name__ == '__main__':
|
||||
"""主入口点 - 用于直接运行和PyInstaller打包"""
|
||||
import argparse
|
||||
|
||||
# 解析命令行参数
|
||||
parser = argparse.ArgumentParser(description='Body Balance Evaluation System Backend')
|
||||
parser.add_argument('--host', default=None, help='Host address to bind to')
|
||||
parser.add_argument('--port', type=int, default=None, help='Port number to bind to')
|
||||
parser.add_argument('--debug', action='store_true', help='Enable debug mode')
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
# 初始化应用
|
||||
init_app()
|
||||
|
||||
# 启动服务器
|
||||
logger.info("启动身体平衡评估系统后端服务...")
|
||||
logger.info("服务器地址: http://localhost:5000")
|
||||
|
||||
socketio.run(
|
||||
app,
|
||||
host='0.0.0.0',
|
||||
port=5000,
|
||||
debug=False,
|
||||
allow_unsafe_werkzeug=True
|
||||
)
|
||||
|
||||
init_app()
|
||||
|
||||
except KeyboardInterrupt:
|
||||
logger.info("用户中断,正在关闭服务器...")
|
||||
logger.info('服务被用户中断')
|
||||
except Exception as e:
|
||||
logger.error(f"启动失败: {e}")
|
||||
input("按回车键退出...")
|
||||
sys.exit(1)
|
||||
logger.error(f'服务启动失败: {e}')
|
||||
sys.exit(1)
|
||||
finally:
|
||||
logger.info('后端服务已停止')
|
@ -1,7 +1,8 @@
|
||||
[APP]
|
||||
name = Body Balance Evaluation System
|
||||
version = 1.0.0
|
||||
debug = false
|
||||
debug = True
|
||||
|
||||
log_level = INFO
|
||||
|
||||
[SERVER]
|
||||
@ -10,7 +11,7 @@ port = 5000
|
||||
cors_origins = *
|
||||
|
||||
[DATABASE]
|
||||
path = backend/data/body_balance.db
|
||||
path = data/body_balance.db
|
||||
backup_interval = 24
|
||||
max_backups = 7
|
||||
|
||||
@ -19,9 +20,11 @@ camera_index = 0
|
||||
camera_width = 640
|
||||
camera_height = 480
|
||||
camera_fps = 30
|
||||
imu_port = COM3
|
||||
imu_port = COM4
|
||||
imu_baudrate = 9600
|
||||
pressure_port = COM4
|
||||
|
||||
|
||||
[DETECTION]
|
||||
default_duration = 60
|
||||
sampling_rate = 30
|
||||
@ -35,7 +38,12 @@ chart_dpi = 300
|
||||
export_format = csv
|
||||
|
||||
[SECURITY]
|
||||
secret_key = 9179711d0d1bed10e105f39c9210cce273cbd73f85fbdfcd41e2d1e20d5c50bd
|
||||
secret_key = 79fcc4983d478c2ee672f3305d5e12c7c84fd1b58a18acb650e9f8125bfa805f
|
||||
session_timeout = 3600
|
||||
max_login_attempts = 5
|
||||
|
||||
[DEFAULT]
|
||||
# FemtoBolt深度相机配置
|
||||
femtobolt_color_resolution = 720P
|
||||
femtobolt_depth_range_min = 1400
|
||||
femtobolt_depth_range_max = 1900
|
||||
|
@ -43,7 +43,7 @@ from database import DatabaseManager
|
||||
try:
|
||||
import pykinect_azure as pykinect
|
||||
# 重新启用FemtoBolt功能,使用正确的Orbbec SDK K4A Wrapper路径
|
||||
FEMTOBOLT_AVAILABLE = True
|
||||
FEMTOBOLT_AVAILABLE = False
|
||||
print("信息: pykinect_azure库已安装,FemtoBolt深度相机功能已启用")
|
||||
print("使用Orbbec SDK K4A Wrapper以确保与FemtoBolt设备的兼容性")
|
||||
except ImportError:
|
||||
@ -125,21 +125,38 @@ class DeviceManager:
|
||||
# WebSocket连接(用于推流)
|
||||
self.socketio = None
|
||||
|
||||
# 初始化设备
|
||||
self._init_devices()
|
||||
# 延迟设备初始化,避免启动时阻塞
|
||||
# self._init_devices() # 注释掉自动初始化,改为按需初始化
|
||||
|
||||
|
||||
|
||||
def _init_devices(self):
|
||||
|
||||
"""初始化所有设备"""
|
||||
# 分别初始化各个设备,单个设备失败不影响其他设备
|
||||
try:
|
||||
self._init_camera()
|
||||
self._init_femtobolt_camera()
|
||||
self._init_imu()
|
||||
self._init_pressure_sensor()
|
||||
logger.info('设备初始化完成')
|
||||
except Exception as e:
|
||||
logger.error(f'设备初始化失败: {e}')
|
||||
logger.error(f'摄像头初始化失败: {e}')
|
||||
|
||||
try:
|
||||
if FEMTOBOLT_AVAILABLE:
|
||||
self._init_femtobolt_camera()
|
||||
except Exception as e:
|
||||
logger.error(f'FemtoBolt深度相机初始化失败: {e}')
|
||||
|
||||
try:
|
||||
logger.error('IMU传感器初始化!!!!!!!!!!!!!!!!')
|
||||
self._init_imu()
|
||||
except Exception as e:
|
||||
logger.error(f'IMU传感器初始化失败: {e}')
|
||||
|
||||
try:
|
||||
self._init_pressure_sensor()
|
||||
except Exception as e:
|
||||
logger.error(f'压力传感器初始化失败: {e}')
|
||||
|
||||
logger.info('设备初始化完成(部分设备可能初始化失败)')
|
||||
|
||||
def _init_camera(self):
|
||||
"""初始化足部监视摄像头"""
|
||||
@ -157,23 +174,10 @@ class DeviceManager:
|
||||
except Exception as e:
|
||||
logger.warning(f'读取摄像头设备索引配置失败,使用默认值0: {e}')
|
||||
else:
|
||||
logger.warning('数据库管理器未初始化,使用默认摄像头索引0')
|
||||
|
||||
# 尝试连接指定索引的摄像头
|
||||
# self.camera = cv2.VideoCapture(device_index)
|
||||
# if self.camera.isOpened():
|
||||
# # 设置摄像头参数
|
||||
# self.camera.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
|
||||
# self.camera.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
|
||||
# self.camera.set(cv2.CAP_PROP_FPS, 30)
|
||||
# # 设置缓冲区大小为1,避免帧积累
|
||||
# self.camera.set(cv2.CAP_PROP_BUFFERSIZE, 1)
|
||||
logger.warning('数据库管理器未初始化,使用默认摄像头索引0')
|
||||
|
||||
|
||||
self.device_status['camera'] = True
|
||||
# logger.info(f'摄像头初始化成功,设备索引: {device_index}')
|
||||
# else:
|
||||
# logger.warning(f'摄像头连接失败,设备索引: {device_index}')
|
||||
# self.camera = None
|
||||
except Exception as e:
|
||||
logger.error(f'摄像头初始化异常: {e}')
|
||||
self.camera = None
|
||||
@ -206,7 +210,7 @@ class DeviceManager:
|
||||
# 从config.ini读取配置
|
||||
import configparser
|
||||
config = configparser.ConfigParser()
|
||||
config.read(os.path.join(os.path.dirname(__file__), '..', 'config.ini'))
|
||||
config.read(os.path.join(os.path.dirname(__file__), 'config.ini'))
|
||||
# color_res_str = config.get('DEFAULT', 'femtobolt_color_resolution', fallback='1080P')
|
||||
# depth_range_min = config.getint('DEFAULT', 'femtobolt_depth_range_min', fallback=500)
|
||||
# depth_range_max = config.getint('DEFAULT', 'femtobolt_depth_range_max', fallback=4500)
|
||||
@ -283,7 +287,7 @@ class DeviceManager:
|
||||
# 从config.ini读取串口配置
|
||||
config = configparser.ConfigParser()
|
||||
# 优先读取根目录config.ini,否则读取backend/config.ini
|
||||
root_config_path = os.path.join(os.path.dirname(__file__), '..', 'config.ini')
|
||||
root_config_path = os.path.join(os.path.dirname(__file__), 'config.ini')
|
||||
app_root_config_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'config.ini')
|
||||
logger.debug(f'尝试读取配置文件: {root_config_path}, {app_root_config_path}')
|
||||
|
||||
@ -1921,7 +1925,7 @@ class DeviceManager:
|
||||
logger.error(f'清理过期帧失败: {e}')
|
||||
class RealIMUDevice:
|
||||
"""真实IMU设备,通过串口读取姿态数据"""
|
||||
def __init__(self, port: str = 'COM7', baudrate: int = 9600):
|
||||
def __init__(self, port: str = 'COM4', baudrate: int = 9600):
|
||||
self.port = port
|
||||
self.baudrate = baudrate
|
||||
self.ser = None
|
||||
@ -2286,9 +2290,9 @@ class VideoStreamManager:
|
||||
"""加载RTSP配置"""
|
||||
try:
|
||||
config = configparser.ConfigParser()
|
||||
config_path = os.path.join(os.path.dirname(__file__), '..', 'config.ini')
|
||||
config_path = os.path.join(os.path.dirname(__file__), 'config.ini')
|
||||
config.read(config_path, encoding='utf-8')
|
||||
device_index_str = config.get('CAMERA', 'device_index', fallback='0')
|
||||
device_index_str = config.get('DEVICES', 'camera_index', fallback='0')
|
||||
self.device_index = int(device_index_str) if device_index_str else 0
|
||||
logger.info(f'视频监控设备配置加载完成,设备号: {self.device_index}')
|
||||
except Exception as e:
|
||||
|
79
backend/test_socketio_connection.html
Normal file
79
backend/test_socketio_connection.html
Normal file
@ -0,0 +1,79 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>SocketIO连接测试</title>
|
||||
<script src="https://cdn.socket.io/4.0.0/socket.io.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>SocketIO连接测试</h1>
|
||||
<div id="status">连接状态: 未连接</div>
|
||||
<div id="messages"></div>
|
||||
<button onclick="testConnection()">测试连接</button>
|
||||
<button onclick="testEmit()">测试发送消息</button>
|
||||
|
||||
<script>
|
||||
let socket;
|
||||
const statusDiv = document.getElementById('status');
|
||||
const messagesDiv = document.getElementById('messages');
|
||||
|
||||
function addMessage(msg) {
|
||||
const div = document.createElement('div');
|
||||
div.textContent = new Date().toLocaleTimeString() + ': ' + msg;
|
||||
messagesDiv.appendChild(div);
|
||||
}
|
||||
|
||||
function testConnection() {
|
||||
try {
|
||||
socket = io('http://127.0.0.1:5000', {
|
||||
transports: ['polling', 'websocket'],
|
||||
upgrade: true,
|
||||
timeout: 10000
|
||||
});
|
||||
|
||||
socket.on('connect', function() {
|
||||
statusDiv.textContent = '连接状态: 已连接';
|
||||
statusDiv.style.color = 'green';
|
||||
addMessage('SocketIO连接成功');
|
||||
});
|
||||
|
||||
socket.on('disconnect', function() {
|
||||
statusDiv.textContent = '连接状态: 已断开';
|
||||
statusDiv.style.color = 'red';
|
||||
addMessage('SocketIO连接断开');
|
||||
});
|
||||
|
||||
socket.on('connect_error', function(error) {
|
||||
statusDiv.textContent = '连接状态: 连接错误';
|
||||
statusDiv.style.color = 'red';
|
||||
addMessage('连接错误: ' + error.message);
|
||||
});
|
||||
|
||||
socket.on('video_status', function(data) {
|
||||
addMessage('收到视频状态: ' + JSON.stringify(data));
|
||||
});
|
||||
|
||||
socket.on('imu_status', function(data) {
|
||||
addMessage('收到IMU状态: ' + JSON.stringify(data));
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
addMessage('连接异常: ' + error.message);
|
||||
}
|
||||
}
|
||||
|
||||
function testEmit() {
|
||||
if (socket && socket.connected) {
|
||||
socket.emit('start_video_stream', {});
|
||||
addMessage('发送start_video_stream事件');
|
||||
} else {
|
||||
addMessage('Socket未连接,无法发送消息');
|
||||
}
|
||||
}
|
||||
|
||||
// 自动测试连接
|
||||
window.onload = function() {
|
||||
testConnection();
|
||||
};
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -30,7 +30,7 @@ class CameraViewer:
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 修改这里的数字可以切换不同摄像头设备
|
||||
viewer = CameraViewer(device_index=3)
|
||||
viewer = CameraViewer(device_index=0)
|
||||
viewer.start_stream()
|
||||
|
||||
# import ctypes
|
||||
|
14
config.ini
14
config.ini
@ -19,11 +19,9 @@ camera_index = 0
|
||||
camera_width = 640
|
||||
camera_height = 480
|
||||
camera_fps = 30
|
||||
imu_port = COM9
|
||||
imu_baudrate = 9600
|
||||
imu_port = COM3
|
||||
pressure_port = COM4
|
||||
|
||||
|
||||
[DETECTION]
|
||||
default_duration = 60
|
||||
sampling_rate = 30
|
||||
@ -37,15 +35,7 @@ chart_dpi = 300
|
||||
export_format = csv
|
||||
|
||||
[SECURITY]
|
||||
secret_key = 79fcc4983d478c2ee672f3305d5e12c7c84fd1b58a18acb650e9f8125bfa805f
|
||||
secret_key = 4bfd3d60ddecef23973b64d761371610130034f23ce90dd6f405756ad2f89495
|
||||
session_timeout = 3600
|
||||
max_login_attempts = 5
|
||||
|
||||
[CAMERA]
|
||||
device_index = 3
|
||||
|
||||
[DEFAULT]
|
||||
# FemtoBolt深度相机配置
|
||||
femtobolt_color_resolution = 720P
|
||||
femtobolt_depth_range_min = 1400
|
||||
femtobolt_depth_range_max = 1900
|
||||
|
278
config.json
278
config.json
@ -1,278 +0,0 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "身体平衡评估系统",
|
||||
"version": "1.0.0",
|
||||
"description": "基于多传感器融合技术的专业平衡能力评估与分析系统",
|
||||
"author": "身体平衡评估系统开发团队",
|
||||
"language": "zh-CN",
|
||||
"theme": "light",
|
||||
"auto_start": false,
|
||||
"auto_update": true,
|
||||
"window": {
|
||||
"width": 1200,
|
||||
"height": 800,
|
||||
"min_width": 1000,
|
||||
"min_height": 600,
|
||||
"resizable": true,
|
||||
"center": true,
|
||||
"show": true,
|
||||
"frame": true,
|
||||
"transparent": false,
|
||||
"always_on_top": false
|
||||
}
|
||||
},
|
||||
"server": {
|
||||
"host": "0.0.0.0",
|
||||
"port": 5000,
|
||||
"debug": false,
|
||||
"cors": {
|
||||
"enabled": true,
|
||||
"origins": ["http://192.168.1.38:3000"]
|
||||
},
|
||||
"ssl": {
|
||||
"enabled": false,
|
||||
"cert_file": "",
|
||||
"key_file": ""
|
||||
},
|
||||
"rate_limit": {
|
||||
"enabled": true,
|
||||
"requests_per_minute": 100
|
||||
}
|
||||
},
|
||||
"database": {
|
||||
"type": "sqlite",
|
||||
"path": "backend/data/body_balance.db",
|
||||
"backup": {
|
||||
"enabled": true,
|
||||
"interval_hours": 24,
|
||||
"max_backups": 7
|
||||
},
|
||||
"connection": {
|
||||
"timeout": 30,
|
||||
"pool_size": 10
|
||||
}
|
||||
},
|
||||
"devices": {
|
||||
"camera": {
|
||||
"enabled": true,
|
||||
"device_id": 0,
|
||||
"resolution": {
|
||||
"width": 1280,
|
||||
"height": 720
|
||||
},
|
||||
"fps": 30,
|
||||
"format": "MJPG",
|
||||
"auto_exposure": true,
|
||||
"brightness": 0,
|
||||
"contrast": 0,
|
||||
"saturation": 0,
|
||||
"calibration": {
|
||||
"enabled": false,
|
||||
"matrix": null,
|
||||
"distortion": null
|
||||
}
|
||||
},
|
||||
"imu": {
|
||||
"enabled": true,
|
||||
"port": "COM3",
|
||||
"baudrate": 115200,
|
||||
"timeout": 1.0,
|
||||
"sample_rate": 100,
|
||||
"range": {
|
||||
"accelerometer": 16,
|
||||
"gyroscope": 2000,
|
||||
"magnetometer": 4800
|
||||
},
|
||||
"calibration": {
|
||||
"enabled": false,
|
||||
"offset": {
|
||||
"accel": [0, 0, 0],
|
||||
"gyro": [0, 0, 0],
|
||||
"mag": [0, 0, 0]
|
||||
},
|
||||
"scale": {
|
||||
"accel": [1, 1, 1],
|
||||
"gyro": [1, 1, 1],
|
||||
"mag": [1, 1, 1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"pressure": {
|
||||
"enabled": true,
|
||||
"port": "COM4",
|
||||
"baudrate": 9600,
|
||||
"timeout": 1.0,
|
||||
"sample_rate": 50,
|
||||
"sensors": 4,
|
||||
"range": {
|
||||
"min": 0,
|
||||
"max": 1000
|
||||
},
|
||||
"calibration": {
|
||||
"enabled": false,
|
||||
"zero_offset": [0, 0, 0, 0],
|
||||
"scale_factor": [1, 1, 1, 1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"detection": {
|
||||
"default_duration": 60,
|
||||
"min_duration": 10,
|
||||
"max_duration": 300,
|
||||
"sample_rate": 30,
|
||||
"recording": {
|
||||
"enabled": true,
|
||||
"format": "mp4",
|
||||
"quality": "medium",
|
||||
"fps": 30
|
||||
},
|
||||
"analysis": {
|
||||
"real_time": true,
|
||||
"pose_detection": {
|
||||
"enabled": true,
|
||||
"model": "mediapipe",
|
||||
"confidence": 0.5,
|
||||
"tracking": true
|
||||
},
|
||||
"balance_metrics": {
|
||||
"cop_analysis": true,
|
||||
"sway_analysis": true,
|
||||
"stability_index": true,
|
||||
"frequency_analysis": true
|
||||
},
|
||||
"filters": {
|
||||
"low_pass": {
|
||||
"enabled": true,
|
||||
"cutoff": 10.0
|
||||
},
|
||||
"median": {
|
||||
"enabled": true,
|
||||
"window_size": 5
|
||||
}
|
||||
}
|
||||
},
|
||||
"alerts": {
|
||||
"enabled": true,
|
||||
"thresholds": {
|
||||
"excessive_sway": 50.0,
|
||||
"instability": 0.8,
|
||||
"device_disconnect": 5.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"storage": {
|
||||
"base_path": "data",
|
||||
"patients_path": "data/patients",
|
||||
"sessions_path": "data/sessions",
|
||||
"exports_path": "data/exports",
|
||||
"backups_path": "data/backups",
|
||||
"temp_path": "temp",
|
||||
"logs_path": "logs"
|
||||
},
|
||||
"cleanup": {
|
||||
"enabled": true,
|
||||
"temp_files_days": 7,
|
||||
"log_files_days": 30,
|
||||
"session_files_days": 365
|
||||
},
|
||||
"compression": {
|
||||
"enabled": true,
|
||||
"algorithm": "gzip",
|
||||
"level": 6
|
||||
},
|
||||
"export": {
|
||||
"formats": ["csv", "json", "pdf"],
|
||||
"include_raw_data": true,
|
||||
"include_analysis": true,
|
||||
"include_charts": true
|
||||
}
|
||||
},
|
||||
"logging": {
|
||||
"level": "INFO",
|
||||
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
||||
"file": {
|
||||
"enabled": true,
|
||||
"path": "logs/app.log",
|
||||
"max_size": "10MB",
|
||||
"backup_count": 5,
|
||||
"rotation": "daily"
|
||||
},
|
||||
"console": {
|
||||
"enabled": true,
|
||||
"level": "INFO"
|
||||
},
|
||||
"modules": {
|
||||
"flask": "WARNING",
|
||||
"werkzeug": "WARNING",
|
||||
"urllib3": "WARNING",
|
||||
"matplotlib": "WARNING"
|
||||
}
|
||||
},
|
||||
"security": {
|
||||
"session": {
|
||||
"timeout_minutes": 60,
|
||||
"secret_key": "your-secret-key-here",
|
||||
"secure_cookies": false
|
||||
},
|
||||
"api": {
|
||||
"rate_limiting": true,
|
||||
"request_timeout": 30,
|
||||
"max_request_size": "100MB"
|
||||
},
|
||||
"data": {
|
||||
"encryption": false,
|
||||
"backup_encryption": false,
|
||||
"anonymization": {
|
||||
"enabled": false,
|
||||
"fields": ["name", "phone", "email"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ui": {
|
||||
"language": "zh-CN",
|
||||
"theme": "light",
|
||||
"animations": true,
|
||||
"sound_effects": true,
|
||||
"notifications": {
|
||||
"enabled": true,
|
||||
"position": "top-right",
|
||||
"duration": 5000
|
||||
},
|
||||
"charts": {
|
||||
"default_type": "line",
|
||||
"colors": {
|
||||
"primary": "#409EFF",
|
||||
"success": "#67C23A",
|
||||
"warning": "#E6A23C",
|
||||
"danger": "#F56C6C",
|
||||
"info": "#909399"
|
||||
},
|
||||
"animation_duration": 1000
|
||||
},
|
||||
"table": {
|
||||
"page_size": 20,
|
||||
"show_pagination": true,
|
||||
"sortable": true,
|
||||
"filterable": true
|
||||
}
|
||||
},
|
||||
"performance": {
|
||||
"monitoring": {
|
||||
"enabled": true,
|
||||
"interval_seconds": 60,
|
||||
"metrics": ["cpu", "memory", "disk", "network"]
|
||||
},
|
||||
"optimization": {
|
||||
"image_compression": true,
|
||||
"data_caching": true,
|
||||
"lazy_loading": true,
|
||||
"batch_processing": true
|
||||
},
|
||||
"limits": {
|
||||
"max_concurrent_sessions": 5,
|
||||
"max_file_size_mb": 100,
|
||||
"max_session_duration_minutes": 300
|
||||
}
|
||||
}
|
||||
}
|
@ -74,7 +74,7 @@ def check_debug_environment():
|
||||
# 检查必要文件
|
||||
required_files = [
|
||||
'backend/app.py',
|
||||
'config.ini',
|
||||
'backend/config.ini',
|
||||
'backend/requirements.txt'
|
||||
]
|
||||
|
||||
@ -120,15 +120,15 @@ def start_debug_server():
|
||||
logger.info('按 Ctrl+C 停止服务器')
|
||||
|
||||
# 启动SocketIO服务器(支持调试和远程访问)
|
||||
socketio.run(
|
||||
app,
|
||||
host='0.0.0.0', # 允许所有IP访问
|
||||
port=5000,
|
||||
debug=True,
|
||||
use_reloader=False, # 禁用热重载以避免FemtoBolt设备资源冲突
|
||||
log_output=True, # 输出详细日志
|
||||
allow_unsafe_werkzeug=True
|
||||
)
|
||||
# socketio.run(
|
||||
# app,
|
||||
# host='0.0.0.0', # 允许所有IP访问
|
||||
# port=5000,
|
||||
# debug=True,
|
||||
# use_reloader=False, # 禁用热重载以避免FemtoBolt设备资源冲突
|
||||
# log_output=True, # 输出详细日志
|
||||
# allow_unsafe_werkzeug=True
|
||||
# )
|
||||
|
||||
except KeyboardInterrupt:
|
||||
logger.info('服务器被用户中断')
|
||||
|
Loading…
Reference in New Issue
Block a user