[ν”„λ‘œμ νŠΈ] πŸ“‘ Serial Chart with Matplotlib

ODORAΒ·2025λ…„ 3μ›” 27일

ν”„λ‘œμ νŠΈ

λͺ©λ‘ 보기
5/7
post-thumbnail

πŸ“‘ Serial Chart with Matplotlib

μ‹€μ‹œκ°„ μ‹œλ¦¬μ–Ό 데이터λ₯Ό μˆ˜μ‹ ν•˜μ—¬ 차트둜 μ‹œκ°ν™”ν•˜κ³ , CSV 파일둜 μžλ™ μ €μž₯ν•˜λŠ” PySide6 + Matplotlib 기반 GUI ν”„λ‘œκ·Έλž¨μž…λ‹ˆλ‹€.

버전: 1.0.0
κ²Œμ‹œμž: INSEOK OH (oinse719@gmail.com)
Github: https://github.com/oisgoon/serial-chart-pyside.git

πŸš€ μ£Όμš” κΈ°λŠ₯

κΈ°λŠ₯μ„€λͺ…
βœ… μ‹œλ¦¬μ–Ό 톡신 μˆ˜μ‹ COM 포트, Baud μ„€μ •
βœ… μ‹€μ‹œκ°„ κ·Έλž˜ν”„λ‹€μ€‘ 채널 데이터 μ‹€μ‹œκ°„ ν”Œλ‘œνŒ…
βœ… μžλ™ 슀크둀/μˆ˜μ‹  μ‹œκ°„μ˜΅μ…˜μœΌλ‘œ 쑰절 κ°€λŠ₯
βœ… λ²”λ‘€ 클릭 ν† κΈ€κ·Έλž˜ν”„ 숨기기/보이기
βœ… μ»€μ„œ 툴팁마우슀λ₯Ό κ°€μ Έκ°€λ©΄ 채널λͺ…, μ‹œκ°„, κ°’ ν‘œμ‹œ
βœ… μˆ˜μ§μ„ (μ˜΅μ…˜)마우슀λ₯Ό λ”°λΌκ°€λŠ” 보쑰선 ν‘œμ‹œ κ°€λŠ₯
βœ… μžλ™ μ €μž₯μˆ˜μ‹ κ°’μ„ CSV νŒŒμΌμ— μ‹€μ‹œκ°„ μ €μž₯ (auto_log.csv)
βœ… μˆ˜λ™ λͺ…λ Ή μ „μ†‘μ»€λ§¨λ“œ μž…λ ₯ ν›„ Enter λ˜λŠ” Send λ²„νŠΌμœΌλ‘œ μ‹œλ¦¬μ–Ό 전솑
βœ… 닀크 λͺ¨λ“œ 지원기본 UI μŠ€νƒ€μΌ Qt 기반 닀크 ν…Œλ§ˆμ™€ μ‘°ν™”

πŸ“‚ μ €μž₯ 파일 ꡬ쑰

νŒŒμΌμ„€λͺ…
auto_log.csvμ‹€μ‹œκ°„ μ €μž₯λ˜λŠ” μ‹œλ¦¬μ–Ό μˆ˜μ‹  데이터 (νƒ€μž„μŠ€νƒ¬ν”„ + κ°’)
console_data_YYYYMMDD_HHMMSS.csvμˆ˜λ™ μ €μž₯ μ‹œ μ½˜μ†” 좜λ ₯ 둜그
chart_data_YYYYMMDD_HHMMSS.csvμˆ˜λ™ μ €μž₯ μ‹œ 차트 데이터

πŸ›  μ‚¬μš© 방법

  1. Python 3.9 이상 μ„€μΉ˜
  2. ν•„μš”ν•œ νŒ¨ν‚€μ§€ μ„€μΉ˜:
pip install pyserial PySide6 matplotlib mplcursors

ν”„λ‘œκ·Έλž¨ μ‹€ν–‰

python main.py

UI

  • 포트 및 Baudrate 선택 ν›„ Connect

  • μˆ˜μ‹ λ˜λŠ” μ‹œλ¦¬μ–Ό 데이터 쀑 "#[KEY]:" ν˜•νƒœμ— λ§žλŠ” 값이 μžˆμ„ 경우 μžλ™ νŒŒμ‹±λ¨

  • μ°¨νŠΈμ— κ·Έλ €μ§€κ³  λ™μ‹œμ— CSV둜 μ €μž₯됨

πŸ§ͺ μ‹œλ¦¬μ–Ό 데이터 μ˜ˆμ‹œ

[13:04:13.2874] #TEST: 575,585,595,605,615 / delay: 1000ms
  • TESTλŠ” μž…λ ₯μ°½μ—μ„œ μ„€μ •ν•œ ν‚€μ›Œλ“œμ™€ μΌμΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.
    • ν•΄λ‹Ή μ˜ˆμ‹œμ—μ„  TEST 단어λ₯Ό κΈ°μ€€μœΌλ‘œ νŒŒμ‹±ν•˜λ©΄ 575,585,595,605,615 총 5개의 μˆ«μžκ°€ νŒŒμ‹±λ©λ‹ˆλ‹€.
  • μ΅œλŒ€ 10개 μ±„λ„κΉŒμ§€ μ²˜λ¦¬ν•©λ‹ˆλ‹€.

βš™ μ„€μ • κ°€λŠ₯ν•œ μš”μ†Œ

  • βœ… Auto Scroll
  • βœ… cv Time (μˆ˜μ‹  μ‹œκ°„ ν‘œμ‹œ)
  • βœ… Baud Rate, Port
  • βœ… μˆ˜μ‹  ν•„ν„° ν‚€μ›Œλ“œ (Text μž…λ ₯)
  • βœ… Stop λ²„νŠΌμœΌλ‘œ μΌμ‹œ 쀑지 κ°€λŠ₯

πŸ’Ύ μžλ™ μ €μž₯ 포맷 μ˜ˆμ‹œ (auto_log.csv)

Timestamp,CH1,CH2,CH3,CH4,CH5
2025-03-26 13:55:30.124,537,547,557,567,577
2025-03-26 13:55:31.142,538,548,558,568,578

✨ TODO / ν™•μž₯ κ°€λŠ₯μ„±(μΆ”ν›„ μ—…λ°μ΄νŠΈ μ˜ˆμ •)

  • 마우슀 μˆ˜μ§μ„  동기화 (crosshair line)
  • 채널 이름 μ»€μŠ€ν„°λ§ˆμ΄μ§•
  • μ΅œλŒ€ 데이터 포인트 μ œν•œ μ˜΅μ…˜
  • 둜그 파일 νšŒμ „ κΈ°λŠ₯ (μš©λŸ‰ 초과 μ‹œ μžλ™ λΆ„ν• )

πŸ‘€ Author

  • OIS (oinse719@gmail.com)
  • Python + Pyside + Matplotlib + μ‹œλ¦¬μ–Ό 톡신
profile
λ‚­λ§Œμ μΈ κ°œλ°œμžμž…λ‹ˆλ‹€~^^😍

0개의 λŒ“κΈ€