원칩 센서 IC와 XBee와 같이, 모든 것이 들어 있는 무선 모듈 XBee가 탄생함에 따라 누구나 간단히 거리가 떨어져 있는 곳의 물리량을 계측할 수 있는 시대가 되었다. 여기서는 무선 모듈 XBee의 특징과 사용 방법에 대해 정리해 본다.
XBee란
1. 간편하고 마이컴과 하드웨어 설계 경험이 필요 없으며 전파법을 충족시킨다
XBee(사진 1)는 안테나, 고주파 회로, 신호처리 회로 등 무선 통신에 필요한 하드웨어가 모두 들어 있는 무선 데이터 통신용 모듈이다. 출력 10mW까지 제품이 준비되어 있으며, CPU가 탑재된 타입도 있다. 무선 모듈을 사용할 때 반드시 문제가 되는 전파법도 취득했으므로 안심하고 사용할 수 있다. 마이컴이 필요없고 저렴하며 단기간에 무선 네트워크를 구성할 수 있다는 간편함이 장점이다.
▲사진 1. 무선화의 한계를 단번에 낮췄으며 모든 것이 들어 있는
무선 모듈 XBee (일반 판에 비해 PRO 판은 사이즈가 커진다)
2. 사양
XBee의 사양은 표 1과 같다. 일반 판의 출력은 1m~2mW이다. PRO 판은 10mW이며 세로 방향으로 약간 길게 되어 있다. 수십m~수백m의 무선 데이터를 통신할 수 있다.
무선 주파수는 ISM(Industry-Science-Medical) 대역인 2.4GHz대를 이용하고 있다. 이 주파수대는 아마추어 무선, RFID, 특정 소전력 무선국, 디지털 코드리스 전화, 무선 LAN, 무선 제어 모형 등 다양한 무선기기에서 이용되고 있다.
XBee 모듈은 UART로 마이컴이나 PC와 접속한다. UART의 통신 속도는 시리즈 1이 1200bps∼250kbps, 시리즈 2가 ∼1Mbps이다. 초기 상태의 속도는 모두 9600bps이다.
▲표 1. XBee 제품의 사양 (PRO 판의 출력 전력은 10mW이므로
수십~수백m의 무선 데이터 통신이 가능하다)
3. 원칩 센서 IC를 직접 연결할 수 있다
그림 1은 XBee 시리즈 2의 핀 접속도를 나타낸 것이다. 각 단자에는 여러 기능이 할당되어 있다. 디지털 입출력으로 12개, 10비트 A-D 컨버터의 입력 4채널을 사용할 수 있다. D-A 컨버터는 없지만 PWM 기능을 이용할 수 있다. 이것은 외부 마이컴 없이 무선으로 직접 컨트롤할 수 있으므로, 아날로그 출력이든 디지털 출력이든 원칩 타입 센서라면 XBee에 직접 연결할 수 있다.
▲그림 1. XBee(시리즈 2)의 핀 배치 (디지털 입출력을 12개,
10비트 A-D 컨버터의 입력을 4채널 갖추었다)
4. XBee로 구성하는 네트워크의 형태
그림 2는 XBee로 구성할 수 있는 무선 네트워크의 다양한 형태를 나타낸 것이다. 각 모듈은 모두 동일한 XBee이지만 다음과 같은 3가지 역할을 할당할 수 있다.
▲그림 2. XBee로 구성할 수 있는 다양한 무선 네트워크
(XBee에는 코디네이터, 라우터, 엔드 디바이스 중 하나의 역할이 할당될 수 있다)
(1) 코디네이터(Cordinator)
네트워크 안을 일괄적으로 코디네이트하는 본체이다. 네트워크 안에 한 개가 필요하다.
(2) 라우터(Router)
중계기 역할을 하므로 도달 거리를 늘릴 수 있다. 엔드 디바이스 기능도 있다. 단, 소비전력을 억제하는 슬립 모드로는 할 수 없다. 이것이 없어도 네트워크는 구축할 수 있다.
(3) 엔드 디바이스(End Device)
센서 등을 접속하고 물리량을 접속하여 코디네이터 또는 라우터에 송신한다. 엔드 디바이스만 슬립 모드를 사용하여 전력을 절감할 수 있다.
5. 좀 더 자세히 살펴보자
그림 2(a)는 1 : n형이라고 하는 네트워크 통신 형태이다. 하나의 코디네이터와 하나 또는 여러 개의 엔드 디바이스로 네트워크를 구성한다. 각 모듈간 거리는 1홉(무선이 도달할 수 있는 거리) 이내이며, 엔드 디바이스간 데이터 통신은 코디네이터를 통해 실시한다.
그림 2(b)는 클러스터 트리형이라고 하는 네트워크 통신 형태이다. 원거리에 있는 엔드 디바이스까지 통신할 수 있다. XBee 사이에 라우터가 있으므로 접속 수(홉 수)를 늘릴 수 있다. 흩어져 있는 많은 센서가 측정한 물리량을 한 곳(코디네이터)에 모을 수 있다.
그림 2(c)는 메시형이라고 하는 네트워크 통신 형태이다. 1홉 안에 여러 개의 라우터와 엔드 디바이스를 배치한다. 클러스터 트리형은 R2가 고장나면 거기서 통신이 두절되지만, 메시형은 1홉 안에 있는 R3, E2가 자동적으로 주요 루트를 만들어 아무 일도 없었다는 듯이 통신을 유지한다. 견고한 네트워크 통신망이다.
6. 시리즈 1과 시리즈 2의 차이
시리즈 1은 1 : 1 또는 1 : n 무선 통신이 가능하여(국제 규격 IEEE802.15.4 준거) UART 무선화에 최적이다.
시리즈 2는 IEEE802.15.4 위에 ZigBee 프로토콜 스택을 탑재했다. ZigBee는 규격화된 업계 표준으로 다른 ZigBee 인정 기기와 서로 통신할 수 있다. 이론상 약 65,000개의 노드(절점)를 가진 네트워크를 구성할 수 있다.
7. 시리즈 2의 상세 내용
시리즈 2는 ‘코디네이터 ⇔ 라우터 ⇔ 엔드 디바이스’라는 네트워크를 구성할 수 있다. 시리즈 2에는 AT 모드와 API 모드라는 2가지 동작 모드가 있다.
(1) AT 모드(트랜스페어런트 오퍼레이션)
DIN에 시리얼 데이터(UART)를 입력하면 그대로 무선으로 흘러나와 송신 상대인 DOUT에서 출력된다. RS-232를 간단하게 무선화할 수 있다.
(2) API 모드(API 오퍼레이션)
프레임(API 프레임)을 사용하여 패킷 통신하는 동작 모드이다. 무선을 경유하여 원격에 있는 XBee의 I/O(디지털 핀이나 아날로그 핀)를 조작할 수 있다. 데이터 통신도 API 프레임을 구성하면 가능하다. AT 모드에서는 XBee가 자동으로 패킷을 구성하고 체크섬(Checksum)을 넣어 재전송해 준다.
8. 시리즈 2를 API 모드에서 사용하는 방법
시리즈 2는 펌웨어를 재기록하여 사용하는 것을 전제로 한다. 구입 직후에는 펌웨어가 ‘AT 모드 동작 라우터’로 되어 있다.
펌웨어를 재기록하면 다음과 같은 세 가지 기능으로 설정할 수 있다. 각 기능 모두 AT 모드와 API 모드에서 설정할 수 있지만, 여기서는 API 모드를 사용했다.
① 코디네이터
② 라우터
③ 엔드 디바이스
(1) 펌웨어를 재기록하는 방법
재기록 시에는 PC, 시리얼 인터페이스, 전원(+3.3V)이 필요하다. 디코드하는 단자는 다음과 같은 4개이다. 여기서, 괄호 안은 XBee의 단자 번호이다.
① DOUT(2) : RXD에 접속
② DIN(3) : TXD에 접속
③ CTS(12) : CTS에 접속
④ RTS(16) : RTS에 접속
사진 2는 직접 제작한 펌웨어 재기록용 인터페이스 보드이다. 이밖에도 시판 제품 여러 종류를 구할 수 있다. 펌웨어 재기록용 소프트웨어(X-CTU)는 디지인터내셔널 홈페이지(http://www.digi.com/support/productdetail?pid=3352)에서 무료로 구할 수 있다.
▲사진 2. 시리즈 2의 펌웨어 재기록용 보드
(시리얼 데이터를 USB로 변환함으로써 PC에 간단히 접속할 수 있다)
(2) 참고가 되는 기술 자료
다음과 같은 디지인터내셔널 홈페이지에서 다양한 정보를 얻을 수 있다.
http://www.digi.com/products/wireless-wired-embedded-solutions/zigbee-rf-modules/zigbee-mesh-module/xbee-zb-module#overview
Documentation을 선택하여 열린 화면에서 Product Manual : XBee/XBee-PRO ZB RF Modules를 선택하면 사용자 매뉴얼이 표시된다. 자주 갱신되므로 항상 최신판을 다운로드해 두는 것이 좋다.
기본 무선 모듈 XBee와 원칩 센서 IC의 조합 방법
1. 5가지 접속 방법이 있다
원칩 센서와 기본 무선 모듈 XBee를 사용하면 간단하게 무선 센싱 시스템을 구축할 수 있다. 그 방법을 정리하면 그림 3과 같이 5가지로 분류할 수 있다. 각 접속 방법의 특징을 정리하면 표 2와 같다.
XBee에 I2C 또는 SPI 원칩 센서를 직접 연결하는 것은 매우 심플하다. 그러나 제어선의 “L/H” 제어를 무선 통신으로 차례차례 실행해 나가므로 데이터 전송속도는 낮으며, 샘플링 주기가 1분에 1회 정도 기준이면 괜찮다.
▲그림 3. 원칩 센서와 XBee를 접속하는 5가지 방법
2. 조합 방법 1[그림 3(a)]
XBee가 가진 디지털 입출력 및 아날로그 입력과 원칩 센서를 직접 연결하는 방법이다.
3. 조합 방법 2[그림 3(b)]
앞으로는 I2C 인터페이스를 탑재한 원칩 센서가 증가할 것이다. 고속성이 필요 없다면, I2C로 센서와 XBee를 직접 연결할 수 있다. 그림과 같이 트랜지스터를 2개 추가한다.
I2C를 이용할 때의 문제점은 주소가 중복된다는 것이다. I2C가 다룰 수 있는 주소는 최대 128개이므로 128개 이상의 센서를 이용할 수는 없다. 센서 IC에 따라서는 주소를 변경할 수 있는 단자가 준비되어 있거나, 미리 다른 주소의 디바이스가 준비되어 있는 것도 있다.
4. 조합 방법 3[그림 3(c)]
SPI 인터페이스는 시리얼 클록을 수십MHz로 높게 할 수 있으므로, 데이터를 고속으로 얻고싶을 때 메리트가 있다. 그러나 XBee에 SPI 인터페이스의 원칩 센서를 직접 연결하면 데이터를 얻는 데 시간이 걸린다.
5. 조합 방법 4[그림 3(d)]
프로그램할 수 있는 마이컴이 탑재되어 있는 무선 모듈 Programmable XBee를 사용한다. 마이컴은 8비트 S08 시리즈의 MC9S08QE32CFT(프리스케일 세미컨덕터)이며 개발 환경 등을 무료로 구할 수 있다.
6. 조합 방법 5[그림 3(e)]
XBee와 원칩 센서 사이에 원칩 마이컴을 넣었다. XBee의 DIN과 DOUT을 사용하여 시리얼 통신(UART)으로 센서 데이터를 전송한다. 전력 절감 설계, 많은 센서 실장 등으로 인텔리전트하게 사용할 수 있다.
▲표 2. XBee의 인터페이스
7. 무선 센서 네트워크의 미래
XBee를 사용하면 매우 낮은 비용으로 무선 센서 네트워크를 구성할 수 있다. 회사뿐만 아니라 가정에서도 무선화하고 싶은 기기(센서)가 많다. 예를 들면 체중계, 혈압계, 방범 관련, 기상 관측(다분히 취미로 하는 경우가 많지만), 연기감지기 등이다. 체중계나 혈압계는 이미 자동적으로 기록해 주는 제품도 있으며, 블루투스(Bluetooth) 등을 사용한 무선 대응 기기도 있다. 하지만 아직 고가이다. 이러한 기능을 가진 게임기도 있지만 사용 편의성에는 의문이 있다.
더 저렴하고 손쉽게 직접 제작하고자 할 경우, XBee는 좋은 선택지 중 하나이다. 무선 관련의 경우 와이파이(Wi-Fi), 블루투스, XBee(ZigBee) 등은 발전을 거듭하여 가격이 점점 더 내려갈 것이다. 기술적인 장벽도 높지 않으므로, 네트워크 구축에도 도전해 보자.
유선으로 해도 되는 경우가 많다! 무선으로 할 경우의 리스크
1. 신뢰성 확보가 어렵다
가장 먼저 생각할 수 있는 무선화 리스크는 ‘신뢰성 하락’이다. 수신한 데이터가 올바른지의 여부는 체크섬 등에 의해 문제 없는 수준으로 개선할 수 있다. 그러나 만약 통신 장해에 의해 데이터 수신이 중단된다면 방법이 없다. 통신이 두절되면 경보를 내도록 시스템을 구성해도 빈번하게 또는 장기간 중단되는 통신 시스템은 사용할 수 없다.
무선화할 때에는 최대한 통신이 중단되지 않도록 무선기기 설치 장소를 최적화해야 한다. 센서 기판에서 송신하는 데이터에는 위험도에 따라 순위를 매기거나, 지진이나 유독 가스 등 큰 사고로 직결되는 물리량을 검출하는 센서는 유선으로 연결하자.
2. 자동 제어 루프는 신중하게
자동 제어는 좁은 범위에서 구축되는 경우가 많으므로 대부분의 경우 무선화할 필요가 없지만, 센서와 제어기기의 거리가 10m 정도 되면 무선화하고 싶은 경우도 있다. 하지만 자동 제어 루프에 무선을 사용하는 것은 피하는 것이 좋다.
만약 제어하고자 하는 타깃이 1℃의 증감도 허락하지 않는 고온로인 경우, 통신 중단이 일어나면 온도가 제어되지 않게 되어 큰 사고로 이어질 가능성이 있다.
공조의 경우 1℃ 정도 증감해도 문제없으므로 무선 도입은 비교적 쉬울 것이다. 방 온도를 측정하여 무선으로 에어컨 유닛에 측정 결과를 송신하고, 그 온도에서 에어컨 유닛을 제어하는 흐름이다. 통신이 중단돼도 그것이 장해라고 알 수만 있다면 현상을 유지하며 에어컨 유닛을 동작시키면 될 것이다. 무선화한 결과 시스템의 성능과 신뢰성이 떨어져 위험이 증가한다면 의미가 없다.
3. 방수(傍受)된다
제3자가 무선을 방수하는 것은 매우 간단하다. 경우에 따라서는 데이터 암호화도 고려해야 한다. ‘무선기 출력이 작으므로 아무리 해도 옆방 정도밖에 도달하지 못할 것이다’라고 안이하게 생각해서는 안 된다. 실제로 XBee 전파는 수백m까지 도달한다.
만약 방수를 꾸미는 상대가 빔 안테나를 사용하여 수신한다면 수km 앞의 XBee 송신 정보까지 간단하게 방수할 수 있다. 전파원 발신 위치도 간단하게 특정지을 수 있다. 또한 무선 시스템은 잡는 것도 간단하다. XBee는 프레임 내용이 분명하게 되어 있으므로 악의 있는 정보를 보낼 수 있다.
이와 같이 무선화는 정보를 공개하는 것과 동일하다. 대책과 지식을 가지고 안전하게 이용해야 할 것이다.
本 記事는 日本 CQ出版社가 發行하는 「トランジスタ技術」誌와의 著作權 協定에 依據하여 提供받은 資料입니다.
게재월 | 2014 - 01
152183
0