Skip to content

Latest commit

ย 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

RigolWidget

Release Downloads License: MIT Platform

ํ•œ๊ตญ์–ด ยท English

Windows ๋ฐ”ํƒ•ํ™”๋ฉด์— ํ•ญ์ƒ ๋–  ์žˆ๋Š” RIGOL DP800 ์‹œ๋ฆฌ์ฆˆ ์ „์›๊ณต๊ธ‰๊ธฐ ์ œ์–ด ์œ„์ ฏ์ž…๋‹ˆ๋‹ค. RIGOL ์ˆœ์ • PC ์†Œํ”„ํŠธ์›จ์–ด(Ultra Power)์—์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ฑท์–ด๋‚ด๊ณ , ์‹ค์‚ฌ์šฉ์— ํ•„์š”ํ•œ ์ฑ„๋„ ์ œ์–ด์™€ ๋ชจ๋‹ˆํ„ฐ๋ง๋งŒ ๋‚จ๊ธด ์ดˆ๊ฒฝ๋Ÿ‰ ์œ„์ ฏ์ž…๋‹ˆ๋‹ค(๋ชจ๋ธ์— ๋”ฐ๋ผ CH1~CH3). USB(VISA/SCPI)๋กœ ์žฅ๋น„์™€ ํ†ต์‹ ํ•˜๋ฉฐ, ์ ‘์† ์‹œ *IDN?๋กœ ๋ชจ๋ธ์„ ์ž๋™ ์ธ์‹ํ•ด ์ฑ„๋„ ์ˆ˜ยทํƒ€์ดํ‹€ยท์ •๊ฒฉ ๋ฒ”์œ„๋ฅผ ๋งž์ถฅ๋‹ˆ๋‹ค.

RigolWidget ๋ฉ”์ธ ์œ„์ ฏ

๊ธฐ๋Šฅ

  • ๋ชจ๋ธ ์ž๋™ ์ธ์‹ โ€” ์ ‘์† ์‹œ *IDN?๋กœ ๋ชจ๋ธ์„ ์ฝ์–ด ์ฑ„๋„ ์ˆ˜(1~3)ยทํƒ€์ดํ‹€ยท์ฑ„๋„๋ณ„ ์ „์••/์ „๋ฅ˜ ์ •๊ฒฉ์„ ์ž๋™ ์„ค์ • (DP832ยทDP831ยทDP821ยทDP811 ๋ฐ A ๋ณ€ํ˜•)
  • ์‹ค์‹œ๊ฐ„ ์ธก์ • โ€” ๊ฐ ์ฑ„๋„(๋ชจ๋ธ์— ๋”ฐ๋ผ ์ตœ๋Œ€ CH3)์˜ ์ „์••/์ „๋ฅ˜๋ฅผ 7์„ธ๊ทธ๋จผํŠธ(VFD) ๋””์Šคํ”Œ๋ ˆ์ด๋กœ ํ‘œ์‹œ
  • CV/CC ๋ชจ๋“œ ํ‘œ์‹œ โ€” ์žฅ๋น„์˜ ํ˜„์žฌ ๋™์ž‘ ๋ชจ๋“œ(์ •์ „์••/์ •์ „๋ฅ˜)๋ฅผ ์‹ค์‹œ๊ฐ„ ๋ฐ˜์˜
  • ์ถœ๋ ฅ ON/OFF โ€” ์ฑ„๋„๋ณ„ ์„ธ๋กœ ํ† ๊ธ€ ์Šค์œ„์น˜
  • ์ „์••/์ „๋ฅ˜ ์„ค์ • โ€” ์ธก์ •๊ฐ’ ํด๋ฆญ(ํŒ์—…) ๋˜๋Š” ๋งˆ์šฐ์Šค ํœ ๋กœ ์ง์ ‘ ์กฐ์ •
  • ๋ณดํ˜ธ ๊ธฐ๋Šฅ โ€” OCP(๊ณผ์ „๋ฅ˜)ยทOCV(๊ณผ์ „์••, SCPI OVP) ํ™œ์„ฑํ™” ๋ฐ ์ž„๊ณ„๊ฐ’ ์„ค์ •, ํŠธ๋ฆฝ(TRIP) ๋ฐœ์ƒ ์‹œ ๊ฒฝ๊ณ  ํ‘œ์‹œยทํ•ด์ œ
  • ์ž๋™ ์—ฐ๊ฒฐ โ€” ๋งˆ์ง€๋ง‰์— ์“ด ์žฅ๋น„๋ฅผ ๊ธฐ์–ตํ•ด ๋‘ ๋ฒˆ์งธ ์‹คํ–‰๋ถ€ํ„ฐ๋Š” ์„ ํƒ ์ฐฝ ์—†์ด ๋ฐ”๋กœ ์—ฐ๊ฒฐ (์žฅ๋น„๊ฐ€ ๋ฐ”๋€Œ๋ฉด ์ž๋™์œผ๋กœ ์„ ํƒ ์ฐฝ์œผ๋กœ ๋ณต๊ท€)
  • ์—ฐ๊ฒฐ ์ž๋™ ๋ณต๊ตฌ โ€” ์šด์šฉ ์ค‘ USB๊ฐ€ ๋Š๊ฒจ๋„ ๋งˆ์ง€๋ง‰ ์žฅ๋น„๋กœ ๊ณ„์† ์žฌ์ ‘์† ์‹œ๋„
  • AI ์ œ์–ด (MCP ์„œ๋ฒ„ ๋‚ด์žฅ) โ€” Claude ๋“ฑ MCP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ž์—ฐ์–ด๋กœ ์ „์›๊ณต๊ธ‰๊ธฐ๋ฅผ ์ฝ๊ณ  ์ œ์–ด (๊ธฐ๋ณธ ๋น„ํ™œ์„ฑ, ์˜ตํŠธ์ธ)
  • ์œ„์ ฏ UX โ€” ํ•ญ์ƒ ์œ„ ๊ณ ์ •, ํ”„๋ ˆ์ž„๋ฆฌ์Šค ๋“œ๋ž˜๊ทธ ์ด๋™, ํˆฌ๋ช…๋„ ์กฐ์ ˆ, ๋ชจ๋‹ˆํ„ฐ ๊ฐ€์žฅ์ž๋ฆฌ ์ž์„ ์Šค๋ƒ…

์‚ฌ์šฉ๋ฒ•

1. ์žฅ๋น„ ์„ ํƒ

ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ๋จผ์ € ์žฅ๋น„ ์„ ํƒ ์ฐฝ์ด ๋œน๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋œ USB ๊ณ„์ธก๊ธฐ ๋ชฉ๋ก์—์„œ DP832๋ฅผ ๊ณ ๋ฅธ ๋’ค ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. (USB ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์ง€์›)

์žฅ๋น„ ์„ ํƒ

