๐ŸŒ  etc.

[Protocol] KNX Overview

darly213 2023. 12. 15. 16:36
728x90

KNX

https://support.knx.org/

  • ๋นŒ๋”ฉ ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด ํ‘œ์กดํ™”๋œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ
  • ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋งค์ฒด : ํŠธ์œ„์Šคํ„ฐ ํŽ˜์–ด / ์ „๋ ฅ์„  / ๋ฌด์„  ์ง€์›
  • ๋ฒ„ํŠธ ํ† ํด๋กœ์ง€ : ์ค‘์•™ ์ปจํŠธ๋กค๋Ÿฌ ํ•„์š”
  • ์ •๋ณด ๊ตฌ์กฐ : ํ…”๋ ˆ๊ทธ๋žจ ๊ธฐ๋ฐ˜ ํ†ต์‹ 
  • ๊ทธ๋ฃน ์ฃผ์†Œ ์ง€์ • : ๊ทธ๋ฃน ์ฃผ์†Œ ์‚ฌ์šฉํ•ด์„œ ์žฅ์น˜ ํ†ต์‹ 
  • ๋ฒ„์Šค ์ „์› ๊ณต๊ธ‰ ์žฅ์น˜ : ๋ฒ„์Šค ๋ผ์ธ์—์„œ ์ „์› ๊ณต๊ธ‰๋ฐ›์Œ
  • ๊ตฌ์„ฑ ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ETS(Engineering Tool Software) ์‚ฌ์šฉ

KNX python open source library

 

GitHub - XKNX/xknx: XKNX - A KNX library written in Python

XKNX - A KNX library written in Python. Contribute to XKNX/xknx development by creating an account on GitHub.

github.com

 

KNX Gateway

  • KNX ์‹œ์Šคํ…œ๊ณผ ๋‹ค๋ฅธ ๊ธฐ์ˆ  / ํ”„๋กœํ† ์ฝœ ๊ฐ„์˜ ํ†ต์‹  ๋ฐ ํ†ตํ•ฉ์„ ์œ„ํ•œ ์žฅ์น˜
  • ์„œ๋กœ ๋‹ค๋ฅธ ํ†ต์‹  ํ‘œ์ค€์„ ์‚ฌ์šฉํ•˜๋Š” ์žฅ์น˜๊ฐ„์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ ๋ฐ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์šฉ์ดํ•˜๊ฒŒ ํ•จ

ํ†ตํ•ฉ ๋ฐฉ๋ฒ•

  1. ํ”„๋กœํ† ์ฝœ ๋ฒˆ์—ญ : Modbus / BACnet๊ณผ ๊ฐ™์€ ๋น„ KNX ์‹œ์Šคํ…œ์„ ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ๋ช…๋ น / ๋ฐ์ดํ„ฐ๋ฅผ KNX ํ…”๋ ˆ๊ทธ๋žจ์œผ๋กœ ๋ฒˆ์—ญํ•ด์„œ ํ†ตํ•ฉ
  2. ๋‹ค๋ฅธ ๊ธฐ์ˆ ๊ณผ ์œตํ•ฉ : IP ๊ธฐ๋ฐ˜ ๋„คํŠธ์›Œํฌ, EnOcean๊ณผ ๊ฐ™์€ ๋ฌด์„  ๊ธฐ์ˆ  / PLC ์‚ฌ์šฉ ์‚ฐ์—… ์ž๋™ํ™” ์‹œ์Šคํ…œ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ๊ณผ์˜ ํ†ตํ•ฉ ๊ฐ€๋Šฅ
  3. IP ๋„คํŠธ์›Œํฌ์™€ ํ†ตํ•ฉ : KNX ํ…”๋ ˆ๊ทธ๋žจ <-> ip ํŒจํ‚ท ๋ณ€ํ™˜ํ•ด์„œ ์ธํ„ฐ๋„ท ํ†ต์‹  ๊ฐ€๋Šฅ

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

  • KNX ํ”„๋กœํ† ์ฝœ๊ณผ ๋Œ€์ƒ์˜ ์‹ ํ˜ธ์™€ ํ”„๋กœํ† ์ฝœ ๋ฒˆํ™˜
  • KNX ์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ / ๋ช…๋ น ์ด๋ฒคํŠธ - ๋ณ€ํ™˜ -> ๋Œ€์ƒ ์‹œ์Šคํ…œ
  • ๋Œ€์ƒ ์‹œ์Šคํ…œ ์‘๋‹ต / ๋ฐ์ดํ„ฐ ์ด๋ฒคํŠธ - ๋ณ€ํ™˜ -> KNX ์‹œ์Šคํ…œ

  • knx ๊ฒŒ์ดํŠธ์›จ์ด์— knx, ip, rs485, ๋ฌด์„  ๋“ฑ ์—ฌ๋Ÿฌ ํ†ต์‹  ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์กด์žฌํ•จ

