Skip to content
English โ†—
CARROT-WIP / 2026.10 ์—๋””์…˜

๐Ÿ”ฌ Cabana ยท CAN ๋ฉ”์‹œ์ง€ ๋ถ„์„ โ€‹

Cabana๋Š” ์›์‹œ CAN ๋ฉ”์‹œ์ง€๋ฅผ ์‚ดํŽด๋ณด๊ณ  DBC ์‹ ํ˜ธ๋ฅผ ํ•ด์„ํ•˜๋Š” ๊ฐœ๋ฐœ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์„ค์ • ํ™”๋ฉด๊ณผ ๊ตฌ๋ถ„ํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•  ๋•Œ ํ•„์š”ํ•œ ๊ฒƒ โ€‹

  • ๋ฌธ์ œ ์‹œ๊ฐ„๋Œ€์˜ ์›๋ณธ ๋กœ๊ทธ
  • ์ฐจ์ข…ยท์—ฐ์‹ยท๋ฒ„์Šคยทํ•˜๋„ค์Šค ์ •๋ณด
  • ํ˜„์žฌ ๋ธŒ๋žœ์น˜์™€ ์ปค๋ฐ‹
  • ํ•ด๋‹น ๊ตฌ์„ฑ๊ณผ ๋งž๋Š” DBC

๋ฉ”์‹œ์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ์‚ฌ์‹ค๋งŒ์œผ๋กœ ์‹ ํ˜ธ ์˜๋ฏธยท์ฐจ๋Ÿ‰ ์ง€์›ยท๋ฐฐ์„  ์ ํ•ฉ์„ฑ์ด ํ™•์ธ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ฝ”๋“œ์˜ ์‚ฌ์šฉ ์˜ˆ โ€‹

์ค€๋น„๋œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ๋นŒ๋“œ๋œ cabana ์‹คํ–‰ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค๋Š” ์ €์žฅ์†Œ์˜ openpilot/tools/cabana์ž…๋‹ˆ๋‹ค.

cabana --demo

cabana "<route-name>"

๋กœ์ปฌ ์ž๋ฃŒ๋Š” ํ˜„์žฌ ๋„์›€๋ง์˜ --data_dir, DBC ์ง€์ •์€ --dbc๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ ๊ณต๊ฐœ ๋ณด๊ธฐ ํŽ˜์ด์ง€๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์‹คํ–‰ ๋ช…๋ น๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ™์€ ๋„คํŠธ์›Œํฌ์—์„œ CAN ๋ณด๊ธฐ โ€‹

์žฅ์น˜ ์…ธ:

cd /data/openpilot

./openpilot/cereal/messaging/bridge

PC์˜ Cabana:

cabana --zmq ์žฅ์น˜-IP

ํ˜„์žฌ ๋„์›€๋ง์—๋Š” msgqยทpandaยทsocketcanยทzmq ๊ฒฝ๋กœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜› ๋ฌธ์„œ์˜ --stream์„ ํ˜„์žฌ ๋ชจ๋“  ๋ฒ„์ „์˜ ํ•„์ˆ˜ ์ธ์ž๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ ํŒŒ์ผ์˜ --help์™€ ํ˜„์žฌ README๊ฐ€ ์šฐ์„ ์ž…๋‹ˆ๋‹ค.

ํ™•์ธ ์ˆœ์„œ โ€‹

๋ฒ„์Šค โ†’ ๋ฉ”์‹œ์ง€ ์ฃผ์†Œ โ†’ ์ฃผ๊ธฐยท์นด์šดํ„ฐยท์ฒดํฌ์„ฌ โ†’ DBC ํ•ด์„ โ†’ ์ฐจ๋Ÿ‰ ์ƒํƒœ์™€ ์‹œ๊ฐ„ ๋Œ€์กฐ ์ˆœ์œผ๋กœ ๋ด…๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ์˜ ์˜ˆ์ œ๋Š” ์ฝ๊ธฐยท๋ถ„์„์ด๋ฉฐ CAN ์†ก์‹ ์ด๋‚˜ ECU ์“ฐ๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ ˆ์ฐจ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์ˆ˜์น˜ ๊ทธ๋ž˜ํ”„๋Š” PlotJuggler ยท ์ง€์›์šฉ ๋กœ๊ทธ ์ค€๋น„.


๋ฌธ์„œ ๊ธฐ์ค€ โ€‹

2026-10-30 ํ™•์ธ ยท carrot-wip ยท 10bf0a56.

openpilot/tools/cabana/README.md ยท docs/user/ko/dashcam-log-sharing.md

๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜๋Š” ๊ณ„์† ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ๋‚ด ์žฅ์น˜์˜ ๋ธŒ๋žœ์น˜ยท์ปค๋ฐ‹ยทํ˜„์žฌ ์„ค์ •์„ ํ•จ๊ป˜ ํ™•์ธํ•˜์„ธ์š”.