c2000mon β€” Web UI

disconnected

Device status

Deviceβ€”
Browser clientsβ€”

PING

Send a c2k OP_PING REQ to the Dongle and show the RESP round-trip. Latency includes PC β†’ Cloudflare edge β†’ field Dongle β†’ back.

β€”

Dongle Wi-Fi status

Dongle이 5μ΄ˆλ§ˆλ‹€ pushν•˜λŠ” μƒνƒœ β€” μ–΄λ”” μ—°κ²°λΌμžˆλŠ”μ§€ μ›κ²©μ—μ„œ 확인. WSS DOWN 이면 stale 둜 ν‘œμ‹œ.

Device IDβ€”
MACβ€”
STAβ€”
Slotβ€”
SSIDβ€”
RSSIβ€”
Channelβ€”
IPβ€”
Last updateβ€”

Fleet (Dongle peer registry)

Dongle-local OP_LIST_PEERS; ESP-NOW 톡신 없이도 λ“±λ‘λœ peer ν‘œμ‹œ. Watch/Scope/Flash νŽ˜μ΄μ§€μ—μ„œ 선택 κ°€λŠ₯.

PID (hex)LabelAlive
β€”

Help / Quick Reference

전체 흐름
  1. Settings νƒ­μ—μ„œ Relay URL + Device ID μ„€μ • ν›„ Connect.
  2. Connect 되면 Fleet Refresh 둜 ESP-NOW peer λͺ©λ‘ κ°€μ Έμ˜€κΈ°.
  3. Watch / Scope / Flash νƒ­μ—μ„œ Fleet λͺ¨λ“ˆ μ΅œλŒ€ 5 개 μ„ νƒν•΄μ„œ 병렬 μ‚¬μš©.
  4. Disconnect μ•ˆ 해도 νŽ˜μ΄μ§€ 이동 자유둭게 κ°€λŠ₯. WSS 연결은 λŠκ²¨λ„ μžλ™ μž¬μ—°κ²° (exponential backoff).
Watch νŽ˜μ΄μ§€ β€” λ³€μˆ˜ syntax

ν•œ λͺ¨λ“ˆ μΉ΄λ“œμ˜ textarea에 ν•œ 쀄 = ν•œ λ³€μˆ˜:

V_iout = 0x0000C000          # default u32
V_temp : i16 = 0x0000C100
V_vbus : f32 = 0x0000C200
# 라인 주석: # λ˜λŠ” //

지원 νƒ€μž…: u32 u16 i32 i16 f32. λ³€μˆ˜ list λŠ” μžλ™μœΌλ‘œ localStorage 에 μ €μž₯됨 (λΈŒλΌμš°μ € μƒˆλ‘œκ³ μΉ¨ ν›„ 볡원).

각 ν–‰: Label / Addr / Value / Trend (SVG sparkline) / Last poll. 값은 type 에 맞게 hex+decimal / signed / float 으둜 ν‘œμ‹œ. 색상: fresh / stale / error.

Scope νŽ˜μ΄μ§€ β€” 4 채널 + Trigger
  • 채널 ν† κΈ€ (CH1-CH4) : ν‘œμ‹œ/μˆ¨κΉ€. Auto-scale Y λŠ” λ³΄μ΄λŠ” μ±„λ„λ§ŒμœΌλ‘œ 계산.
  • samp/window : ν‘œμ‹œ μœˆλ„μš° 크기 (128 ~ 4096).
  • Pause / Resume / Clear : per-module λ˜λŠ” 전체 (νŽ˜μ΄μ§€ 상단 λ²„νŠΌ).
  • CSV λ²„νŠΌ : ν˜„μž¬ window 의 4 채널 sample dump + 톡계 헀더 λ‹€μš΄λ‘œλ“œ.
  • Trigger : 채널 / edge (rising/falling/both) / level μ§€μ •. λ°œμƒ μ‹œ ν™”λ©΄ 쀑앙에 dashed line, level μœ„μΉ˜ horizontal line.
  • Stats ν–‰ : CH1 min=... max=... pp=... mean=... rms=... (μ „ 채널).
Flash νŽ˜μ΄μ§€ β€” 병렬 mass-flash
  1. .hex 파일 μ—…λ‘œλ“œ (ν˜„μž¬ Intel HEX 만 지원; .out 은 사전에 hex2000.exe 둜 λ³€ν™˜).
  2. Fleet λͺ¨λ“ˆ μ΅œλŒ€ 5 개 선택.
  3. Start parallel flash 클릭 -> 각 λͺ¨λ“ˆ 병렬 μ§„ν–‰: FLASH_BEGIN -> NΓ—FLASH_CHUNK -> FLASH_END (λ§ˆμ§€λ§‰μ€ ~30 s λΈ”λ‘œν‚Ή, Module μΈ‘ SCI ROM bootloader μ‹€ν–‰).
  4. λͺ¨λ“ˆλ³„ μ§„ν–‰λ₯  + μƒνƒœ (idle / active / done / error).

ν˜„μž¬ W6-a "raw blob" 경둜만 -- FlashLoader μ‹€ν–‰ ν›„ erase/program (W6-b FlashLoader protocol via SCI_XFER) 은 후속 task.

Dongle USB CDC diag λͺ…λ Ή

ν˜„μž₯ 배포 μ „ ν•œ 번 USB 케이블 μ—°κ²°ν•΄μ„œ μ„€μ •:

setssid <SSID>        # legacy slot 0
setpw <PW>            # legacy slot 0
addwifi <SSID> <PW>   # multi-slot μΆ”κ°€ (μ§‘/νšŒμ‚¬/카페...)
delwifi <SSID>        # 슬둯 비움
listwifi              # λͺ¨λ“  슬둯 + active ν‘œμ‹œ
setrelay <wss://...>  # relay base URL (id λŠ” μžλ™ append)
setid <ID>            # device_id λͺ…μ‹œ (빈 인자 -> MAC-derived 둜 reset)
settoken <TOKEN>      # device 인증 토큰
wifi                  # ν˜„μž¬ μƒνƒœ
wificonnect           # μˆ˜λ™ STA μž¬μ—°κ²°
whoami                # MAC + device_id + relay URL + Web UI μ•ˆλ‚΄

λ˜λŠ” PC μͺ½ 헬퍼: python scripts/dev/dongle_provision.py -- PC 의 ν˜„μž¬ Wi-Fi μžλ™ 감지 + addwifi μžλ™ 솑신.

μ•Œλ €μ§„ μ œν•œ / 후속
  • Cloudflare Access OAuth 게이트 (M4) 미적용 -- URL μ•Œλ©΄ λˆ„κ΅¬λ‚˜ μ ‘κ·Ό.
  • Watch 폴링: Dongle REQ slot single-flight 라 5 λͺ¨λ“ˆ Γ— 30 λ³€μˆ˜ = ~1-2 s/cycle 정도 ν•œκ³„.
  • Scope: FFT / X-Y / Cursor / Reset Zoom λ―Έκ΅¬ν˜„.
  • Flash: .out 직접 지원 μ•ˆ 됨 (out_to_boot.py TS ν¬νŒ… ν•„μš”). W6-b FlashLoader 후속 protocol 미지원.
  • λͺ¨λ°”일 λ°˜μ‘ν˜• 미흑 -- λ°μŠ€ν¬νƒ‘ ꢌμž₯.

Log