Telegrams

KNX ๋ฐ์ดํ„ฐ / ์ปค๋งจ๋“œ ๊ตํ™˜ ๋ฐฉ์‹?

Structure

  • Serial Character : Telegram octet์€ 8๋น„ํŠธ
    • Telegram serial character์€ TP1 ์‹ ํ˜ธ๋กœ ํ…”๋ ˆ๊ทธ๋žจ ๊ตํ™˜ ํ•„์š” ๋น„ํŠธ ๋‚˜ํƒ€๋ƒ„
      • TP1 ์ˆ˜๋™ ์‹ ํ˜ธ : 1
      • TP1 ํ™œ์„ฑ ์‹ ํ˜ธ : 0
    • TP1 Serial Character์€ ์ด 11๋น„ํŠธ(Telegram octet 8 bits, 3 additional bits)
      • additional bits - ์‹œ์ž‘ ๋น„ํŠธ, ์ •์ง€ ๋น„ํŠธ, ์ง์ˆ˜ ํŒจ๋ฆฌํ‹ฐ ๋น„ํŠธ
  • Control Field : telegram type(D7), repetition status(D5), priority(D3 + D2)์˜ ์ •๋ณด๋ฅผ ๋‹ค๋ฃธ
    • ์ด 8 bits ( D0 - D7 )
    • Telegram Type
      • 0 - Extended frame (length 9...263 octets)
      • 1 - Starndard frame (length 8...23 octets)
    • Telegram repetition status
      • 0 - repeated
      • 1 - not repeated
    • Telegram Priority
      • 00 - system
      • 10 - urgent
      • 01 - normal
      • 11 - low
    • Fixed bit - D6=0 / D4=1 / D1=0 / D0=0
  • Source Address : telegram์œผ๋กœ ๋ณด๋‚ด๋Š” device์˜ ๊ฐœ์ธ ์ฃผ์†Œ, 16 bits
  • Destination Address : Address Type๊ณผ ๊ด€๊ณ„ ์žˆ, 16bits
    • AT = 0
      • DA = 0 : not allowed
      • DA != 0 : Telegram์ด unicast communication session์œผ๋กœ ์‚ฌ์šฉ๋จ
    • AT = 1
      • DA = 0 : broadcast commnication
      • DA != 0 : multicast commnication session
    • AT = Address Type, DA = Destination Address*
  • Address Type, Hop Count, Length : Destination Address field ๋‹ค์Œ์— ํ•จ๊ป˜ ์˜ด
    • Address Type : D7 1bit
    • Hop Count : D6, D5 & D4
    • Length : D3, D2, D1, D0
      • Payload ํ•„๋“œ์˜ ์ถ”๊ฐ€ octets์˜ ๊ฐœ์ˆ˜๋ฅผ ์ •์˜ํ•จ
  • Payload :
    • Sequence Number - ์ผ์ข…์˜ telegram tracking number, ํ†ต์‹  ๋„์ค‘์— ์œ ์‹ค๋˜์ง€ ์•Š๋„๋ก ํ™•์ธํ•˜๊ธฐ ์œ„ํ•จ + ์ •๋ณด ์†ก์ˆ˜์‹ ์˜ ์ˆœ์„œ
    • Control Data - Length ํ•„๋“œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 0์œผ๋กœ ์„ธํŒ…๋จ(payload field์— ์ถ”๊ฐ€ octets๊ฐ€ ์—†๋‹ค๋Š” ์˜๋ฏธ๋กœ)
      • D1+D0 = 00 = TL_connect "Hello, I wanna talk to you"
      • D1+D0 = 01 = TL_disconnect "For me this conversation is over, goodbye"
      • D1+D0 = 10 = TL_ACK "OK, roger that. please continue with the next message"
      • D1+D0 = 11 = TL_NAK "Sorry, I didn't get that, please repeat that lastest message"
    • Data Packet - Length ํ•„๋“œ๊ฐ€ 0 ์ด์ƒ์ด๋ฉด telegram์ด command๋ฅผ ๋ณด๋ƒˆ๋‹ค๋Š” ๋œป
      • service identifier(APCI - Application Layer Protocol Control Information) + DATA
      • APCI๋Š” 4bits ํ˜น์€ 10bits์ผ ์ˆ˜ ์žˆ์Œ
        • 4bits - APCI : D1๊ณผ D0์˜ ์ฒซ ๋ฒˆ์งธ payload octets + D7๊ณผ D6์˜ ๋‘ ๋ฒˆ์งธ payload octets
          • if data length = max 6 bits : data๊ฐ€ ๋‘ ๋ฒˆ์งธ payload octet์˜ 6bits์— ์กด์žฌ
          • if data length > 6 bits : data๊ฐ€ ์„ธ ๋ฒˆ์งธ payload octet ๋’ค๋กœ ์žˆ์Œ
        • 10 bits - APCI : D1๊ณผ D0์˜ ์ฒซ ๋ฒˆ์งธ payload octets + ๋‘ ๋ฒˆ์งธ payload octets ์ „์ฒด
          • data๋Š” ์„ธ ๋ฒˆ์งธ payload octet ๋’ค๋กœ ์กด์žฌ
  • Checksum : telegram parity check