์ž๋™ ์—ฐ๊ฒฐ (๋‘ ๋ฒˆ์งธ ์‹คํ–‰๋ถ€ํ„ฐ ์„ ํƒ ์ฐฝ ๊ฑด๋„ˆ๋›ฐ๊ธฐ)

์„ ํƒ ์ฐฝ ํ•˜๋‹จ์˜ Remember this device and connect automatically ๋ฅผ ์ฒดํฌํ•œ ์ฑ„๋กœ ์—ฐ๊ฒฐํ•˜๋ฉด, ๋‹ค์Œ ์‹คํ–‰๋ถ€ํ„ฐ๋Š” ์„ ํƒ ์ฐฝ ์—†์ด ๋ฐ”๋กœ ๊ทธ ์žฅ๋น„์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๊ณ ์ • ์ž๋ฆฌ์— ์žฅ๋น„๋ฅผ ๋‘๊ณ  ์“ฐ๋Š” ๊ฒฝ์šฐ์— ํŽธํ•ฉ๋‹ˆ๋‹ค.

์ƒํ™ฉ ๋™์ž‘
์ €์žฅ๋œ ์žฅ๋น„๊ฐ€ ๊ทธ๋Œ€๋กœ ์žˆ์Œ ์„ ํƒ ์ฐฝ ์—†์ด ์ฆ‰์‹œ ์—ฐ๊ฒฐ
๊ฐ™์€ ์žฅ๋น„์ธ๋ฐ USB ํฌํŠธ๋ฅผ ๋ฐ”๊ฟ” ๊ฝ‚์Œ ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ๋กœ ์ฐพ์•„ ์ž๋™ ์—ฐ๊ฒฐ (USB0โ†’USB1 ๋“ฑ ๋ณ€๊ฒฝ๋ถ„์€ ์ž๋™ ๊ฐฑ์‹ )
์žฅ๋น„๊ฐ€ ๊ต์ฒด๋จ / ์•ˆ ๋ณด์ž„ ์ด์œ ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์•ˆ๋‚ด์™€ ํ•จ๊ป˜ ์„ ํƒ ์ฐฝ ํ‘œ์‹œ
๋ถ€ํŒ… ์งํ›„๋ผ USB ์ธ์‹์ด ๋œ ๋จ ์ตœ๋Œ€ 3ํšŒ(์•ฝ 2์ดˆ) ์žฌ๊ฒ€์ƒ‰ ํ›„ ํŒ๋‹จ
  • ์„ ํƒ ์ฐฝ์„ ๋‹ค์‹œ ๋„์šฐ๋ ค๋ฉด: Shift๋ฅผ ๋ˆ„๋ฅธ ์ฑ„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, RigolWidget.exe --select ๋กœ ์‹คํ–‰
  • ์‹คํ–‰ ์ค‘ ์žฅ๋น„ ๊ต์ฒด: ํƒ€์ดํ‹€๋ฐ” ์šฐํด๋ฆญ โ†’ Change Deviceโ€ฆ (์žฌ์‹œ์ž‘ ๋ถˆํ•„์š”, ์ƒˆ ์žฅ๋น„์˜ ๋ชจ๋ธยท์ฑ„๋„ ์ˆ˜๋ฅผ ๋‹ค์‹œ ์ธ์‹)
  • ๋ฐ”๋กœ๊ฐ€๊ธฐ๋กœ ํŠน์ • ์žฅ๋น„ ์ง€์ •: RigolWidget.exe --device "USB0::0x1AB1::0x0E11::DP8C200300243::INSTR"
  • ์„ค์ •์€ %APPDATA%\RigolWidget\settings.json ์˜ AutoConnect / LastResource ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

2. ๋ฉ”์ธ ์œ„์ ฏ ์กฐ์ž‘

๋Œ€์ƒ ๋™์ž‘ ๋ฐฉ๋ฒ•
์ถœ๋ ฅ ํ† ๊ธ€ ์ฑ„๋„ ON/OFF ์™ผ์ชฝ ์„ธ๋กœ ์Šค์œ„์น˜ ํด๋ฆญ
์ „์••/์ „๋ฅ˜ ์„ค์ • ์ •๋ฐ€ ์ž…๋ ฅ ์ธก์ •๊ฐ’(์ดˆ๋ก/์‹œ์•ˆ ์ˆซ์ž) ํด๋ฆญ โ†’ ํŒ์—…์—์„œ ์ˆซ์ž ์ž…๋ ฅยท์Šคํ… ๋ฒ„ํŠผยท์ ์šฉ
๋น ๋ฅธ ์ฆ๊ฐ ์ธก์ •๊ฐ’ ์œ„์—์„œ ๋งˆ์šฐ์Šค ํœ  (์ „์•• ยฑ1 V / ์ „๋ฅ˜ ยฑ0.1 A)
๋ฏธ์„ธ ์ฆ๊ฐ Ctrl + ๋งˆ์šฐ์Šค ํœ  (์ „์•• ยฑ0.1 V / ์ „๋ฅ˜ ยฑ0.01 A)
OCP / OCV ๋ณดํ˜ธ ์ผœ๊ธฐยท๋„๊ธฐ ์˜ค๋ฅธ์ชฝ ๋ณดํ˜ธ ๊ทธ๋ฃน์˜ ์ฒดํฌ๋ฐ•์Šค ํด๋ฆญ
์ž„๊ณ„๊ฐ’ ๋ณ€๊ฒฝ ์˜† ์ž…๋ ฅ์นธ์— ์ˆซ์ž ์ž…๋ ฅ ํ›„ Enter
TRIP ํ•ด์ œ ๋ณดํ˜ธ ํŠธ๋ฆฝ ๋ณต๊ตฌ ๋นจ๊ฐ›๊ฒŒ ๊นœ๋นก์ด๋Š” TRIP ๋ฐฐ์ง€ ํด๋ฆญ
์ฐฝ ์ด๋™ ์œ„์น˜ ๋ณ€๊ฒฝ ํƒ€์ดํ‹€๋ฐ” ๋“œ๋ž˜๊ทธ (ํ™”๋ฉด ๊ฐ€์žฅ์ž๋ฆฌ์— ์ž์„ ์Šค๋ƒ…)
๋ฏธ๋‹ˆ์ฐฝ ๋ชจ๋“œ ์ „์ฒด โ†” ๋ฏธ๋‹ˆ ์ „ํ™˜ ํƒ€์ดํ‹€๋ฐ” ๋”๋ธ”ํด๋ฆญ
ํˆฌ๋ช…๋„ ์ง„ํ•˜๊ฒŒ โ†” ํˆฌ๋ช… ํƒ€์ดํ‹€๋ฐ” ์œ„์—์„œ ๋งˆ์šฐ์Šค ํœ 
ํ•ญ์ƒ ์œ„ ๊ณ ์ • TopMost ํ† ๊ธ€ ํƒ€์ดํ‹€๋ฐ” ๐Ÿ“Œ ๋ฒ„ํŠผ, ๋˜๋Š” ์šฐํด๋ฆญ ๋ฉ”๋‰ด
์žฅ๋น„ ๋ณ€๊ฒฝ ๋‹ค๋ฅธ ์žฅ๋น„๋กœ ์ „ํ™˜ ํƒ€์ดํ‹€๋ฐ” ์šฐํด๋ฆญ โ†’ Change Deviceโ€ฆ
๋ฒ„์ „ ํ™•์ธ / ๋‹ซ๊ธฐ โ€” ํƒ€์ดํ‹€๋ฐ” ์šฐํด๋ฆญ ๋ฉ”๋‰ด

