Vibration ML System
DISCONNECTED
--:--:--
⚠
Velocity RMS
--mm/s
--
ML Score
--
--
Temperature
--°C
센서
Inference
--µs
총 0회
Anomalies
0
0.0%
Device
--
--
Edge ML 이상 점수대기중
0.00 anomaly score
EMA0.00
Raw MSE0.0000
Thresh0.0000
StatusNORMAL
이상 점수 트렌드60s
진동 속도mm/s
0mm/s
X
0mm/s
Y
0mm/s
Z
센서 데이터RAW
XYZ
ACC (g)------
VEL (mm/s)------
DISP (µm)------
FREQ (Hz)------
Edge TX 전송 상태 · 이벤트 로그 NORMAL
전송 모드
NORMAL
절감률
--%
전송/총샘플
--/--
절감 용량
-- KB
NORMAL: 60초 요약 (97%↓) · CAUTION: 5초 요약 (83%↓)
ALERT: RAW 전체 (절감 없음) · COOLDOWN: 30초 대기 후 복귀
최근 이벤트
이벤트 없음
속도 RMS 트렌드60s

📡 1단계: 학습 데이터 수집

정상 운전 상태에서 센서 데이터를 수집합니다. 최소 500개 이상 권장.

수집 상태대기
수집 샘플 수0
수집 시간--
목표 샘플1000
⏰ 예약 수집

⚙️ 2단계: 모델 학습

수집된 정상 데이터로 Autoencoder 모델을 학습합니다.

학습 상태대기
학습 대상--
에포크0/100
Loss--
Best Loss--
Threshold--
Epochs:

📋 학습 로그

학습 준비 완료. 데이터를 수집한 후 학습을 시작하세요.

📦 3단계: 모델 배포

학습 완료 후 ONNX 변환 → STM32Cube.AI → 펌웨어 업데이트

파일 다운로드
배포 순서:
1. [센서 0] 수집 → 학습 / [센서 1] 수집 → 학습
2. ONNX 변환 → 모델 전체 (ZIP) 다운로드
3. CubeMX → network: s0.onnx, network_1: s1.onnx → Generate
4. scaler_params.h + cubeai_vms.c 교체 → 재빌드 → OTA

📤 1단계: 펌웨어 업로드

STM32CubeMX 에서 빌드한 .bin 파일을 업로드합니다.

현재 펌웨어--
크기--
CRC32--
업로드일--

🚀 2단계: 원클릭 배포

업로드된 펌웨어를 연결된 STM32 디바이스에 OTA 배포합니다.

OTA 상태대기
진행률--%
수신--
대상 디바이스--
⚠ 배포 중 전원을 끄지 마세요. 실패 시 이전 펌웨어로 자동 복구됩니다.

📋 OTA 업데이트 흐름

1. .elf → .bin 변환: arm-none-eabi-objcopy -O binary app.elf app.bin
2. 대시보드에서 app.bin 업로드 (CRC32 자동 계산)
3. [OTA 배포 시작] 클릭 → WebSocket → STM32 "ota_start" 명령
4. STM32 앱 → HTTP GET /firmware/latest.bin → Staging Flash 기록
5. CRC32 검증 → OTA 플래그 SET → System Reset
6. 부트로더 → Staging → App 복사 → CRC 재검증 → 새 앱 부팅
7. 새 펌웨어 정상 동작 확인 (대시보드에 버전 표시)