Principle Function of the Layers

7 Layers OSI Reference Model

  1. Physical Layer
    • ์—ฐ๊ฒฐ๋ถ€ ํ•€ ํ• ๋‹น, ์ œ์–ด ์‹ ํ˜ธ, ๋น„ํŠธ ์ฝ”๋”ฉ์— ๋”ฐ๋ผ์„œ ์ „๊ธฐ ์‹ ํ˜ธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ ˆ์ด์–ด
  2. Data Link Layer
    • ์—ฐ๊ฒฐ ๋ฐ ์ ˆ์ฐจ์— ๊ด€ํ•œ ๋ ˆ์ด์–ด - ๋ผ์ธ ํ”„๋กœํ† ์ฝœ, ๋™๊ธฐํ™”, ๋ฐ์ดํ„ฐ ๋ณด์•ˆ, ์—๋Ÿฌ ํ•ธ๋“ค๋ง
  3. Network Layer(Packet Level)
    • ๋ฐ์ดํ„ฐ ์ „ํŒŒ ๋ฐ ๋งํฌ ์Šค์œ„์น˜(routing), ํŒจํ‚ท ์ œ์–ด, ๋„คํŠธ์›Œํฌ ์ „๋ฐ˜์„ ํ†ตํ•œ ํ”„๋กœํ† ์ฝœ ์ „๋‹ฌ์„ ์œ„ํ•œ ์•Œ๋งž์€ ๊ฒฝ๋กœ ๊ฒฐ์ •
  4. Transport Layer
    • end-to-end ์ œ์–ด, transport ์ œ์–ด
  5. Session Layer(Communication Layer)
    • ๋…ผ๋ฆฌ์  ์—ฐ๊ฒฐ ์ œ์–ด, application process์™€ ์—ฐ๊ฒฐ, buffer ๊ด€๋ฆฌ(Not used in KNX)
  6. Presentation Layer
    • ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ „ํ™˜, ๋ฐ์ดํ„ฐ ์••์ถ•, ๋ฉ”์„ธ์ง€ ์ฝ”๋”ฉ(Not used in KNX)
  7. Application Layer(Process Layer)
    • application์— ์˜ํ•ด ์ž์œ ๋กญ๊ฒŒ ์ •์˜๋จ

2 Types of Communication