3. ๋ฏธ๋‹ˆ์ฐฝ ๋ชจ๋“œ

ํƒ€์ดํ‹€๋ฐ”๋ฅผ ๋”๋ธ”ํด๋ฆญํ•˜๋ฉด ์ถœ๋ ฅ ํ† ๊ธ€๊ณผ ์ธก์ • ์ „์••/์ „๋ฅ˜๋งŒ ๋‚จ๊ธด ์ดˆ์†Œํ˜• ๋ทฐ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋”๋ธ”ํด๋ฆญํ•˜๋ฉด ์ „์ฒด ๋ชจ๋“œ๋กœ ๋Œ์•„์˜ต๋‹ˆ๋‹ค. ์ข์€ ํ™”๋ฉด ํ•œ์ชฝ์— ์ƒํƒœ๋งŒ ๋„์›Œ๋‘๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค.

๋ฏธ๋‹ˆ์ฐฝ ๋ชจ๋“œ

์„ค์ •๊ฐ’(SET) ํ‘œ์‹œ: ์ธก์ •๊ฐ’ ์˜ค๋ฅธ์ชฝ์— ํ˜„์žฌ ์„ค์ •๋œ ์ „์••/์ „๋ฅ˜๊ฐ€ ํ•ญ์ƒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํœ ๋กœ ์กฐ์ •ํ•˜๋Š” ๋™์•ˆ์—๋Š” ์ˆซ์ž๊ฐ€ ๊นœ๋นก์ด๋ฉฐ, ์กฐ์ž‘์„ ๋ฉˆ์ถ”๊ณ  ์•ฝ 2์ดˆ ๋’ค ์žฅ๋น„๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค(์—ฐ์† ์กฐ์ž‘ ์ค‘ ๊ณผ๋„ํ•œ ๋ช…๋ น ์ „์†ก ๋ฐฉ์ง€).

์ „์••/์ „๋ฅ˜ vs OCP/OCV์˜ ์ฐจ์ด

  • ์ „์•• / ์ „๋ฅ˜ ์„ค์ •: ์ถœ๋ ฅ ๋ ˆ๊ทค๋ ˆ์ด์…˜ ๊ฐ’์ž…๋‹ˆ๋‹ค. ์ „๋ฅ˜ ์„ค์ •์€ "์ฐจ๋‹จ"์ด ์•„๋‹ˆ๋ผ ์ œํ•œ(๋ฆฌ๋ฏธํŠธ) ์œผ๋กœ, ๋ถ€ํ•˜๊ฐ€ ์ด ๊ฐ’์„ ๋„˜๊ฒŒ ์š”๊ตฌํ•˜๋ฉด ์žฅ๋น„๊ฐ€ ์ „์••์„ ๋‚ฎ์ถฐ ์ „๋ฅ˜๋ฅผ ๋ฌถ์Šต๋‹ˆ๋‹ค(CC ๋ชจ๋“œ).
  • OCP / OCV: ๋ณดํ˜ธ ์ฐจ๋‹จ๊ธฐ์ž…๋‹ˆ๋‹ค. ์„ค์ • ์ž„๊ณ„๊ฐ’์„ ๋„˜์œผ๋ฉด ์ถœ๋ ฅ์„ ์ฆ‰์‹œ ๋„๊ณ (ํŠธ๋ฆฝ), ์›์ธ ์ œ๊ฑฐ ํ›„ ์ˆ˜๋™ ํ•ด์ œํ•ด์•ผ ๋‹ค์‹œ ์ผœ์ง‘๋‹ˆ๋‹ค.

์š”๊ตฌ ์‚ฌํ•ญ

  • Windows 10/11 (x64)
  • VISA ๋Ÿฐํƒ€์ž„ โ€” NI-VISA ๋“ฑ. visa32.dll์„ ํ†ตํ•ด ์žฅ๋น„์™€ ํ†ต์‹ ํ•˜๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • RIGOL DP800 ์‹œ๋ฆฌ์ฆˆ (USB ์—ฐ๊ฒฐ) โ€” ์•„๋ž˜ ์ง€์› ๋ชจ๋ธ ํ‘œ ์ฐธ๊ณ 
  • ํ”„๋ ˆ์ž„์›Œํฌ ์˜์กด ๋ฒ„์ „ ์‹คํ–‰ ์‹œ .NET 8 Desktop Runtime

์ง€์› ๋ชจ๋ธ

