검색결과 리스트
글
최근에 무선통신 기술중 지그비 통신을 활용하게 되어 관련된 자료를 찾아보았는데 괜찮은 정보를 찾기가 매우 어려웠다. 제대로 검색하지 못한 필자의 탓일 수도 있지만 찾아본 대부분의 자료들은 대체 핵심은 어디 갖다 팔아먹었는지 그저 이러저러 해라 식의 단순 지식만 늘어놓고 있었으며 중복되는 내용 또한 심심찮게 발견할 수 있었다. 이러한 글을 읽고 제대로 이해될리 만무하다. 물론 구글을 활용해 해외 사이트에서 검색한다면 원하는 정보를 쉽게 찾을 수 있겠지만 국내에서 지그비와 관련된 간단한 설정법조차 찾기 힘들다는 사실은 매우 안타까울 뿐이다.
때문에 답답한 나머지 지그비 통신에 대해서 필자가 찾아보고 공부한 내용을 정리하여 공유하고자 한다. 순서는 네트워크와 지그비에 대한 개념부터 시작해서 지그비 모듈 종류 및 설정 방법, 아두이노를 활용한 무선 통신 실습 순으로 포스팅할 생각이며 부디 처음으로 지그비 통신을 공부하고 활용하고자 하는 사람들에게 도움이 되길 바란다.
1. 네트워크 이해
지그비에 대한 개념을 설명하기 앞서 네트워크에 대한 이야기를 잠시 해볼까 한다. 워낙 방대한 주제인 만큼 여기서는 간단하게 개념만 짚고 넘어가도록 하자. 네트워크란 Net + Work의 합성어로 컴퓨터들이 통신기술을 이용하여 그물망처럼 연결된 형태를 의미한다. 쉽게 말해 여러 대의 컴퓨터들이 서로 통신하는 것을 말하는 것으로 여기서 통신기술이란 프로토콜(Protocol)을 뜻하며 사전적으로 '규약', '약속'등을 의미한다. 컴퓨터 네트워크에서 서로 통신하기 위한 사전의 약속같은 것으로 해석할 수 있다. 예를 들어 식당에서 음식을 주문하는 상황을 가정해보자. 한 손님이 메뉴판에서 자신이 먹을 음식을 결정했고 바로 주문하려고한다. 하지만 웨이터는 다른 손님의 주문을 받고 있으며 다른 웨이터들 또한 보이지 않는다. 당신이라면 이 상황에서 어떻게 하겠는가? 아마도 당신이 조금의 기다림을 참지 못하는 몰상식한 사람이 아니라면 웨이터가 주문을 다 받을때 까지 기다린 후에야 자신의 주문 내용을 말할 것이다.
그렇다. 방금 당신은 훌륭하게 사람들 간에 지켜야 할 프로토콜을 잘 지킨 셈이다. 만약 프로토콜을 지키지 않고 웨이터를 억지로 불렀다면 자신과 웨이터 뿐만 아니라 다른 손님과의 소통 또한 제대로 될리가 없다. 이렇듯 사람들이 말을 할 차례를 지켜 주는 것이 중요한데 이러한 개념은 네트워크 통신에서도 똑같이 적용된다. 네트워크 측면에서 위와 같이 통신의 순서를 정해주는 것을 미디어 접근(Media Access)라고 하며 동시에 여러 통신이 발생하는 상황을 다중 접근(Multi Access)라고 한다. 그리고 이러한 상황과 유사한 프로토콜이 바로 CSMA/CD 이다.
· CSMA/CD (Carrier Sense Multi Access / Collision Detection) LAN(이더넷)에서 각 단말기 간 자료를 전송하고 있는 동안 회선을 감시하여 충돌이 감지되면 즉각 전송을 멈 추고 재전송을 위해 기다렸다가 다시 시도하는 방식 |
위 방식은 여러 단말기가 통신을 시도했을 때의 충돌 상황을 완화시키는 역할을 한다. 쉽게 말해 앞서 언급한 웨이터의 일이 끝날때 까지 기다려 서로의 통신이 끊어지지 않도록 도와주는 것이다.
또한 네트워크 통신에서 단말기간 특정 주소를 가지는 개념은 매우 중요하다. 각 컴퓨터가 자신의 고유 주소인 IP를 할당받는 이유는 다른 컴퓨터와 구별되기 위해서임을 우리는 이미 알고있다. 따라서 각 단말기간 어떤 통신이 진행되기 위해서는 특정한 수신자의 주소가 지정되 있어야 데이터 보내기가 가능하다. 이러한 주소는 네트워크상에서 숫자로 할당받게 된다.
2. 네트워크 토폴로지(Network Topology)
네트워크 토폴로지란 단말기 상호 간에 데이터를 전송할 수 있도록 연결된 형태를 말한다. 이는 데이터가 잘 보내지고 받을 수 있도록 어떻게 네트워크를 구축할 것인가 라는 네트워크 전략과도 일맥상통하며 어떤 형태를 구축하느냐에 따라서 데이터의 흐름이 결정되게 된다. 따라서 다양한 형태와 방법이 존재하지만 여기서는 지그비 통신과 관련된 몇가지만 소개하고자 한다.
① 일대일 통신 (Peer to Peer)
② 스타형 토폴로지 (Star Topology)
③ 메쉬형 토폴로지 (Mesh Topology)
3. ZigBee 통신
서론이 생각보다 길었다. 그럼 이제 본격적으로 지그비 통신이 무엇인지 알아보도록 하자. 지그비는 근거리 저전력 무선 통신을 위한 프로토콜을 일컫는다. 앞서 프로토콜의 개념을 제대로 이해하였다면 지그비 통신 또한 여러 개의 노드가 서로 통신하기 위해 만들어진 통신 규약이라는 것을 알 수 있을 것이다. 그럼 다른 무선 통신 방법과 비교하여 지그비의 특징을 살펴보자.
|
Zigbee |
Bluetooth |
Wi-Fi |
NFC |
전송거리 |
~100m |
~10m |
~100m |
~20cm |
전송속도 | ~250Kbps | ~24Mbps | 11M / 54Mbps | 106~848Kbps |
최대 채널 수 |
32000 |
7 |
14 |
1 |
소비전력 |
Very Low |
Medium |
High |
Low |
복잡성 |
Low |
Low |
High |
Low |
비용 |
Low |
Low |
High |
Low |
위 표를 통해 지그비 통신은 복잡하지 않은 시스템 구조로 구성되어 있으며 적은 소비전력으로 인해 소형화가 가능함을 알 수 있다. 비록 전송 속도면에서 블루투스나 와이파이 통신이 우수하긴 하지만 가격이 비싸기 때문에 상대적으로 저렴하고 간단한 무선 네트워크를 구축할 수 있다. 또한 네트워크 규모도 방대하기 때문에 다수의 센서를 활용하거나 모듈을 사용하는 시스템에 적합한 형태를 보인다.
지그비 통신 모듈은 시중에서 다양한 형태로 판매되고 있으나 여기서는 가장 대중적인 제품인 Digi 사의 XBee모듈에 대해서 설명하겠다. Xbee란 지그비 프로토콜을 바탕으로 보다 쉬운 설정과 사용을 위해 개발된 별개의 프로토콜이다. 따라서 지그비 통신을 기반으로 하고는 있지만 XBee 전용의 프로토콜을 따로 제공하고 있다는 점을 염두해 두어야 한다. 이러한 XBee 모듈의 설명은 다음 포스팅에서 이어서 설명하도록 하겠다.
'Electronic > Arduino' 카테고리의 다른 글
지그비 무선 통신하기 (13) | 2016.01.26 |
---|---|
XBee 모듈 정보 및 종류 (0) | 2016.01.17 |
[Galileo] 초음파센서 사용하기 (0) | 2016.01.08 |
RECENT COMMENT