1. Connection-oriented Communication

  • connection์€ ๋‘ communication partner ์‚ฌ์ด์— ๋…ผ๋ฆฌ์  ๋งํฌ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค,
  • ๋‘ ํŒŒํŠธ๋„ˆ๋Š” ์ด connection์ด ๊ทธ๋“ค ์‚ฌ์ด์—๋งŒ ์กด์žฌํ•˜๋ฉฐ(point-to-point, P2P connection) ๊ทธ๋“ค๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณธ๋‹ค.
  • ์„œ๋ฒ„๋Š” connection์„ ์ƒ์„ฑํ•  ๋•Œ ํ€„๋ฆฌํ‹ฐ, ๋น„์šฉ, ๋”œ๋ ˆ์ด ๋“ฑ์˜ ํŠน์ • ๊ธฐ์ค€๊ณผ ์‚ฌ์šฉ๋˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณ ๋ ค์• ํ–์•ผํ•œ๋‹ค.
    • ํ”„๋กœํ† ์ฝœ ํ˜น์€ block length์™€ ๊ฐ™์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋„ ์ •์˜๋  ๊ฒƒ์ด๋‹ค.
    • connection์ด ์ƒ์„ฑ๋˜๋ฉด ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ตํ™˜์€ ํ”„๋กœํ† ์ฝœ์— ๋”ฐ๋ผ ์‹คํ–‰๋œ๋‹ค.
  • connection์€ ์–ธ์ œ ๋ˆ„๊ตฌ์—๊ฒŒ์„œ๋‚˜ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฆฌ์†Œ์Šค๋Š” link๋ฅผ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋˜๊ณ  ์—ฐ๊ฒฐ์ด ์ข…๋ฃŒ๋˜๋ฉด ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ release ํ•ด์•ผํ•œ๋‹ค.
  • Connection-oriented Communication์€ ๋ณด์•ˆ์ด ์ข‹์ง€๋งŒ ์•„์ฃผ ํšจ์œจ์ ์ด์ง€๋Š” ์•Š๋‹ค(์ˆ˜๋งŽ์€ ํ†ต์‹ ๋“ค์ด ์˜ค์ง ํ•˜๋‚˜์˜ ํ†ต์‹  ํŒŒํŠธ๋„ˆ์—๊ฒŒ๋งŒ ๋‹ฟ์„ ์ˆ˜ ์žˆ๋‹ค),
  • OSI model์„ ์„ ์ •ํ•  ๋•Œ ํ†ต์‹  ์ค‘์— Transoport Layer๊ฐ€ ์ ‘์ˆ˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•ด์„œ ๋ฉ”์„ธ์ง€๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  • talking to one single person and checking after each question whether he/she understood the question*

=> In KNX: group address ๋‹ค์šด๋กœ๋“œ, ๋งค๊ฐœ๋ณ€์ˆ˜ and/or application program์„ PC์—์„œ KNX ๋””๋ฐ”์ด์Šค๋กœ*

2. Connectionless Conmmunication

  • Connection์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ†ต์‹  ๋ฐฉ๋ฒ•์ด๊ธฐ ๋•Œ๋ฌธ์— data request ์ดํ›„์— data๋ฅผ ๋‹ค์‹œ ๋ณด๋‚ด์ค„ ๋•Œ๋งˆ๋‹ค address๋ฅผ ํ•จ๊ป˜ ๋ณด๋‚ด์ค˜์•ผํ•œ๋‹ค.
    • ๋ฐ์ดํ„ฐ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์‹ ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ์„œ๋ฒ„ ์ชฝ์—์„œ๋„ ๋ฐ์ดํ„ฐ ๋ธ”๋Ÿญ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์š”์ฒญํ–ˆ๋Š”์ง€ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์•ˆ์ „ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๋Œ€์—ญํญ์— ์žˆ์–ด์„œ ํšจ์œจ์ ์ด๋‹ค.
    • ํ†ต์‹  ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ๋Š์–ด๋‚ผ ํ•„์š”๊ฐ€ ์—†๊ณ , ํ•˜๋‚˜์˜ ๋ฉ”์„ธ์ง€๋ฅผ ์„ค์น˜๋œ ๋ชจ๋“  ๋””๋ฐ”์ด์Šค์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
    • ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ๋””๋ฐ”์ด์Šค๊ฐ€ ์•Œ๋งž์€ ๋ฐ์ดํ„ฐ ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์‹ ํ–ˆ๋‹ค๊ณ  ํ™•์‹ ํ•  ์ˆ˜๋Š” ์—†๋‹ค.
  • OSI ๋ชจ๋ธ์„ ๊ฐ์•ˆํ•  ๋•Œ, ์ด ํ†ต์‹ ์€ ๊ฒ€์ˆ˜ ์ง€์‹์„ ์ƒ์„ฑํ•œ๋‹ค ?
  • talking to a group of persons and continuing with the next question if at least one person that he/she understood the message*
  • => In KNX: ์ด๊ฒŒ knx์˜ normal operating mode / Broadcast*

Protocol Data Units(PDUs)