์ ‘์† ์‹œ *IDN?๋กœ ๋ชจ๋ธ์„ ์ธ์‹ํ•ด ํƒ€์ดํ‹€ ํ‘œ์‹œ์™€ ์ฑ„๋„๋ณ„ ์ „์••/์ „๋ฅ˜ ์ •๊ฒฉ์„ ์ž๋™์œผ๋กœ ๋งž์ถฅ๋‹ˆ๋‹ค. ์ •๊ฒฉ ๊ฐ’์€ ๊ฐ ๋ชจ๋ธ์˜ ๋ฐ์ดํ„ฐ์‹œํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด์žฅ๋ผ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ ์ œ์–ด ์ฑ„๋„ ์ •๊ฒฉ (CH1 / CH2 / CH3) ์ง€์› ์ˆ˜์ค€ ์‹ค์ œ ํ…Œ์ŠคํŠธ
DP832 / DP832A CH1, CH2, CH3 30Vยท3A / 30Vยท3A / 5Vยท3A โœ… ์™„์ „ ์ง€์› โœ… DP832 ๊ฒ€์ฆ ์™„๋ฃŒ
DP831 / DP831A CH1, CH2 8Vยท5A / 30Vยท2A / (CH3 ์ œ์™ธ) โœ… ์ •๊ฒฉ ์ž๋™ ์ ์šฉ โฌœ ๋ฏธ๊ฒ€์ฆ
DP821 / DP821A CH1, CH2 60Vยท1A / 8Vยท10A / โ€” โœ… ์ •๊ฒฉ ์ž๋™ ์ ์šฉ โฌœ ๋ฏธ๊ฒ€์ฆ
DP811 / DP811A CH1 (๋‹จ์ผ ์ฑ„๋„) 40Vยท5A / โ€” / โ€” ๐ŸŸก ๋‹จ์ผ ์ฑ„๋„๋กœ ํ‘œ์‹œ โฌœ ๋ฏธ๊ฒ€์ฆ
DP700 (DP711/DP712) โ€” โ€” โŒ ๋ฏธ์ง€์› โ€”
  • โœ… ์‹ค์ œ ํ…Œ์ŠคํŠธ: ํ˜„์žฌ DP832(CH3 ํฌํ•จ)๋งŒ ํ•˜๋“œ์›จ์–ด๋กœ ๊ฒ€์ฆํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ DP800 ๋ชจ๋ธ์€ SCPI ๋ช…๋ น์…‹์ด ๋™์ผํ•ด ๋™์ž‘์ด ์˜ˆ์ƒ๋˜๋ฉฐ ์ฑ„๋„ ์ˆ˜ยท์ •๊ฒฉ์€ ์ž๋™ ์ ์šฉ๋˜์ง€๋งŒ, ์‹ค๋ฌผ ๊ฒ€์ฆ์€ ์•„์ง์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•ด ๋ณด์‹œ๊ณ  ์ด์ƒ์ด ์žˆ์œผ๋ฉด Issue๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”.
  • CH3: ๋ชจ๋ธ์— CH3๊ฐ€ ์žˆ์œผ๋ฉด ์„ธ ๋ฒˆ์งธ ํ–‰(์•ฐ๋ฒ„ ์ƒ‰)์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. DP832 CH3๋Š” 0~5V/3A์ž…๋‹ˆ๋‹ค.
  • ๐ŸŸก DP811(A): ๋‹จ์ผ ์ฑ„๋„ ๋ชจ๋ธ์ด๋ผ CH1๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค(CH2/CH3 ์ˆจ๊น€).
  • โš  DP831(A) CH3: ์Œ(โˆ’)์ „์•• ๋ ˆ์ผ(0~โˆ’30V)์ด๋ผ ํ˜„์žฌ UI(์–‘์ „์•• ๊ธฐ์ค€)์—์„œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š์•„ 2์ฑ„๋„๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • โŒ DP700 ์‹œ๋ฆฌ์ฆˆ: RS232 ๊ธฐ๋ฐ˜์˜ ๋‹ค๋ฅธ ๋ช…๋ น์…‹์„ ์‚ฌ์šฉํ•ด ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

AI ์ œ์–ด (๋‚ด์žฅ MCP ์„œ๋ฒ„)

์ด ์œ„์ ฏ์€ AI์—๊ฒŒ ์ „์›๊ณต๊ธ‰๊ธฐ๋ฅผ ๋งก๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Claude์—๊ฒŒ ์ด๋ ‡๊ฒŒ ๋งํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค:

"CH1์„ 3.3V๋กœ ์„ค์ •ํ•˜๊ณ  ์ถœ๋ ฅ ์ผœ์ค˜" ยท "์ง€๊ธˆ ๋‘ ์ฑ„๋„ ์ „๋ฅ˜ ์–ผ๋งˆ์•ผ?" ยท "์ž‘์—… ๋๋‚ฌ์œผ๋‹ˆ ์ „๋ถ€ ์ถœ๋ ฅ ๊บผ์ค˜" ยท "CH2์— ๊ณผ์ „๋ฅ˜ 1A ๋ณดํ˜ธ ๊ฑธ์–ด์ค˜"

MCP๊ฐ€ ๋ญ”๊ฐ€์š”? (์ฒ˜์Œ์ด์‹  ๋ถ„๋“ค์„ ์œ„ํ•ด)

MCP(Model Context Protocol) ๋Š” AI(์˜ˆ: Claude)๊ฐ€ ์™ธ๋ถ€ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋Šฅ์„ ๋„๊ตฌ(tool) ๋กœ ๋ถˆ๋Ÿฌ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ‘œ์ค€ ๊ทœ์•ฝ์ž…๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด, ์ด ์œ„์ ฏ์ด "์ „์•• ์„ค์ •", "์ถœ๋ ฅ ์ผœ๊ธฐ" ๊ฐ™์€ ๊ธฐ๋Šฅ์„ AI๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋…ธ์ถœํ•˜๊ณ , AI๊ฐ€ ํ•„์š”ํ•  ๋•Œ ๊ทธ ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

  • MCP ์„œ๋ฒ„ = ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์ชฝ โ†’ ์—ฌ๊ธฐ์„œ๋Š” ์ด ์œ„์ ฏ
  • MCP ํด๋ผ์ด์–ธํŠธ = ๊ธฐ๋Šฅ์„ ๋ถˆ๋Ÿฌ ์“ฐ๋Š” ์ชฝ โ†’ Claude Code, Claude Desktop ๋“ฑ AI ์•ฑ
  • ์ด ์œ„์ ฏ์˜ MCP ์„œ๋ฒ„๋Š” ์‹คํ–‰ ์ค‘์ธ ์œ„์ ฏ๊ณผ ๊ฐ™์€ USB ์—ฐ๊ฒฐ์„ ๊ณต์œ ํ•˜๋ฏ€๋กœ, ์œ„์ ฏ์„ ์ผœ ๋‘” ์ฑ„๋กœ AI๊ฐ€ ์ œ์–ดํ•ด๋„ ์ถฉ๋Œ์ด ์—†๊ณ  ํ™”๋ฉด์—๋„ ๋ฐ”๋กœ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

MCP๋ฅผ ๋ชฐ๋ผ๋„ ์œ„์ ฏ ์ž์ฒด๋Š” ๊ทธ๋ƒฅ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์›ํ•˜๋Š” ์‚ฌ๋žŒ๋งŒ ์ผœ๋Š” ์„ ํƒ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