ํ”„๋กœํ† ์ฝœ ๋ฐ์ดํ„ฐ ๋‹จ์œ„ ->

  • ์ƒ์„ฑ ์‹œ์— ์ด ๋ ˆ์ด์–ด์— ์˜ํ•ด์„œ ํ…”๋ ˆ๊ทธ๋žจ์— ์ œ๊ณต๋˜๋Š” ๋ฐ์ดํ„ฐ
  • ์ˆ˜์‹  ์‹œ ํ…”๋ ˆ๊ทธ๋žจ์—์„œ ์ด ๋ ˆ์ด์–ด์— ์˜ํ•ด ๋””์ฝ”๋”ฉ๋œ ๋ฐ์ดํ„ฐ

KNX - 7 Layers

Application Layer(Layer 7)

  • KNX๋Š” ํ†ต์‹ ์„ ์œ„ํ•ด์„œ group์ด๋ผ๋Š” object๋ฅผ ์‚ฌ์šฉ
  • ๊ทธ๋ฃน ๊ฐœ์ฒด์— ๊ฐ’์„ ๊ธฐ๋กํ•˜๊ณ  ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์Šค์— ์ƒˆ ๊ฐ’์„ ์ „๋‹ฌ
  • ์ฃผ์†Œ๊ฐ€ ์ง€์ •๋œ actuator์˜ application layer๋Š” group object์— ์ƒˆ ๊ฐ’์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ์ด actuator์˜ group object๋ฅผ ์ฝ๊ณ  ํ•„์š”ํ•œ ํ–‰๋™์„ ์ทจํ•œ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ์€ group object์˜ ์—…๋ฐ์ดํŠธ ์—ฌ๋ถ€๋ฅผ ์•Œ ์ˆ˜ ์—†์Œ*

...

Data Link Layer(Layer 2)

  • ๋„คํŠธ์›Œํฌ ๋‚ด ๋‘ ๋…ธ๋“œ ๊ฐ„์— ์˜ค๋ฅ˜ ์—†๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋ณด์žฅํ•˜๋Š” ๋ ˆ์ด์–ด
  • ๋™๊ธฐํ™” ๋ฌธ์ž, ์‹œํ€€์Šค ๋ฒˆํ˜ธ, ์˜ค๋ฅ˜๊ฒ€์‚ฌ ํ•„๋“œ ๋“ฑ์˜ ์ถ”๊ฐ€ ์ •๋ณด๊ฐ€ ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ์ „์†ก๋œ๋‹ค.
  • KNX Link Layer Telegram

  • source address - bus device์˜ ์ฃผ์†Œ / receiver address - group address(connectionless) or individual(connection-oriented), N_PDU์˜ ์ฒซ๋ฒˆ์งธ ๋น„ํŠธ์— ์˜ํ•ด ๊ฒฐ์ •๋จ

 

Project Preparation

Segmentation in Areas and Lines

KNX๋Š” Area์™€ Line์œผ๋กœ ๊ตฌ์„ฑ๋จ

  • Area : ์ œ์–ดํ•  ๊ฑด๋ฌผ ์ „์ฒด(๋นŒ๋”ฉ ๋“ฑ), ์ตœ๋Œ€ 15๊ฐœ
  • Line : Area ๋‚ด๋ถ€์˜ ๋ฐฉ / ์„ธ๋ถ€ ๊ตฌ์—ญ, Area ๋‹น ์ตœ๋Œ€ 16๊ฐœ(15 line + 1 main line)
    • ๋ผ์ธ๋งˆ๋‹ค ๋ณ„๊ฐœ์˜ power supply๊ฐ€ ํ•„์š”
    • ๋ผ์ธ ๋‹น ์ตœ๋Œ€ 64๊ฐœ device ๊ฐ€๋Šฅ
    • lines
    • main line (๋ผ์ธ ์ปคํ”Œ๋Ÿฌ์— ์ƒ์‘ํ•˜๋Š” ์—ฐ๊ฒฐ)
    • area line (area ์ปคํ”Œ๋Ÿฌ์— ์ƒ์‘ํ•˜๋Š” ์—ฐ๊ฒฐ, backbone์ด๋ผ๊ณ ๋„ ๋ถ€๋ฆ„.)

  • knx ํ”„๋กœํ† ์ฝœ์—์„œ Group์€ ์ฃผ์†Œ ์ง‘ํ•ฉ
  • ์ฃผ๋กœ ์„ธ ๊ฐœ ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋จ(2๊ฐœ์ธ ๊ฒฝ์šฐ๋„ ์žˆ์Œ) main / middle / sub , ex) 1/0/1
  • group name๋„ ๋”ฐ๋กœ ์ง€์ •ํ•จ
728x90