1๋‹จ๊ณ„ โ€” ์œ„์ ฏ์—์„œ MCP ์„œ๋ฒ„ ์ผœ๊ธฐ

  1. ์œ„์ ฏ ํƒ€์ดํ‹€๋ฐ”๋ฅผ ๋งˆ์šฐ์Šค ์šฐํด๋ฆญ ํ•ฉ๋‹ˆ๋‹ค.
  2. "MCP ์„œ๋ฒ„" ๋ฅผ ํด๋ฆญํ•ด ์ฒดํฌ โ†’ ์œ„์ ฏ ์•ˆ์—์„œ ๋กœ์ปฌ ์„œ๋ฒ„๊ฐ€ http://127.0.0.1:7735/ ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. (๋ฉ”๋‰ด์— MCP ์„œ๋ฒ„ (์ผœ์ง ยท :7735) ๋กœ ํ‘œ์‹œ)
  3. AI๊ฐ€ ๊ฐ’์„ ๋ฐ”๊พธ๊ฒŒ ํ•˜๋ ค๋ฉด "MCP ์ œ์–ด ํ—ˆ์šฉ" ๋„ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค.
    • ์ฒดํฌ ์•ˆ ํ•จ = ์ฝ๊ธฐ ์ „์šฉ (์ธก์ •๊ฐ’ยท์ƒํƒœ ์กฐํšŒ๋งŒ ๊ฐ€๋Šฅ, ์•ˆ์ „)
    • ์ฒดํฌํ•จ = ์ „์••/์ „๋ฅ˜/์ถœ๋ ฅ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  4. (์„ ํƒ) "MCP ์ฃผ์†Œ ๋ณต์‚ฌ" ๋กœ ์ฃผ์†Œ(http://127.0.0.1:7735/)๋ฅผ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ ๋ฒˆ ์ผœ๋‘๋ฉด ์„ค์ •์ด ์ €์žฅ๋˜์–ด ๋‹ค์Œ ์‹คํ–‰ ๋•Œ๋„ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

2๋‹จ๊ณ„ โ€” AI ์•ฑ(Claude)์— ์œ„์ ฏ ์—ฐ๊ฒฐํ•˜๊ธฐ

Claude Code(CLI) ๋ฅผ ์“ฐ๋Š” ๊ฒฝ์šฐ, ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ํ•œ ์ค„๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. --scope user ๋Š” "๋ชจ๋“  ํด๋”์—์„œ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ๋‚ด ๊ณ„์ • ์ „์ฒด์— ๋“ฑ๋ก"์ด๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

claude mcp add --scope user --transport http rigol http://127.0.0.1:7735/

๋“ฑ๋ก๋๋Š”์ง€ ํ™•์ธ:

claude mcp list
# rigol: http://127.0.0.1:7735/ (HTTP) - โœ“ Connected  โ† ์ด๋ ‡๊ฒŒ ๋‚˜์˜ค๋ฉด ์„ฑ๊ณต
  • โœ“ Connected ๊ฐ€ ๋œจ๋ ค๋ฉด ์œ„์ ฏ์ด ์‹คํ–‰ ์ค‘์ด๊ณ  "MCP ์„œ๋ฒ„"๊ฐ€ ์ผœ์ ธ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋“ฑ๋ก ์งํ›„ ์‹คํ–‰ ์ค‘์ด๋˜ Claude Code ์„ธ์…˜์—๋Š” ๋„๊ตฌ๊ฐ€ ๋ฐ”๋กœ ์•ˆ ๋ถ™์Šต๋‹ˆ๋‹ค โ†’ Claude Code๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๋ฉด rigol ๋„๊ตฌ๊ฐ€ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.
  • ํŠน์ • ํ”„๋กœ์ ํŠธ์—์„œ๋งŒ ์“ฐ๋ ค๋ฉด --scope user ๋ฅผ ๋นผ๋ฉด ๋ฉ๋‹ˆ๋‹ค(๊ทธ ํด๋” ์ „์šฉ). ์ž˜๋ชป ๋“ฑ๋กํ–ˆ์œผ๋ฉด claude mcp remove rigol ๋กœ ์ง€์šฐ๊ณ  ๋‹ค์‹œ ๋“ฑ๋กํ•˜์„ธ์š”.

Claude Desktop ์•ฑ์„ ์“ฐ๋Š” ๊ฒฝ์šฐ

Claude Desktop์€ Claude Code(CLI)์™€ ์„ค์ •์ด ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์–ด ์œ„ claude mcp add ๋กœ ๋“ฑ๋กํ•ด๋„ Desktop์—๋Š” ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Desktop ์„ค์ • ํŒŒ์ผ์— ๋”ฐ๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Desktop์—์„œ HTTP ์„œ๋ฒ„๋ฅผ ๋ถ™์ด๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ• A โ€” ์ปค๋„ฅํ„ฐ UI (Node ๋ถˆํ•„์š”, ๊ถŒ์žฅ)

  1. Claude Desktop โ†’ ์„ค์ • โ†’ ์ปค๋„ฅํ„ฐ โ†’ "์‚ฌ์šฉ์ž ์ง€์ • ์ปค๋„ฅํ„ฐ ์ถ”๊ฐ€"
  2. ์ด๋ฆ„ rigol, URL http://127.0.0.1:7735/ ์ž…๋ ฅ ํ›„ ์ถ”๊ฐ€
  3. ์œ„์ ฏ์—์„œ "MCP ์„œ๋ฒ„"๊ฐ€ ์ผœ์ ธ ์žˆ์œผ๋ฉด ๋ฐ”๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ : ์ผ๋ถ€ ์กฐ์ง(ํšŒ์‚ฌ) ๊ด€๋ฆฌ ๊ณ„์ •์€ ์‚ฌ์šฉ์ž ์ง€์ • ์ปค๋„ฅํ„ฐ ์ถ”๊ฐ€๊ฐ€ ๋น„ํ™œ์„ฑ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "์‚ฌ์šฉ์ž ์ง€์ • ์ปค๋„ฅํ„ฐ ์ถ”๊ฐ€"๊ฐ€ ์•ˆ ๋ณด์ด๋ฉด Claude Code(์ด๋ฏธ ๋™์ž‘)๋ฅผ ์“ฐ๊ฑฐ๋‚˜ ์•„๋ž˜ ๋ฐฉ๋ฒ• B๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

๋ฐฉ๋ฒ• B โ€” ๊ตฌ์„ฑ ํŒŒ์ผ + mcp-remote ๋ธŒ๋ฆฌ์ง€ (Node.js ํ•„์š”)

Desktop์˜ ๋กœ์ปฌ MCP ์„œ๋ฒ„๋Š” stdio(๋ช…๋ น์–ด) ๋ฐฉ์‹์ด๋ผ, HTTP ์„œ๋ฒ„์ธ ์ด ์œ„์ ฏ์€ mcp-remote ๋ธŒ๋ฆฌ์ง€๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค. Node.js ์„ค์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(์—†์œผ๋ฉด ์ด ๋ฐฉ๋ฒ•์€ ๋™์ž‘ํ•˜์ง€ ์•Š์Œ โ†’ ๋ฐฉ๋ฒ• A ์‚ฌ์šฉ).

  1. Claude Desktop โ†’ ์„ค์ • โ†’ ๊ฐœ๋ฐœ์ž โ†’ "๊ตฌ์„ฑ ํŽธ์ง‘" ์œผ๋กœ %APPDATA%\Claude\claude_desktop_config.json ์„ ์—ฝ๋‹ˆ๋‹ค.

  2. mcpServers ์— ์•„๋ž˜ rigol ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค(๋‹ค๋ฅธ ํ•ญ๋ชฉ์ด ์žˆ์œผ๋ฉด ์ฝค๋งˆ๋กœ ์ด์–ด์„œ):

    {
      "mcpServers": {
        "rigol": {
          "command": "npx",
          "args": ["mcp-remote", "http://127.0.0.1:7735/"]
        }
      }
    }
  3. ์ €์žฅ ํ›„ Claude Desktop์„ ์žฌ์‹œ์ž‘ํ•˜๋ฉด rigol ๋„๊ตฌ๊ฐ€ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.

์š”์•ฝ: HTTP๋ฅผ ์ง์ ‘ ์ง€์›ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ(Claude Code, Desktop ์ปค๋„ฅํ„ฐ UI)๋Š” URL http://127.0.0.1:7735/ ๋กœ ๋ฐ”๋กœ, stdio๋งŒ ์ง€์›ํ•˜๋ฉด mcp-remote ๋ธŒ๋ฆฌ์ง€(Node ํ•„์š”)๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

3๋‹จ๊ณ„ โ€” ์จ๋ณด๊ธฐ

Claude์—๊ฒŒ ์ž์—ฐ์–ด๋กœ ์š”์ฒญํ•˜๋ฉด ์•„๋ž˜ ๋„๊ตฌ๋ฅผ ์•Œ์•„์„œ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค:

"๋ฆฌ๊ณจ ์ƒํƒœ ์•Œ๋ ค์ค˜" โ†’ get_status ํ˜ธ์ถœ โ†’ ๋‘ ์ฑ„๋„ ์ „์••/์ „๋ฅ˜/์ถœ๋ ฅ ์ƒํƒœ๋ฅผ ์š”์•ฝํ•ด ์คŒ "CH1 5V๋กœ ์„ค์ •ํ•˜๊ณ  ์ผœ์ค˜" โ†’ set_voltage + set_output ํ˜ธ์ถœ (์ œ์–ด ํ—ˆ์šฉ ์ผœ์ ธ ์žˆ์–ด์•ผ ํ•จ)

์ œ๊ณต ๋„๊ตฌ(tool)

๋„๊ตฌ ์„ค๋ช… ํžŒํŠธ ์ œ์–ด ํ—ˆ์šฉ ํ•„์š”
get_status ์ „ ์ฑ„๋„ ์ธก์ •๊ฐ’ยท์„ค์ •๊ฐ’ยท์ถœ๋ ฅยทCV/CCยทOCP/OVPยทํŠธ๋ฆฝ ์ƒํƒœ ์กฐํšŒ ์ฝ๊ธฐ ์ „์šฉ โ€”
get_identity ๋ชจ๋ธ๋ช…ยทIDNยท์ฑ„๋„ ์ˆ˜ ์กฐํšŒ ์ฝ๊ธฐ ์ „์šฉ โ€”
show_panel ๋Œ€ํ™”์ฐฝ ์•ˆ์— ๋ผ์ด๋ธŒ ์ œ์–ด ํŒจ๋„ ๋„์šฐ๊ธฐ (MCP Apps) ์ฝ๊ธฐ ์ „์šฉ โ€”
set_voltage / set_current ์ฑ„๋„ ์ „์•• / ์ „๋ฅ˜ ๋ฆฌ๋ฏธํŠธ ์„ค์ • ๋ณ€๊ฒฝ โœ…
set_output ์ฑ„๋„ ์ถœ๋ ฅ ON/OFF ๋ณ€๊ฒฝ โœ…
set_ocp / set_ovp ๊ณผ์ „๋ฅ˜ / ๊ณผ์ „์•• ๋ณดํ˜ธ ํ™œ์„ฑยท์ž„๊ณ„๊ฐ’ ์„ค์ • ๋ณ€๊ฒฝ โœ…
clear_trip ๋ณดํ˜ธ ํŠธ๋ฆฝ(OCP/OVP) ํ•ด์ œ ๋ณ€๊ฒฝ โœ…

๊ฐ ๋„๊ตฌ๋Š” MCP ํˆด ์• ๋…ธํ…Œ์ด์…˜(readOnlyHint / destructiveHint / idempotentHint / openWorldHint)์„ ํ•จ๊ป˜ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค. AI ํด๋ผ์ด์–ธํŠธ๋Š” ์ด ํžŒํŠธ๋กœ "์กฐํšŒ ๋„๊ตฌ"์™€ "์žฅ๋น„๋ฅผ ๋ฐ”๊พธ๋Š” ๋„๊ตฌ"๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์–ด, ์ฝ๊ธฐ ๋„๊ตฌ๋Š” ์ž๋™ ์Šน์ธํ•˜๊ณ  ๋ณ€๊ฒฝ ๋„๊ตฌ๋งŒ ํ™•์ธ๋ฐ›๋Š” ์‹์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐํšŒ ๋„๊ตฌ๋Š” ๊ตฌ์กฐํ™” ์ถœ๋ ฅ(structuredContent + outputSchema) ๋„ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ…์ŠคํŠธ๋ฅผ ํŒŒ์‹ฑํ•˜์ง€ ์•Š๊ณ  ์Šคํ‚ค๋งˆ๋Œ€๋กœ ๊ฐ’์„ ์ฝ์Šต๋‹ˆ๋‹ค.

๋Œ€ํ™”์ฐฝ ์•ˆ์˜ ์ œ์–ด ํŒจ๋„ (MCP Apps)

show_panel ๋„๊ตฌ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด AI ๋Œ€ํ™”์ฐฝ ์•ˆ์— ์‹ค์ œ ๋™์ž‘ํ•˜๋Š” ์ œ์–ด ํŒจ๋„์ด ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. ์ „ ์ฑ„๋„ ์ธก์ •๊ฐ’์ด ๋ณด์ด๊ณ , ์ถœ๋ ฅ ON/OFFยท์ „์••/์ „๋ฅ˜ ์„ค์ •ยทํŠธ๋ฆฝ ํ•ด์ œ๋ฅผ ํŒจ๋„์—์„œ ๋ฐ”๋กœ ๋ˆ„๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€ํ™”์ฐฝ ์•ˆ์˜ MCP ์ œ์–ด ํŒจ๋„

"๋ฆฌ๊ณจ ํŒจ๋„ ๋„์›Œ์ค˜" ๋ผ๊ณ  ๋งํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํŒจ๋„์˜ ๋ฒ„ํŠผ๋„ "MCP ์ œ์–ด ํ—ˆ์šฉ" ์ด ์ผœ์ ธ ์žˆ์„ ๋•Œ๋งŒ ํ™œ์„ฑํ™”๋˜๋ฉฐ, ๊บผ์ ธ ์žˆ์œผ๋ฉด ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์•ˆ๋‚ด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

MCP Apps๋Š” MCP ํ‘œ์ค€์˜ ํ™•์žฅ ๊ธฐ๋Šฅ์ด๋ผ ์ง€์›ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ(Claude ๋ฐ์Šคํฌํ†ฑ/์›น, VS Code Copilot ๋“ฑ)์—์„œ๋งŒ ํŒจ๋„์ด ๋ณด์ž…๋‹ˆ๋‹ค. ์ง€์›ํ•˜์ง€ ์•Š๋Š” ํด๋ผ์ด์–ธํŠธ์—์„œ๋Š” show_panel์ด get_status์™€ ๊ฐ™์€ ํ…์ŠคํŠธยท๊ตฌ์กฐํ™” ๊ฒฐ๊ณผ๋งŒ ๋Œ๋ ค์ค๋‹ˆ๋‹ค.

์•ˆ์ „์žฅ์น˜

ํ•˜๋“œ์›จ์–ด๋ฅผ AI๊ฐ€ ์ œ์–ดํ•˜๋Š” ๋งŒํผ ์•ˆ์ „์„ ์šฐ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค:

  • ๊ธฐ๋ณธ ์ „๋ถ€ ๊บผ์ง: MCP ์„œ๋ฒ„๋„, ์ œ์–ด ํ—ˆ์šฉ๋„ ์ฒ˜์Œ์—” ๋น„ํ™œ์„ฑ โ€” ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ผœ์•ผ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • ์ œ์–ด ์ž ๊ธˆ: "MCP ์ œ์–ด ํ—ˆ์šฉ"์„ ์ผœ๊ธฐ ์ „์—” ๋ชจ๋“  ์“ฐ๊ธฐ ๋„๊ตฌ๊ฐ€ ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค(์กฐํšŒ๋งŒ ๊ฐ€๋Šฅ).
  • ๋กœ์ปฌ ์ „์šฉ: 127.0.0.1(๋‚ด PC)์—๋งŒ ์—ด๋ฆฌ๋ฉฐ, ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์ •๊ฒฉ ํด๋žจํ”„: ๋ชจ๋“  ์„ค์ •๊ฐ’์€ ๊ฐ์ง€๋œ ๋ชจ๋ธ์˜ ์ •๊ฒฉ ๋ฒ”์œ„๋กœ ์ž๋™ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: 30V/3A ์ดˆ๊ณผ ๋ถˆ๊ฐ€).
  • ๋ช…๋ น ๋กœ๊ทธ: AI๊ฐ€ ๋ณด๋‚ธ ๋ชจ๋“  ์“ฐ๊ธฐ ๋ช…๋ น์€ %LOCALAPPDATA%\RigolWidget\rigolwidget.log ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.
  • ๊ฑฐ๋ถ€๋Š” ์˜ค๋ฅ˜๋กœ ๋ฐ˜ํ™˜: ์ œ์–ด๊ฐ€ ๊บผ์ง„ ์ƒํƒœ์˜ ์“ฐ๊ธฐ ์‹œ๋„๋Š” ์ •์ƒ ์‘๋‹ต์ด ์•„๋‹ˆ๋ผ ๋„๊ตฌ ์˜ค๋ฅ˜๋กœ ๋Œ์•„๊ฐ€๋ฏ€๋กœ, AI๊ฐ€ ์„ฑ๊ณตํ•œ ๊ฒƒ์œผ๋กœ ์ฐฉ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”„๋กœํ† ์ฝœ / ํ˜ธํ™˜์„ฑ

๋‚ด์žฅ ์„œ๋ฒ„๋Š” MCP C# SDK 2.2.0 ๊ธฐ๋ฐ˜์ด๋ฉฐ ์ตœ์‹  ์ŠคํŽ™ ๋ฆฌ๋น„์ „ 2026-07-28(์Šคํ…Œ์ดํŠธ๋ฆฌ์Šค ์š”์ฒญ, server/discover, ์บ์‹ฑ ํžŒํŠธ)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— initialize ํ•ธ๋“œ์…ฐ์ดํฌ๋ฅผ ์“ฐ๋Š” 2025-11-25 ์ดํ•˜ ๊ตฌํ˜• ํด๋ผ์ด์–ธํŠธ๋„ ๊ทธ๋Œ€๋กœ ์ ‘์†๋ฉ๋‹ˆ๋‹ค(ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„ธ์…˜ ๋ชจ๋“œ). ์“ฐ๋˜ Claude Code/Desktop ์„ค์ •์„ ๋ฐ”๊ฟ€ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์šด๋กœ๋“œ

Releases์—์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

ํŒŒ์ผ ํฌ๊ธฐ ์กฐ๊ฑด
RigolWidget-standalone.exe ~80MB .NET ๋Ÿฐํƒ€์ž„ ํฌํ•จ (VISA ๋Ÿฐํƒ€์ž„๋งŒ ์žˆ์œผ๋ฉด ์‹คํ–‰)
RigolWidget.exe ~4MB .NET 8 Desktop Runtime + ASP.NET Core 8 Runtime ํ•„์š”

๋‘ ๋ฒ„์ „ ๋ชจ๋‘ ๋ณ„๋„๋กœ VISA ๋Ÿฐํƒ€์ž„(NI-VISA ๋“ฑ) ์„ค์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. (๊ฒฝ๋Ÿ‰ ๋ฒ„์ „์€ ๋‚ด์žฅ MCP ์„œ๋ฒ„ ๋•Œ๋ฌธ์— ASP.NET Core ๋Ÿฐํƒ€์ž„๋„ ํ•„์š”ํ•˜๋ฉฐ, standalone ๋ฒ„์ „์—” ๋ชจ๋‘ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.)

๋นŒ๋“œ

dotnet build -c Release

Visual Studio 2022์—์„œ RigolWidget.csproj๋ฅผ ๋ฐ”๋กœ ์—ด์–ด๋„ ๋ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ํŒŒ์ผ: bin\Release\net8.0-windows\win-x64\RigolWidget.exe

๋ฆด๋ฆฌ์Šค ๋ฐฉ๋ฒ•

๋ฒ„์ „ ํƒœ๊ทธ๋ฅผ ํ‘ธ์‹œํ•˜๋ฉด GitHub Actions๊ฐ€ ์ž๋™์œผ๋กœ ๋‘ ์ข…๋ฅ˜(ํ”„๋ ˆ์ž„์›Œํฌ ์˜์กด / self-contained)์˜ ๋‹จ์ผ exe๋ฅผ ๋นŒ๋“œํ•ด Release์— ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

git tag v1.0.0
git push origin v1.0.0

๋™์ž‘ ์›๋ฆฌ

  • ์žฅ๋น„ ํ†ต์‹ : visa32.dll(VISA C API)์„ ์ง์ ‘ P/Invokeํ•˜์—ฌ SCPI ๋ช…๋ น์„ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋ณ„๋„ NuGet/COM ์ฐธ์กฐ ์—†์ด ๋Ÿฐํƒ€์ž„์— ์‹œ์Šคํ…œ์˜ VISA ๊ตฌํ˜„์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ํด๋ง: ์•ฝ 1์ดˆ ์ฃผ๊ธฐ๋กœ ์ธก์ •๊ฐ’(:MEAS:ALL?)๊ณผ ๋™์ž‘ ๋ชจ๋“œ(:OUTP:MODE?)๋ฅผ ์ฝ๊ณ , 4์ฃผ๊ธฐ๋งˆ๋‹ค ์„ค์ •๊ฐ’ยท๋ณดํ˜ธ ์ƒํƒœยทํŠธ๋ฆฝ ์•Œ๋žŒ๊นŒ์ง€ ์ „์ฒด ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ฌถ์Œ ์งˆ์˜(:MEAS:ALL?, :APPL?)๋กœ USB ํ˜ธ์ถœ ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์—ฐ๊ฒฐ ๋ณต๊ตฌ: ํ†ต์‹  ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ์„ธ์…˜์„ ๋‹ซ๊ณ  ๋งˆ์ง€๋ง‰ ๋ฆฌ์†Œ์Šค๋กœ ์ฃผ๊ธฐ์ ์œผ๋กœ ์žฌ์ ‘์†์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ํ†ต์‹  ์‹คํŒจ๋Š” %LOCALAPPDATA%\RigolWidget\rigolwidget.log์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.
  • 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ: DSEG7 Classic ํฐํŠธ(SIL OFL)๋ฅผ ์•ฑ์— ์ž„๋ฒ ๋“œํ•˜์—ฌ ์‹คํ–‰ PC์— ํฐํŠธ ์„ค์น˜ ์—†์ด VFD ์Šคํƒ€์ผ๋กœ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.
  • ๋ Œ๋”๋ง ์ตœ์ ํ™”: ๊ทธ๋ฆผ์ž๋ฅผ ๋‚ด์šฉ๊ณผ ๋ถ„๋ฆฌํ•˜๊ณ , ๊ฐ’์ด ๋ฐ”๋€” ๋•Œ๋งŒ ํ…์ŠคํŠธ๋ฅผ ๊ฐฑ์‹ ํ•˜๋ฉฐ, ์ƒ์‹œ ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ์ €ํ”„๋ ˆ์ž„์œผ๋กœ ์ œํ•œํ•ด ์œ ํœด ์‹œ CPU/GPU ๋ถ€ํ•˜๋ฅผ ์ตœ์†Œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” SCPI ๋ช…๋ น (DP832)

:MEAS:ALL? CHn              # ์‹ค์ธก ์ „์••ยท์ „๋ฅ˜ยท์ „๋ ฅ (๋ฌถ์Œ)
:OUTP:MODE? CHn             # ๋™์ž‘ ๋ชจ๋“œ (CV / CC / UR)
:APPL? CHn                  # ์„ค์ • ์ „์••ยท์ „๋ฅ˜ (๋ฌถ์Œ)
:SOURn:VOLT <v>            # ์ „์•• ์„ค์ •      / :SOURn:VOLT?
:SOURn:CURR <a>            # ์ „๋ฅ˜ ๋ฆฌ๋ฏธํŠธ    / :SOURn:CURR?
:OUTP CHn,ON|OFF           # ์ถœ๋ ฅ on/off    / :OUTP? CHn
:OUTP:OCP CHn,ON|OFF       # OCP on/off     / :OUTP:OCP:VAL CHn,<a> / :OUTP:OCP:ALAR? CHn / :OUTP:OCP:CLEAR CHn
:OUTP:OVP CHn,ON|OFF       # OVP(OCV) on/off / :OUTP:OVP:VAL CHn,<v> / :OUTP:OVP:ALAR? CHn / :OUTP:OVP:CLEAR CHn

ํ–ฅํ›„ ๊ณ„ํš (๋กœ๋“œ๋งต)

  • ๋ฉ€ํ‹ฐ ์žฅ๋น„ ๋™์‹œ ์‚ฌ์šฉ (MCP) โ€” ํŒŒ์›Œ์„œํ”Œ๋ผ์ด ์—ฌ๋Ÿฌ ๋Œ€๋ฅผ ๊ฐ๊ฐ์˜ ์œ„์ ฏ์œผ๋กœ ๋™์‹œ์— ๋„์šฐ๊ณ  AI๊ฐ€ ๊ตฌ๋ถ„ํ•ด ์ œ์–ด. ํ˜„์žฌ๋Š” MCP ํฌํŠธ๊ฐ€ 7735 ๊ณ ์ •์ด๋ผ 2๋Œ€ ์ด์ƒ ๋™์‹œ ์‹คํ–‰ ์‹œ ํฌํŠธ๊ฐ€ ์ถฉ๋Œํ•˜๊ณ , ์„œ๋ฒ„๊ฐ€ ์ž์‹ ์„ ๋ชจ๋‘ RigolWidget์œผ๋กœ๋งŒ ์†Œ๊ฐœํ•ด AI๊ฐ€ ์–ด๋А ์žฅ๋น„์ธ์ง€ ์ž๋™ ๊ตฌ๋ถ„ํ•˜์ง€ ๋ชปํ•จ. ํ•„์š”ํ•œ ์ž‘์—…:
    • ์ธ์Šคํ„ด์Šค๋ณ„ ํฌํŠธ (๋นˆ ํฌํŠธ ์ž๋™ ์„ ํƒ / ์‹œ๋ฆฌ์–ผ ๊ธฐ๋ฐ˜ / ์žฅ๋น„๋ณ„ ์„ค์ •)
    • ์žฅ๋น„ ๋ณ„์นญ(๋ผ๋ฒจ) ์ง€์ • โ†’ ํƒ€์ดํ‹€ยทget_identityยทMCP serverInfoยท๋„๊ตฌ ์„ค๋ช…์— ๋ฐ˜์˜
    • ๊ฐ ์œ„์ ฏ์„ ๋ณ„์นญ ์ด๋ฆ„์œผ๋กœ ๋“ฑ๋ก โ†’ "๋ฒค์น˜1 CH1 ์ผœ์ค˜" ์ฒ˜๋Ÿผ ๋ผ์šฐํŒ…, ๊ทธ๋ƒฅ "CH1 ์ผœ์ค˜" ๋Š” AI๊ฐ€ ์–ด๋А ์žฅ๋น„์ธ์ง€ ๋˜๋ฌผ์Œ

๋ผ์ด์„ ์Šค / ๊ณ ์ง€

MIT

7์„ธ๊ทธ๋จผํŠธ ํฐํŠธ DSEG๋Š” SIL Open Font License 1.1์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

๋น„๊ณต์‹ ํ”„๋กœ์ ํŠธ ๊ณ ์ง€: ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ทจ๋ฏธ๋กœ ๋งŒ๋“  ๋น„๊ณต์‹ ๋„๊ตฌ๋กœ, RIGOL Technologies์™€ ์ œํœดยทํ›„์›ยท๋ณด์ฆ ๊ด€๊ณ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. "RIGOL", "DP832" ๋“ฑ์€ ๊ฐ ์†Œ์œ ์ž์˜ ์ƒํ‘œ์ž…๋‹ˆ๋‹ค. ์ „์›๊ณต๊ธ‰๊ธฐ๋Š” ์‹ค์ œ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ œ์–ดํ•˜๋ฏ€๋กœ, ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ ์œ„ํ—˜์€ ์‚ฌ์šฉ์ž ์ฑ…์ž„์ž…๋‹ˆ๋‹ค(MIT ๋ผ์ด์„ ์Šค์˜ ๋ฌด๋ณด์ฆ ์กฐํ•ญ ์ฐธ์กฐ).

About

Always-on-top Windows widget to control RIGOL DP800-series DC power supplies (CH1/CH2) over USB/VISA/SCPI, with an embedded MCP server for AI control.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages