Microsoft Word - manual_probee_ze10_kr-v1.5

Similar documents
Microsoft Word - How to make a ZigBee Network_kr

Microsoft Word - manual_probee_ze10_kr-v1.0.0.doc

Microsoft Word - manual_probee_ze10_kr-v1.1.0.doc

Microsoft Word - manual_probee_zu10_kr-v1.0.0.doc

Microsoft Word - manual_probee_zu10_kr-v1.2.1.doc

Microsoft Word - manual_probee_zs10_kr-v1.5

Microsoft Word - manual_probee_zs10_kr-v1.1.0.doc

Microsoft Word - manual_probee_zu10_kr-v1.2.2.doc

Microsoft Word - ds_probee-ze20s_kr-v1.0.0.docx

Microsoft Word - ds_probee-ze10_kr-v1.0.1.docx

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

BY-FDP-4-70.hwp

개요

CAN-fly Quick Manual

ISP and CodeVisionAVR C Compiler.hwp

Install stm32cubemx and st-link utility

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

Microsoft Word - release note-VRRP_Korean.doc

네트워크통신연결방법 네트워크제품이통신을할때, 서로연결하는방법에대해설명합니다. FIRST EDITION

비상벨 통신 프로토콜

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech

System Recovery 사용자 매뉴얼

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech

SBR-100S User Manual

(SW3704) Gingerbread Source Build & Working Guide

VPN.hwp

RS- 232, RS485 FND Display Module NET-SFND-4-23A RS-232, RS485 FND Display Module NET-SFND-4-23A MANUAL (Rev 1.0) Net-Control http

API 매뉴얼

(MHT-SB112\273\347\276\347\274\255.hwp)

untitled

MF Driver Installation Guide

SBR-100S User Manual

OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver of 8 Onsystech

1 1. INTRODUCTION 2 2. DOWNLOAD Windows Desktop & Server Max OS X, Linux, Windows CE 2 3. API REFERENCE CAN_OpenVcp CAN_Op

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1

ez-shv manual

API 매뉴얼

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Security.hwp

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

Microsoft Word - src.doc

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

Microsoft Word - PEB08_USER_GUIDE.doc

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

2 노드

MF3010 MF Driver Installation Guide

Microsoft Word - Armjtag_문서1.doc

*Revision History 날짜 내용 최초작성 Tel Fax [2] page

SBR-100S User Manual

Endpoint Protector - Active Directory Deployment Guide

슬라이드 1

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

Windows 8에서 BioStar 1 설치하기

RealDSP UT 프로그램 메뉴얼

03_원격제어반_IDAC-2W

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

MF5900 Series MF Driver Installation Guide

COMFILE_VOL13_ cdr

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

tiawPlot ac 사용방법

Mango-E-Toi Board Developer Manual

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

놀이동산미아찾기시스템

Microsoft Word - PLC제어응용-2차시.doc

View Licenses and Services (customer)

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

RealDSP UT 프로그램 메뉴얼

슬라이드 1

Windows Server 2012

NTD36HD Manual

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

Microsoft Word - AM-SLCD_시리얼 LCD_ 메뉴얼.doc

온습도 판넬미터(JTH-05) 사양서V1.0

SBR-100S User Manual

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L

PowerPoint 프레젠테이션

목차 1. 매뉴얼안내 사용준비 Unified Label Printer Utility 사용방법 PCX File Downloader User Setting Manager File Transfer

BC6HP Korean.ai

DBMS & SQL Server Installation Database Laboratory

Nordic Chipset BLE Test Application Note

Operating Instructions

ez-md+_manual01

SRC PLUS 제어기 MANUAL

Microsoft Word - LKP-RTD 사용자 설명서

PowerPoint Presentation

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

구성품 - UMD 2808 모듈 - JTAG 커넥터 - 젂원 케이블 주요 특징 모듈의 부품화 : 고신뢰성의 DSP 모듈을 최적화된 시스템에 적용 용이 TMS320F2808 ZGMS - 100MHz 탑재 : 확장된 온도규격 (-40 도 ~ 125 도) 적용 Ultralo

SBR-100S User Manual

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

T100MD+

PowerPoint 프레젠테이션

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

Transcription:

1 ZigBee OEM 모듈 ProBee-ZE10 사용자가이드 ( 주 ) Rev 1.5

2 ProBee-ZE10 User Guide Firmware version PTv1.X 저작권 Copyright 2010 ~2012, ( 주 ) 세나테크놀로지 All rights reserved. 세나테크놀로지는자사제품을예고없이변경및개선할수있는권리를가지고있습니다. 등록상표 ProBee 는세나테크놀로지의등록상표입니다. Windows 는 Microsoft Corporation의등록상표입니다. Ethernet 은XEROX Corporation의등록상표입니다. 사용자고지시스템고장이심각한결과를유발하는응용분야인경우, 백업시스템이나안전장치를사용하여심각한결과로부터인명및재산을보호하는것이필요합니다. 시스템고장으로인한결과에대한보호는사용자책임입니다.

3 Revision Date Name V1.0.0 2010-09-30 KS Choi Initial Writing V1.1.0 2010-10-27 KS Choi ZE10 PTv1.2 내용추가 V1.2.0 2011-08-22 HR Zo ZE10 PTv1.3 내용추가 V1.2.1 2011-09-16 HR Zo 시리얼포트핀배열추가 V1.2.2 2011-09-29 HR Zo ZE10 PTv1.4 내용추가 - AT+RSSI 명령추가 - AT+ESCAN 결과표시변경 V1.5 2012-02-21 Uin Burn * ZE10 PTv1.5 내용추가 - ATS11, Flow control 초기값변경 - Frequency Agility 내용추가 * 전원관련핵심기능수정 * 핀할당내역표의 Default Funtion 수정 * 치수도면수정

4 목차 1 소개... 11 1.1 본문서에관하여... 11 1.2 개요... 11 2 시작하기... 13 2.1 하드웨어설치... 13 2.1.1 개발보드구성...13 2.1.2 안테나설치...14 2.1.3 개발보드에모듈장착...14 2.1.4 시리얼 /USB 케이블설치...15 2.1.5 개발보드에전원공급...16 2.1.6 USB 드라이버설치...16 2.2 터미널프로그램을이용한 AT 명령어입력... 17 2.3 ProBee Manager를이용한설정... 18 2.3.1 시리얼포트열기...18 2.3.2 설정...19 2.3.3 펌웨어업데이트...21 3 지그비네트워크설정... 23 3.1 ZE10을코디네이터로설정하기... 23 3.1.1 코디네이터노드형태선택...24 3.1.2 코디네이터채널마스크설정...24 3.1.3 코디네이터의 PAN ID 설정...25 3.1.4 참여허용 (Permit Joining)...25 3.2 ZE10을라우터로설정하기... 26 3.2.1 라우터노드형태지정...27 3.2.2 라우터채널마스크설정...27 3.2.3 라우터 PAN ID 설정...27 3.2.4 참여허용 (Permit joining)...28 3.3 ZE10을엔드디바이스로설정하기... 28 3.4 ZE10을슬리피엔드디바이스 (Sleepy End-Device) 로설정하기... 29 3.5 지그비보안 (ZigBee Security)... 31 3.5.1 보안수준...31 3.5.2 링크키 (Link Key)...31 3.5.3 네트워크키 (Network Key)...31 3.5.4 키업데이트...32

5 3.6 주파수간섭회피 (Frequency Agility)... 32 4 데이터송수신... 33 4.1 커맨드모드 (Command Mode)... 33 4.1.1 유니캐스트 (Unicast)...33 4.1.2 멀티캐스트 (Multicast)...33 4.1.3 브로드캐스트 (Broadcast)...34 4.1.4 바이너리데이터전송 (Sending Binary Data)...35 4.1.5 받은메시지표시...35 4.2 데이터모드 (Data Mode)... 36 4.2.1 유니캐스트데이터모드 (Unicast Data Mode)...36 4.2.2 멀티캐스트데이터모드 (Multicast Data Mode)...39 4.2.3 브로드캐스트데이터모드 (Broadcast Data Mode)...41 5 디지털및아날로그입출력... 43 5.1 GPIO (General Purpose Inputs and Outputs) 설정... 43 5.2 입출력샘플링... 44 5.2.1 쿼리드샘플링 (Queried Sampling)...44 5.2.2 주기적샘플링 (Periodic Sampling)...46 5.2.3 변화감지샘플링 (Change Detection Sampling)...47 5.2.4 GPIO 원격제어 (GPIO Remote Control)...47 6 개발키트사용하기... 48 6.1 개발키트구성품... 48 6.2 개발보드기능... 48 6.3 개발보드하드웨어... 49 6.3.1 전원...49 6.3.2 RS232 포트...50 6.3.3 USB 포트...50 6.3.4 ZE10 GPIO 인터페이스...50 6.3.5 LED (CR12-19)...51 6.3.6 버튼스위치 (SW10-17)...51 6.3.7 가변저항 (VR1, VR2)...51 6.3.8 온도센서...51 6.3.9 조도센서...52 6.3.10 터미널블록...52 6.4 설정예제 #1: 코디네이터 1개, 라우터 1개및엔드디바이스 1개... 52 6.4.1 코디네이터설정...53 6.4.2 라우터설정...53 6.4.3 엔드디바이스설정...54

6 6.4.4 센서모니터링...54 6.5 설정예제 #2: 코디네이터 1개및엔드디바이스 2개... 55 6.5.1 코디네이터설정...55 6.5.2 엔드디바이스설정...55 6.5.3 LED 출력제어...56 6.6 설정예제 #2: 조도센서와온도센서... 56 6.6.1 코디네이터설정...57 6.6.2 라우터설정...57 6.6.3 적용...58 6.6.4 쿼리드샘플링 (Queried Sampling)...59 6.6.5 주기적샘플링 (Periodic Sampling) Destination Node...60 6.6.6 주기적샘플링 (Periodic Sampling) Sink Node...61 6.6.7 데이터변환...62 7 AT 명령어레퍼런스... 64 7.1 명령어형식... 64 7.2 표준 AT 명령어... 64 7.2.1 AT...64 7.2.2 ATB...64 7.2.3 ATD...64 7.2.4 ATE...65 7.2.5 ATM...65 7.2.6 ATO...65 7.2.7 ATR...65 7.2.8 ATS...65 7.2.9 ATZ...65 7.2.10 AT&F...65 7.2.11 +++...66 7.3 노드관련정보... 66 7.3.1 AT+LONGADDR or AT+LA...66 7.3.2 AT+SHORTADDR or AT+SA...66 7.3.3 AT+ADDRDISCOVERY or AT+AD...66 7.3.4 AT+OPCH or AT+OC...66 7.3.5 AT+OPPANID or AT+OI...67 7.3.6 AT+OPEPID or AT+OE...67 7.3.7 AT+VERSION or AT+VR...67 7.3.8 AT+PRODUCTNAME or AT+PN...67 7.4 네트워크관련설정... 67 7.4.1 AT+CHMASK or AT+CM...67 7.4.2 AT+PANID or AT+PI...68

7 7.4.3 AT+EPID or AT+EI...68 7.4.4 AT+GROUPID or AT+GI...68 7.4.5 AT+POWER or AT+PW...68 7.4.6 AT+STACK or AT+ZS...69 7.4.7 AT+NODENAME or AT+NN...69 7.5 네트워크구성및참여... 69 7.5.1 AT+ASCAN or AT+AS...69 7.5.2 AT+ESCAN or AT+ES...69 7.5.3 AT+DSCAN or AT+DS...70 7.5.4 AT+RSSI or AT+RS...70 7.5.5 AT+NODETYPE or AT+NT...70 7.5.6 AT+PERMIT or AT+PJ...71 7.5.7 AT+LEAVE or AT+LV...71 7.6 엔드디바이스... 71 7.6.1 AT+SLEEP or AT+SM...71 7.6.2 AT+PARENTLA or AT+PL...71 7.6.3 AT+PARENTSA or AT+PS...71 7.6.4 AT+CHILDTABLE or AT+CT...71 7.7 데이터송수신... 72 7.7.1 AT+DESTLA or AT+DL...72 7.7.2 AT+DESTGROUPID or AT+DG...72 7.7.3 AT+SINKINFO or AT+SI...72 7.7.4 AT+MAXPAYLOAD or AT+MP...72 7.7.5 AT+TRASNSMITMODE or AT+TM...72 7.7.6 AT+UNICAST or AT+UC...73 7.7.7 AT+MULTICAST or AT+MC...73 7.7.8 AT+BROADCAST or AT+BC...73 7.7.9 AT+REMOTE or AT+RC...73 7.8 보안... 73 7.8.1 AT+SECURITY or AT+SE...73 7.8.2 AT+LINKKEY or AT+LK...74 7.8.3 AT+NWKKEY or AT+NK...74 7.8.4 AT+UPDATEKEY or AT+UK...74 7.9 UART... 74 7.9.1 AT+BAUDRATE or AT+UB...74 7.9.2 AT+DATABIT or AT+UD...74 7.9.3 AT+PARITY or AT+UP...75 7.9.4 AT+STOPBIT or AT+US...75 7.9.5 AT+FLOWCTRL or AT+UF...75 7.10 GPIO... 75

8 7.10.1 AT+GPIO or AT+IO...75 7.10.2 AT+DIO...76 7.10.3 AT+AI...76 7.10.4 AT+SOURCELA or AT+SL...76 7.11 펌웨어업로드및도움말... 76 7.11.1 AT+BOOTLOAD or AT+BL...76 7.11.2 AT+HELP or AT+HP...77 8 AT 명령예제... 78 8.1 네트워크설정... 78 8.1.1 코디네이터...78 8.1.2 라우터...78 8.1.3 엔드디바이스...78 8.1.4 슬리피엔드디바이스...78 8.1.5 네트워크지정...78 8.2 데이터전송... 79 8.2.1 커맨드모드...79 8.2.2 데이터모드...80 8.3 보안... 80 8.4 UART 설정... 81 8.5 GPIO... 81 8.6 펌웨어업로드... 82 8.6.1 로컬노드...82 8.6.2 원격노드...82 8.6.3 클론 ( 펌웨어복사 )...82 9 S- 레지스터... 83 9.1 디스플레이옵션... 83 9.1.1 S11...83 9.1.2 S12...84 9.1.3 S13...84 9.1.4 S14...84 9.2 네트워크설정... 84 9.2.1 S21...84 9.2.2 S22...85 9.2.3 S23...85 9.3 데이터전송... 85 9.3.1 S31...85 9.3.2 S32...85 9.3.3 S33...86

9 9.3.4 S34...86 9.3.5 S35...86 9.3.6 S36...87 9.3.7 S37...87 9.3.8 S38...87 9.3.9 S39...87 9.4 GPIO... 88 9.4.1 S41...88 9.4.2 S42...88 9.4.3 S43...88 9.4.4 S44...88 9.4.5 S45...89 9.5 엔드디바이스... 89 9.5.1 S51...89 9.5.2 S52...89 9.5.3 S53...89 9.5.4 S54...90 9.5.5 S55...90 9.5.6 S56...90 9.6 싱크 (Sink)... 91 9.6.1 S61...91 9.6.2 S62...91 10 핀배열... 92 11 연결... 94 11.1 시리얼포트핀배열... 94 11.2 결선... 95 11.2.1 호스트가 DTE 일때...95 11.2.2 호스트가 DCE 일때...95 12 치수... 96 13 품질보증... 97 13.1 일반품질보증정책... 97 13.2 책임의한계... 97 13.3 하드웨어제품보증... 97 13.4 소프트웨어제품보증... 98 13.5 3자소프트웨어제품보증... 98 14 인증정보... 99 14.1 FCC... 99

10 14.2 CE... 100 14.3 TELEC... 100 14.4 KCC... 100 14.5 ZigBee Alliance... 100 15 RF 정보... 101

11 1 소개 1.1 본문서에관하여 본문서는 ProBee-ZE10 지그비 OEM 모듈의소개, 설정및사용법에대한내용을다룹니다. 본문서는사용자가 ZE10 스타터키트를사용하는것을가정합니다. 따라서본문서의그림및설정예제들은모두 ZE10 스타터키트를사용하는것을가정하여제공됩니다. 본문서는 ZE10 하드웨어의상세사양을다루지않습니다. 하드웨어상세사양은별도 ProBee-ZE10 하드웨어데이터쉬트문서를참고하시기바랍니다. 1.2 개요 ProBee-ZE10은지그비코어, 라디오 / 안테나회로부및고급레벨소프트웨어라이브러리가결합된일체형지그비 OEM 모듈입니다. OEM 제조업체들은 ZE10을이용하여손쉽고경제적으로지그비기능을해당장비에짧은개발기간내에내장시킬수있습니다. ZE10 OEM 모듈은지그비기술을이용하여, 특별히저가및저전력을요구하는홈오토메이션이나 스마트에너지관련적용분야에사용되어질수있도록특별히설계되었습니다. ZE10 은 Ember 사의 EM250 지그비코어를사용하였으며지그비프로표준을만족하여호환성을극대화하였습니다. 저가및저전력의특성에도불구하고, ZE10 은고성능으로데이터를신뢰성있게전송할수있습니다. ZE10 의최대전송속도는 250 kbps 이며장애물이없을시실외최대직선도달거리는 1.6 km 에달 합니다. 핵심기능 일체형 2.4GHz, IEEE 802.15.4-호환송수신장치 지그비프로인증 지그비코어 : Ember EM250 송신전력 : +20dBm E.I.R.P ( 최대 ) 수신감도 : -102dBm @1% BER 공급전원 : 2.7~3.6 VDC 송신전류 : 190mA @3.3V ( 최대 ) 수신전류 : 45mA @3.3V ( 최대 ) 수면전류 : 2uA 전송거리 : 1.6 km 안테나옵션 : 다이폴 1/3/5dBi, U.FL, Chip UART 신호지원 : UART_TXD/RXD, RTS/CTS, DTR/DSR 4 아날로그입력 13 디지털입출력 RoHS 호환

12 응용분야 지능형계량기반시설 홈에이리어네트워크 (Home Area Networks, HAN) 네이버후드에이리어네트워크 (Neighborhood Area Networks, NAN) 주택자동화 (Home Automation) 고급조명, 엔터테인먼트및온도조절시스템 서비스기반모니터링, 보안및인식시스템 상업용건물자동화 온도및조명시스템 기타산업용및가정용응용분야

13 2 시작하기 ZE10 모듈을이용하여지그비네트워크를구축하는단계는아래와같이요약됩니다 : ZE10 모듈을개발보드에장착합니다 ZE10 모듈을코디네이터 (Coordinator) 로설정합니다 ZE10 모듈 ( 들 ) 을라우터 (router) 로설정합니다. 코디네이터는라우터동작을포함하므로이단계는생략가능합니다. ZE10 모듈 ( 들 ) 을엔드디바이스 (end-device) 로설정합니다. ZE10 장비들간에데이터를전송합니다. 본장에서는 ZE10 모듈을개발보드에장착하고터미널프로그램을이용하여 ZE10 모듈과통신하여 ZE10 설정및데이터송수신을위한 AT명령을보내는방법에대하여설명합니다. 지그비네트워크를구축하고지그비코디네이터 / 라우터 / 엔드디바이스설정및데이터전송방법에대하여는다음장에서보다자세히다룹니다. 또한스타터키트에대한설명및설정예제들또한그이후에설명되어집니다. 2.1 하드웨어설치 2.1.1 개발보드구성그림 2-1은개발보드의구성을보여줍니다. 개발보드는 ZE10과외부시리얼포트또는 USB포트를연결할수있는인터페이스및디지털입출력 / 아날로그입력에대한입출력단자를제공하여 ZE10의각종기능을손쉽게테스트할수있도록해줍니다. 그림 2-1 개발보드구성

14 2.1.2 안테나설치 ZE10 스타터키트는테스트목적을위하여몇가지서로다른안테나가포함되어있습니다. 서로다른안테나를사용하여테스트후사용하고자하는적용분야에적합한안테나를선택하시기바랍니다. 그림 2-2 는 ZE10에 RP-SMA 안테나를설치하는그림을보여줍니다. 그림 2-2 RP-SMA 다이폴안테나설치 2.1.3 개발보드에모듈장착 안테나를 ZE10 에설치한후, ZE10 모듈을개발보드에장착합니다. 그림 2-3 개발보드에 ZE10 장착

15 2.1.4 시리얼 /USB 케이블설치 ZE10이개발보드에단단히장착되었으면포함된시리얼케이블을이용하여개발보드와 PC를연결합니다. 개발보드의시리얼포트는 DB9 피메일커넥터이며포함된시리얼케이블은 DTE-DTE용크로스-오버케이블입니다. 시리얼포트사용시개발보드의 HOST (SW2) 스위치는 UART로설정되어야합니다. 그림 2-4 시리얼케이블설치 PC에시리얼포트가없을경우개발보드의 USB포트를이용할수있습니다. 이경우개발보드의내부 USB-RS232 변환칩이 PC로부터전송되는 USB 데이터를내부시리얼포트데이터로변환하여줍니다. USB포트를사용하기위해서는개발보드의 HOST (SW2) 스위치를 USB로설정하고 CD 에포함된 USB 드라이버를 PC에설치하여야합니다. USB 드라이버설치는 2.1.6절을참조하시기바랍니다. 그림 2-5 USB 케이블설치

16 2.1.5 개발보드에전원공급모든설치가완료되었으면포함된 DC 전원어댑터를이용하여개발보드에전원을공급합니다. DC 어댑터를사용하기위해서는 RS_PWR, USB_PWR, BATT_EN 점퍼가모두 OPEN 되어있어야합니다. DC 전원어댑터를사용하지않고 USB 나 RS232포트의 9번핀또는배터리를이용하여전원을공급하는것도가능합니다. 이경우에는RS_PWR, USB_PWR, BATT_EN 점퍼가사용하고자하는전원형태에맞게설정되어야합니다. 이경우에해당하는보다자세한점퍼설정은 6.3.1 전원부분을참고하시기바랍니다. 그림 2-6 DC 전원어댑터연결 2.1.6 USB 드라이버설치개발보드와 PC간통신을위하여 USB를사용하는경우 OS별로적절한 USB 드라이버가설치되어야합니다. Windows XP 또는그이후버전의 Windows OS는해당 USB 드라이버를이미기본으로가지고있습니다. Windows가설치할 USB 드라이버를물어보면그림 2-7과같이 자동으로소프트웨어설치 를선택하면 Windows는올바른드라이버를자동으로설치합니다. 만약드라이버가검색이안되거나제대로설치가안될경우에는같이포함된 CD에있는드라이버를선택하여설치하여도됩니다. 그림 2-7 USB 드라이버설치

17 2.2 터미널프로그램을이용한 AT 명령어입력 하드웨어설치가완료되었으면 PC상에서터미널프로그램을동작하여 ZE10에 AT 명령어를입력할수있습니다. 이경우임의의터미널프로그램을사용하여도무방합니다. 본문서에서는 HyperTerminal을사용하는것을가정하였습니다. 윈도우 Vista나윈도우 7의경우 HyperTerminal 프로그램은더이상포함되어있지않으나인터넷에서다운로드가가능합니다. 이부분에대한자세한내용은 Microsoft 웹페이지를참고하시기바랍니다. HyperTerminal 의설치가완료되었으면 HyperTerminal 프로그램을실행하고 ZE10 개발보드와연결되 어있는시리얼포트를선택한후시리얼포트설정값을지정합니다. ZE10 의기본설정값은 9600 bps, 8 data bit, none parity, 1 stop bit, 흐름제어없음입니다. 그림 2-8 HyperTerminal 시리얼포트설정 입력되는 AT 명령을화면에표시하기위해서는 Local Echo 옵션을설정하여야합니다. 이를위하여 File->Properties->Settings->ASCII setup 에서 Echo typed characters locally 옵션을선택합니다. 설정및연결이제대로이루어졌는지확인하기위하여 AT 라고입력하고엔터키를입력합니다. ZE10에 AT 명령이제대로입력되었으면 라고화면에표시되어집니다.

18 그림 2-9 AT 명력어입력테스트 2.3 ProBee Manager 를이용한설정 AT 명령을이용하지않고 ProBee Manager 소프트웨어를이용하여 ZE10의설정또한가능합니다. 이 PC 유틸리티소프트웨어를이용하면터미널프로그램없이도로컬또는리모트노드의설정할수있습니다. 현재설정을 Export 한후다른노드로 Import해서설정을재사용할수있습니다. 로컬노드나원격노드의펌웨어를업그레이드하는기능도제공하고로컬노드의펌웨어를원격노드로복제하는기능도제공합니다. 2.3.1 시리얼포트열기 그림 2-10 ProBee Manage 시리얼포트열기 로컬노드의 UART 설정에맞춰 ProBee Manager 의 Serial Port 를설정한후 Open 버튼을클릭하여 로컬노드와연결하면그림 2-11 과같이 ProBee Manager 메인화면이표시됩니다.

19 그림 2-11 ProBee Manager 메인화면 Reboot 버튼을클릭하면연결된 ProBee 장비를재시동합니다. Reload 버튼을이용하여 ProBee 장 비의설정을다시읽어와표시할수있습니다. 메인화면의 Configuration 탭과 Firmware Upgrade 탭을클릭하면각각설정화면과펌웨어업그레이드화면으로이동할수있습니다. 2.3.2 설정 메인화면의 Configuration 탭을선택하면설정화면이표시됩니다. 설정을변경하려면변경하려는설정항목을찾아서수정한후적용해야합니다. 장비의설정은기능별로분류되어있습니다. 설정카테고리를선택하면카테고리에속한장비의설정이표시됩니다. 카테고리내에있는설정항목을선택하면, 선택된설정의세부내용이오른쪽에상세하게표시됩니다. 상세화면은설정의이름과현재설정값과설정의설명이표시됩니다. 설정이가능한항목의경우에는, 현재설정값을변경하고 Save 버튼을클릭하여저장할수있습니다. 설정항목의값이변경될때마

20 다 Save 버튼을클릭하여저장해야설정항목을이동해도변경된값이저장되어다시해당설정항목으로되돌아와도변경된값이표시됩니다. 변경된내용은 Reboot 버튼을클릭하여변경내용을적용합니다. 읽기전용설정항목의경우, 설정값은변경할수없기때문에 Save 버튼은비활성화됩니다. 그림 2-12 ProBee Manager 설정화면 그림 2-12 의설정화면에서는 Node Information 카테고리가선택되었고, IEEE Address 설정항목이 선택되어상세화면에는해당항목의상세설명이표시되었습니다. IEEE Address 는읽기전용설정 항목이기때문에 Save 버튼은비활성화되어있는상태입니다. 현재시리얼포트로연결된장비와같은네트워크에속한원격노드의설정을변경할수도있습니다. 수시로슬립모드로들어가는슬리피엔드디바이스에서원격장비의설정을변경하는것은제대로작동하지않을수있으므로피해야합니다. 원격노드의설정을변경하려면우선 Remote Configuration 부분에있는 버튼을클릭하여현재네트워크에참여하고있는장비를검색한후설정을변경하려는장비의선택하여 Address 입력창에원격설정의대상장비를표시합니다. 그리고, Remote Device Setting 체크박스를체크해야합니다. 이때 Configuration Management 부분의 Export, Import 버튼아래에있는 Restore to Factory Default 버튼은 Reboot 으로변합니다. 이렇게되면설정카테고리와설정항목상세화면에는선택된원격노드의정보가표시됩니다. 이상태에서상세화면의설정항목을변경하고 Save 버튼을클릭하여변경내용을저장하고 Restore to Factory Default 이었다가 Reboot 으로변경된버튼을클릭하여원격노드를재시동하여변경된설정내용을적용합니다.

21 현재설정을 Export하여저장하려면 Configuration Management 부분의 Export 버튼을클릭하여저장할위치와파일명을결정한후 저장 버튼을클릭하면됩니다. 이렇게저장된파일은 Import 하여사용할수있습니다. Remote Configuration 부분의 Remote Device Setting 체크박스를선택한후 Export 또는 Import를하게되면원격노드의설정을 Export하거나원격노드로 Import 할수있습니다. Restore to Factory Default 버튼을클릭하면장비설정을팩토리기본값으로변경할수있습니다. 2.3.3 펌웨어업데이트 그림 2-13 ProBee Manager 펌웨어업데이트화면 메인화면의 Firmware Update 탭을선택하면펌웨어업데이트화면이표시됩니다. Message 부분은 업데이트진행과관련된상태를표시하는메시지가표시됩니다. 펌웨어를업그레이드하려면 Firmware File 부분에서업그레이드할펌웨어파일을선택한후 Local Device Update 부분의 Update 버튼을클릭하면됩니다. 업그레이드할파일은 Choose file in local PC 버튼을클릭하여프로그램이실행중인 PC의파일에서선택할수도있고, Download from web server 버튼을클릭하여웹에서 PC로다운로드하여선택할수도있습니다. Update 버튼을클릭하여업데이트를진행하면 Local Device Update 부분에진행율이표시되고 Message 부분에진행상태메시지가표시됩니다.

22 현재연결된장비와같은네트워크에속한원격노드의펌웨어를업데이트할수도있습니다. 수시로슬립모드로들어가는슬리피엔드디바이스에서원격장비의펌웨어를업데이트하는것은제대로작동하지않을수있으므로피해야합니다. 원격노드의펌웨어를업데이트하려면우선업데이트할펌웨어파일을선택합니다. Remote Device Update 부분에서 Search 버튼을클릭하여네트워크에참여하고있는원격노드를검색한후업데이트할원격노드를선택합니다. Remote Device Update 부분에있는 Update 버튼을클릭하면업데이트가진행됩니다. Remote Device Update 부분의 Clone local firmware 체크박스를선택한후 Update 버튼을클릭하면현재시리얼포트로연결된로컬노드의펌웨어를 Remote Device Update 부분에선택되어있는원격노드로복제합니다.

23 3 지그비네트워크설정 지그비네트워크는코디네이터, 라우터및엔드디바이스로구성됩니다. 가장간단한지그비네트워크 는하나의코디네이터와이에직접연결된엔드디바이스들로구성됩니다. 복잡한지그비네트워크의 경우에는여러대의라우터들이중복경로를제공하여메쉬네트워크를구성하게됩니다. 지그비코디네이터 (ZigBee Coordinator): 코디네이터는지그비네트워크의근간으로다른지그비네트워크와연결되기위한통로로서사용되어지기도합니다. 코디네이터는시동시해당지그비네트워크를구성하므로각각의지그비네트워크에는오직하나의코디네이터만이존재합니다. 코디네이터는또한트러스트센터 (Trust Center) 로동작하거나보안키의저장소역할을수행하는등해당네트워크고유의정보들을저장하는역할을수행합니다. 지그비라우터 (ZigBee Router): 라우터는지그비노드들간의데이터를중계하는역할을수행합니다. 코디네이터는라우터역할도같이수행하므로지그비네트워크구성시별도의라우터가생략될수있습니다. 지그비엔드디바이스 (ZigBee End-Device): 엔드디바이스는지그비네트워크의말단에위치하여해당패런트노드인코디네이터또는라우터와만통신합니다. 따라서데이터중계역할은수행하지않습니다. 지그비슬리피엔드디바이스 (ZigBee Sleepy End-Device): 슬리피엔드디바이스는일반엔드디바이스와동일하지만보다현저히오랜시간동안슬립모드를유지하여전력소모가매우적습니다. 따라서전력소모량이중요한경우효과적으로사용될수있습니다. ZE10 은코디네이터, 라우터, 엔드디바이스또는슬리피엔드디바이스로동작하도록설정이가능합 니다. 또한각모드를선택할경우이에해당하는추가설정값들이적절하게설정되어야합니다. 본 장에서는 ZE10 의노드타입설정및이와연관된추가설정에대한설명을다룹니다. 노드형태코디네이터라우터엔드디바이스슬리피엔드디바이스 표 3-1 지그비노드형태사용목적에따른노드형태권장네트워크를처음시작하기위하여선택지그비네트워크가존재하고이를확장하기위하여사용되어짐. 라우터를사용할경우신속하고신뢰성있는데이터전송이가능함. 지그비네트워크가충분한패런트노드 ( 라우터및코디네이터 ) 를가지고있는경우엔드디바이스선택. 엔드디바이스는전력소모가적은장점이있음. 적은데이터전송이매우간헐적으로이루어지는경우선택. 최소 2uA에해당하는전력소모만사용되어지나슬립기간중데이터손실이있을수있음. 3.1 ZE10 을코디네이터로설정하기 코디네이터는데이터를중계하고패런트노드로서동작합니다. 모든지그비네트워크는코디네이터로

24 서동작하는노드가시작하면서최초로구성이시작됩니다. 코디네이터는일반적으로슬립모드에들어가서는안되며항상전원이들어와있어야합니다. ZE10을코디네이터로설정하기위해서는아래단계를따릅니다. ZE10 노드형태를코디네이터로설정합니다. 선택적으로, 채널마스크를지정합니다. 채널마스크가지정되지않으면 ZE10은기본채널마스크값을이용합니다. 선택적으로, PAN ID 및 / 또는확장 PAN ID를지정합니다. 지정이안되면 ZE은고유한 PAN ID 및 / 또는확장 PAN ID를자동으로생성합니다. 다른라우터나엔드디바이스가지그비네트워크에합류할수있는여부를설정합니다 (Permit joining). 3.1.1 코디네이터노드형태선택 ZE10 모듈을코디네이터로설정하기위하여아래 AT 명령을수행합니다 : AT+NODETYPE=n or AT+NT=n 이때 n 의값은 0 = none, 1 = coordinator, 2 = router, 3 = end-device, 4 = sleepy end-device 노드형태가선택되면 ATZ 명령을수행하여리셋을수행하도록하여변경내용이적용되도록합니 다. 예제 ) AT+NODETYPE=1<CR> ATZ<CR> # Set node type as the coordinator # Apply the change 3.1.2 코디네이터채널마스크설정지그비코디네이터가시동되면코디네이터는지정된주파수채널을검색하여다른무선장비들과가장간섭이적은채널을선택하여해당지그비네트워크용채널로사용합니다. 사용자는코디네이터가검색할주파수채널들을아래 AT 명령어를이용하여지정할수있습니다. AT+CHMASK=n or AT+CM=n 이때 n = 사용할채널마스크, 기본값 = 0x03FFF000 채널마스크는 32 비트 16진수값을가지며각비트는해당채널의사용여부를나타냅니다. 예를들어서채널 12~15를사용하기위해서는채널마스크의 12~15 비트값은 1으로설정되어야하면나머지비트들은 0으로설정되어야합니다. 기본값은 0x3FFF000이며이는채널 12~25를사용한다는의미입니다. ZE10은채널 12~25만을지원하므로 0~11비트및 26~31비트는항상 0으로설정되어야합니다. 표 3-2는각채널에해당하는비트마스크를보여줍니다.

25 표 3-2 채널비트마스크 Channel 12 13 14 15 16 17 18 Bit mask 00001000 00002000 00004000 00008000 00010000 00020000 00040000 Channel 19 20 21 22 23 24 25 Bit mask 00080000 00100000 00200000 00400000 00800000 01000000 02000000 3.1.3 코디네이터의 PAN ID 설정모든지그비네트워크는네트워크를식별하기위하여고유한 PAN ID가설정되어야합니다. PAN ID가 0000으로설정되는경우 ZE10 은임의의 16-비트난수를발생하여 PAN ID로사용합니다. 사용자가 PAN ID를직접설정하고자할경우에는아래의 AT명령어를사용하면됩니다. AT+PANID=xxxx or AT+PI=xxxx 이때 xxxx = 사용할 PAN ID. 예를들어서 12AB. 기본값 = 0000 사용자가 PAN ID를지정시에는같은 PAN ID를가지는지그비네트워크가존재하지않는것을확인해야합니다. 같은 PAN ID를가지는네트워크가존재할때에는 PAN ID가유효하지않게되며사용자는새 PAN ID를지정해야합니다. 따라서 PAN ID 중복여부가확실하지않을때에는 PAN ID를자동으로생성하여사용하는것을권장합니다. 사용자는또한아래 AT 명령어를이용하여 64- 비트확장 PAN ID 를지정할수있습니다. 지정한확장 PAN ID 가 0000000000000000 일때에는 ZE10 은자신의 IEEE 주소를확장 PAN ID 로서사용합니다. 확장 PAN ID 역시다른지그비네트워크와중복되지않는유일한값을가져야합니다. AT+EPID=xxx xxx or AT+EI= xxx xxx 이때 xxx xxx = 사용할 EPID. 예를들어서 0123456789ABCDEF. 기본값 = 000 000. 3.1.4 참여허용 (Permit Joining) 라우터또는엔드디바이스가지그비네트워크에참여하고자할경우에는이를허용하는코디네이터또는이미네트워크에참여한라우터가하나이상존재해야합니다. ZE10은네트워크참여를아래와같은세가지방법으로허용합니다. 설정에의한항상참여허용 AT 명령에의한일시적인참여허용 디지털입력신호에의한일시적인참여허용 항삼참여가허용되도록설정된경우에는어떤장비라도언제든지네트워크에참여할수있습니다. 따 라서보안상의문제가발생할수있으므로이모드를사용하는경우에는특별한주의가필요합니다. 항상참여가허용되도록설정하려면아래와같은 AT 명령을이용합니다.

26 AT+PERMIT=255 or AT+PJ=255 네트워크참여를일시적으로허용하기위해서는아래의 AT 명령어를이용합니다. AT+PERMIT=n or AT+PJ=n 이때 n = 참여를허용하는시간 ( 초 ). 허용범위 = 1~254 또한디지털입력값 GPIO0 값에따라서네트워크참여를허용하기위해서는아래 AT 명령어를이용 합니다. AT+GPIO0=5 or AT+IO0=5 이경우 GPIO0 의값이 On 에서 Off 로변경되는시점부터 S- 레지스터 22 (S22) 에설정된시간간격 동안네트워크참여가허용됩니다. S22 값을변경하려면아래 AT 명령어를이용합니다. ATS22=n 이때 n = 참여를허용하는시간 ( 초 ). 허용범위 = 1~254. 기본값 = 255 S22 값은네트워크허용지속시간을초단위로지정합니다. S22 가 255 로설정되면다른노드의네트 워크참여를항상허용합니다. 또한코디네이터또는라우터가재시동할때에도이 S22 시간간격만 큼다른노드의네트워크참여를허용합니다. 주의 : 네트워크에이미참여한노드가재시동을할때에는허용여부에상관없이해당네트워크에참 여가가능합니다. 하지만이노드가다른네트워크에참여를하였다가다시해당네트워크에참여하 려고할때에는코디네이터또는다른라우터로부터의참여허용이필요합니다. 3.2 ZE10 을라우터로설정하기 라우터는메시지를중계하는노드로서다른노드의패런트노드로서동작할수있습니다. 라우터노드 들은항상전원이들어와있어야하며슬립상태에들어갈수없습니다. ZE10을라우터로설정하기위해서는아래의단계를수행합니다. ZE10의노드형태를라우터로지정합니다. 선택적으로, 채널마스크를지정합니다. 채널마스크를지정하지않으면 ZE10은기본채널마스크값을이용합니다. 선택적으로, 참여하고자하는지그비네트워크의 PAN ID 및 / 또는확장 PAN ID를지정합니다. 이를지정하지않으면 ZE10은이미존재하는지그비네트워크를검색하여발견된 PAN ID 및 / 또는확장 PAN ID를이용하여네트워크에참여합니다. 다른노드들의네트워크참여허용방법을설정합니다.

27 3.2.1 라우터노드형태지정 ZE10 을라우터로지정하기위해서는아래 AT 명령어를사용합니다. AT+NODETYPE=n or AT+NT=n 이때 n 의값은 0 = none, 1 = coordinator, 2 = router, 3 = end-device, 4 = sleepy end-device 노드형태가지정된후 ATZ 명령을수행하여변경내용이적용되도록합니다. 예제 ) AT+NODETYPE=2<CR> ATZ<CR> # Select router mode # Apply the change 3.2.2 라우터채널마스크설정 ZE10 라우터나엔드디바이스가네트워크에참여하고자할경우설정된채널마스크에해당하는모든채널들을검색한후발견된지그비네트워크에참여합니다. 따라서채널마스크설정시참여하고자하는네트워크의코디네이터가사용하고있는채널이포함되어야합니다. 예를들어서참여하고자하는네트워크가채널 12에서운용중이면네트워크에참여하고자하는라우터또는엔드디바이스의채널마스크 12번째비트는 1로설정되어야합니다. 3.2.3 라우터 PAN ID 설정지그비라우터또는엔드디바이스의 PAN ID 및 / 또는확장 PAN ID는참여하고자하는네트워크의코디네이터의 PAN ID/ 확장 PAN ID와동일하여야합니다. 코디네이터가자동으로생성된 PAN ID를이용할경우아래 AT명령어를코디네이터에서실행하여운용중인 PAN ID를알수있습니다. AT+OPPANID or AT+OI 라우터또는엔드디바이스의 PAN ID가 0000일경우에는 PAN ID는무시됩니다. PAN ID가일치하거나무시되었으면 ZE10은확장 PAN ID를비교합니다. 확장 PAN ID가코디네이터의확장 PAN ID와일치할경우네트워크에참여를시도하고일치하지않을경우에는다른지그비네트워크를검색합니다. 현재운용중인코디네이터의확장 PAN ID는아래 AT 명령어를코디네이터에서실행하여구할수있습니다. AT+OPEPID or AT+OE 라우터나엔드디바이스의확장 PAN ID 가 0000000000000000 일경우에는확장 PAN ID 는무시됩니다.

28 3.2.4 참여허용 (Permit joining) 지그비라우터는코디네이터와마찬가지로다른노드들의네트워크참여를제어할수있으며, 설정방법은코디네이터와동일합니다. 자세한참여허용에대한설정은 3.1.4 참여허용를참조하시기바랍니다. 3.3 ZE10 을엔드디바이스로설정하기 엔드디바이스는네트워크의가장말단에위치하여패런트노드와만통신하는장비입니다. 따라서엔드디바이스는메시지중계를하지않습니다. ZE10을엔드디바이스로설정하려면아래단계를따르면됩니다. ZE10을엔드디바이스노드형태로지정합니다. 선택적으로, 채널마스크를지정합니다. 채널마스크를지정하지않으면기본채널마스크를사용합니다. 선택적으로, PAN ID 및 / 또는확장 PAN ID를지정합니다. 명시되지않을경우 ZE10은주변의지그비네트워크를검색하여자동적으로참여를시도합니다. 폴시간제한 (poll timeout) 과폴주기 (poll period) 를설정합니다. 위에서언급된노드형태, 채널마스크및 PAN ID/ 확장 PAN ID 설정방법들은라우터의경우와동일 합니다. 보다자세한설정방법은 3.2 ZE10 을라우터로설정하기를참조하시기바랍니다. 엔드디바이스가네트워크에참여하면, GPIO1이특정용도로설정되어있을땐주기적으로 power LED가깜빡입니다. 엔드디바이스는패런트노드 ( 코디네이터나라우터 ) 에속하게되며패런트노드는해당엔드디바이스의정보를차일드테이블이라고불리우는테이블에저장하여메시지를중계하기위한목적으로사용합니다. 이테이블은엔드디바이스가일정시간마다패런트노드를폴 (poll) 하는동안은계속유지가되지만그렇지않은경우패런트노드는해당엔드디바이스를테이블로부터삭제하고더이상메시지를중계하지않습니다. 이일정시간은폴시간제한 (poll timeout) 이라고불리우며패런트노드에서설정되어야합니다. 또한엔드디바이스에서패런트노드를폴하는시간간격은폴주기 (poll period) 라고불리우며엔드디바이스에서설정됩니다. 폴주기는폴시간제한보다같거나짧게설정되어야의도하지않게엔드디바이스가차일드테이블에서삭제되는경우를방지할수있습니다. ZE10 의폴간격은아래와같이 S- 레지스터의값을설정함으로지정할수있습니다. ATS51=n, 이때 n = 폴시간제한 (poll timeout) 값 ( 초 ). 기본값 = 60. 이값은패런트노드에서설정되는값입니다. S51로서지정된시간 ( 초 ) 내에엔드디바이스가패런트노드에게폴요청 (poll request) 메시지를보내지않으면패런트노드는엔드디바이스가네트워크에를떠났다고간주하고차일드테이블 (child table) 에서삭제합니다. ATS56=n, 이때 n = 폴주기 (poll period) 값 (s). 기본값 = 5. 엔드디바이스는 S56 으로지정된폴주기를이용하여패런트노드를폴합니다. 이는패런트노드와

29 의연결과네트워크상의다른노드와의데이터통신을위한것입니다. ATS55=n, 이때 n = 재참여시간제한 (rejoin timeout) 값 ( 초 ), 기본값 = 10. 패런트노드와의연결이 S55 로지정된시간보다오랜시간동안끊어지면차일드노드는현재네트워 크에다시참여를시도합니다. 엔드디바이스는패런트노드를일정주기마다폴하여야하지만슬리피엔드디바이스와는달리슬 립모드로들어가지는않습니다. 따라서슬리피엔드디바이스와는달리메시지를보내고받는것은 언제라도가능합니다. 3.4 ZE10 을슬리피엔드디바이스 (Sleepy End-Device) 로설정하기 슬리피엔드디바이스는일반엔드디바이스와동일하나슬립모드 (sleep mode) 에서무선송수신부의동작을꺼서전력소모를줄일수있는노드형태입니다. ZE10을슬리피엔드디바이스로설정하기위해서는아래의단계를따르시기바랍니다. ZE10을슬리피엔드디바이스노드형태로지정합니다. 선택적으로, 채널마스크를지정합니다. 채널마스크를지정하지않으면기본채널마스크를사용합니다. 선택적으로, PAN ID 및 / 또는확장 PAN ID를지정합니다. 명시되지않을경우 ZE10은주변의지그비네트워크를검색하여자동적으로참여를시도합니다. 슬립 (sleep) 간격을설정합니다. 슬립간격설정을제외한위에서언급된노드형태, 채널마스크및 PAN ID/ 확장 PAN ID 설정방법들 은라우터의경우와동일합니다. 보다자세한설정방법은 3.2 ZE10 을라우터로설정하기를참조하 시기바랍니다. 지그비장비의특징중하나인매우낮은전력소모는효과적인슬립 (sleep) 및웨이크업 (wake-up) 에의하여이루어집니다. 지그비코디네이터및라우터는메시지를중계하여야하므로슬립이허용되지않는반면지그비엔드디바이스는대부분의시간을슬립모드로유지하다가설정된시간간격마다깨어나서데이터를송수신한후다시슬립모드로들어갈수있습니다. ZE10의슬립모드는아래와같이 S-레지스터의값을설정함으로지정할수있습니다. ATS51=n, 이때 n = 폴시간제한 (poll timeout) 값 ( 초 ). 기본값 = 60. 이값은패런트노드에서설정되는값입니다. S51로서지정된시간 ( 초 ) 내에슬리피엔드디바이스가패런트노드에게폴요청 (poll request) 메시지를보내지않으면패런트노드는슬리피엔드디바이스가네트워크에를떠났다고간주하고차일드테이블 (child table) 에서삭제합니다. 논 - 슬리피엔드디바이스와달리슬리피엔드디바이스는 S56 값을폴주기로서참조하지않습니다. 대신 S53 값을슬립지속시간으로사용하는데, 동작방식은폴주기와유사하지만슬립모드로들어 간다는차이가있습니다.

30 ATS53=n, 이때 n = 슬립시간 (sleep duration) 값 (1/4 초 ), 기본값 = 8. ZE10 은 S53 으로설정된시간동안무선송수신부 (radio) 를끄고슬립모드를유지합니다. ATS52=n, 이때 n = 폴주기 (poll period) 값 (ms), 기본값 = 100. 슬리피엔드디바이스는 S53으로지정된슬립시간이경과되거나, GPIO0의인터럽트가발생하거나, 시리얼데이터가발생하면슬립모드에서깨어나서 S52로지정되는짧은폴주기를이용하여패런트노드를폴합니다. 슬리피엔드디바이스는패런트노드와의데이터교환이폴링을할때에만이루어지므로 S52는기본값이 100ms로서비교적짧은폴주기를가지게됩니다. ATS54=n, 이때 n = 대기시간시간제한 (standy timeout) 값 ( 초 ), 기본값 = 5 슬립모드에서깨어난슬리피엔드디바이스는 S54로지정된시간동안지그비네트워크또는시리얼포트로부터데이터가수신되지않으면다시슬립모드로들어갑니다. 만약데이터가이시간동안에수신되면타이머가리셋되고다시 S54값으로지정된시간동안데이터를기다립니다. ATS55=n, 이때 n = 재참여시간제한 (rejoin timeout) 값 ( 초 ), 기본값 = 10. 패런트노드와의연결이 S55 로지정된시간보다오랜시간동안끊어지면차일드노드는현재네트워 크에다시참여를시도합니다. 패런트노드 S53 S52 S54 슬립 웨이크-업 슬립 슬리피엔드디바이스 폴요청 (Poll Request) 데이터교환 그림 3-1 슬립및웨이크 - 업시점 또한슬리피엔드디바이스는슬립지속시간이경과하지않아도 GPIO0 인터럽트또는시리얼데이 터가들어오면슬립지속시간이경과했을때와마찬가지로슬립모드에서깨어나서패런트노드와 폴을 S52 간격으로수행하고데이터가 S54 시간동안없으면다시슬립모드로들어갑니다.

31 주의 : 슬리피엔드디바이스가시리얼데이터로인하여슬립모드에서깨어날경우첫번째시리얼데이터가손상될수있습니다. 따라서시리얼데이터를보내고자할경우에는 GPIO0을사용하여슬리피엔드디바이스를먼저깨우거나데이터완전성을확인하기위해더높은단계의시리얼데이터프로토콜을사용하시는것을추천합니다. 3.5 지그비보안 (ZigBee Security) 지그비프로토콜은보안을고려하여설계되었습니다. 지그비는기본적으로 IEEE 802.15.4 (AES 암호화및 CCM 보안모드 ) 를사용하지만 ZE10은아래방법을이용하여더욱높은보안수준을유지합니다. 128비트 AES 암호화알고리즘 강력한 NIST 승인보안 링크및네트워크용키형태정의 키설정및관리방법명시 CCM 이용 ( 유니파이드또는단순화된동작모드 ) 트러스트센터 (Trust Centers) 3.5.1 보안수준보안을유지하려면사용자는보안수준사용여부를아래 AT 명령어를이용하여지정하여야합니다. 보안수준사용여부가선택되면인증및암호화가네트워크전체에걸쳐서사용되어집니다. 또한사용자는보안수준을사용안하도록선택할수도있지만, 이경우지그비표준으로간주되어지지않습니다. 동일한네트워크에속한모든노드들은같은보안수준을가지도록설정되어야합니다. 보안수준은아래 AT 명령을이용하여설정합니다. AT+SECURITY=n or AT+SE=n, 이때 n = 암호화수준 (0= 암호화사용안함, 1= 암호화사용함 ) 3.5.2 링크키 (Link Key) 트러스트센터 ( 통상적으로코디네이터 ) 는장비가네트워크에참여할때링크키를요청합니다. 참여하고자하는장비가올바른링크키를응답하지않으면해당장비의네트워크참여는거부됩니다. 따라서네트워크에속하는모든노드들은네트워크에참여하기전에미리같은링크키를가지도록설정되어야합니다. 링크키는아래 AT 명령을이용하여설정할수있습니다. AT+LINKKEY=xxx xxx or AT+LK= xxx xxx, 이때 xxx xxx = 128- 비트 16 진수트러스트센터링크 키. 기본값 = FFF FF. 3.5.3 네트워크키 (Network Key) 네트워크키는네트워크전반에걸쳐서사용되어지는암호화키입니다. 네트워크에서전달되어지는모든데이터는네트워크키를이용하여암호화됩니다. 네트워크키는코디네이터에서만설정되면됩니다. 네트워크키는아래 AT 명령을이용하여설정할수있습니다.

32 AT+NWKKEY=xxx xxx or AT+NK= xxx xxx, 이때 xxx xxx = 128- 비트 16 진수네트워크키. 기본값 = FFF FF. 3.5.4 키업데이트트러스트센터는네트워크키가누출되는것을최소화하기위하여네트워크키를업데이트할수있습니다. 트러스트센터는현재네트워크키를이용하여새로운네트워크키를암호화한후네트워크에브로드캐스트합니다. 새로운네트워크키를전달받은각노드들은이를바로사용하지않고값만저장합니다. 트러스트센터는새로운네트워크키가전파될때까지충분한시간을기다린후, 이를사용하라는메시지를다시네트워크에브로드캐스트합니다. 키업데이트명령은아래와같습니다. AT+UPDATEKEY<CR> or AT+UK<CR> 3.6 주파수간섭회피 (Frequency Agility) 주파수간섭회피 (Frequency Agility) 는주파수간섭으로인한송수신장애를극복하기위해네트워크의채널을다른채널로변경하는기술입니다. 네트워크관리자는통신장애가발생하는지감시하다가임계점이상으로통신장애가발생할경우지정된채널마스크내의다른채널로네트워크채널을변경하는메시지를보내채널을변경합니다. 네트워크내의다른노드들은네트워크관리자의메시지에응답하여채널을변경함으로써주파수간섭을피할수있습니다. ZE10은네트워크관리자가될수는없지만네트워크관리자의채널변경메시지에응답하여채널을변경하여주파수간섭회피기능을구현합니다. ProBee-ZE20S를코디네이터로설정하고주파수간섭회피기능을활성화하면 ProBee-ZE20S가네트워크관리자역할을하게되므로, ZE10은 ProBee- ZE20S와함께사용하여통신장애가발생할경우주파수를자동으로갱신하는네트워크를구성할수있습니다.

33 4 데이터송수신 ZE10은유니캐스트 (unicast), 멀티캐스트 (multicast), 브로드캐스트 (broadcast) 의세가지서로다른종류의데이터송신을지원합니다. 유니캐스트는한개의특정지그비장비에게데이터를전송하는것을의미합니다. 멀티캐스트는특정지그비장비그룹에게데이터를보내는것을의미합니다. 브로드캐스트는네트워크상에존재하는모든지그비장비에게데이트를전송하는것을의미합니다. ZE10은커맨드모드, 데이터모드의두가지동작모드가있습니다. 아래와같이두가지모드에서데이터를전송할수있습니다. 커맨드모드 (Command mode): ZE10의설정과동작을위한 AT 명령어를입력하는모드이므로, AT 명령어를이용하여허용되는데이터양을한번만보냅니다. 데이터모드 (Data mode): 지그비장비로많은양의데이터를보내기위한모드입니다. 많은양의데이터를보낼때데이터모드로변환하여데이터를연속적으로보냅니다. 데이터모드를빠져나오려면 +++ 를입력합니다. 4.1 커맨드모드 (Command Mode) 4.1.1 유니캐스트 (Unicast) 유니캐스트는하나의특정전송장비 (source device) 로부터다른하나의특정목표장비 (destination device) 로만데이터가전송되는것을의미합니다. 목표장비는지그비네트워크에존재하는어떤지그비장비도될수있습니다. 목표장비를지정하기위해서는해당목표장비의지그비주소 (ZigBee address) 가필요합니다. 각지그비장비는 64-비트및 16-비트의두가지지그비주소를가지고있습니다. 64-비트주소는생산과정에서부여되는장비고유의주소입니다. 16-비트주소는지그비네트워크에참여할때부여되는주소입니다. ZE10은목표장비를 16-비트또는 64-비트주소중한가지를이용하여지정할수있습니다. 유니캐스트명령을위한 AT명령은아래와같습니다. AT+UNICAST=<node_id>,<MSG><CR> or AT+UC=<node_id>,<MSG><CR> 이때 <node_id> = 16- 비트또는 64- 비트주소, <MSG> = 전송할데이터 위명령을이용하여보낼수있는데이터의최대길이는 90 바이트 ( 암호화시 72 바이트 ) 입니다. 데이 터가이를초과하면데이터전송에실패하고오류메시지가표시됩니다. 전송가능한최대데이터크 기를조회하는명령은아래와같습니다. AT+MAXPAYLOAD?<CR> or AT+MP?<CR> 4.1.2 멀티캐스트 (Multicast) 멀티캐스트는하나의특정장비로부터특정그룹아이디 (group ID) 를가지는다수의장비들로데이터가전송되는것을의미합니다. 각장비의그룹아이디는 AT+GROUPID 명령을이용하여지정할수있습니다. 멀티캐스트명령은아래와같습니다.

34 AT+MULTICAST=<group_id>,<MSG><CR> or AT+MC=<group_id>,<MSG><CR> 이때 <group_id> = 그룹아이디, <MSG> = 전송할데이터 또한데이터전송범위는아래 AT 명령을이용하여지정됩니다. 해당 S 레지스터에대한자세한내용 은 9. S- 레지스터부분을참조하시기바랍니다. ATS36=n, 이때 n = 전송반경. ATS37=n, 이때 n = 비멤버를통한최대홉 (hop) 회수 주의 : 지그비표준에서네트워크과부하를피하기위해브로드캐스트데이터전송을 8초에최대 9 패킷으로제한하고있습니다. 이제한을초과하는브로드캐스트데이터전송은전송에러를일으킵니다. 이제한은 1초당대략 1 패킷정도이지만, 안전한브로드캐스트데이터전송을위해 2초에 1패킷정도만전송하기를추천합니다. 브로드캐스트전송이실패할경우에도전송시간제한 (Transmission timeout, S33) 과전송재시도횟수 (Transmission retries, S32) 의설정에의해재전송이이루어집니다. 빈번한재전송도브로드캐스트제한을초과하는원인이되므로전송시간제한 (Transmission timeout, S33) 은 1000 이상의값으로설정하고전송재시도횟수 (Transmission retries, S32) 는가능한최소값을설정하는것을추천합니다. 4.1.3 브로드캐스트 (Broadcast) 브로드캐스트는특정전송장비로부터해당네트워크에존재하는모든지그비장비에게데이터를전 송하는것을의미합니다. 브로드캐스트명령은아래와같습니다. AT+BROADCAST=<MSG><CR> or AT+BC=<MSG><CR> 이때 <MSG> = 전송할데이터 사용자는또한 S35 레지스터를이용하여전송범위를지정할수있습니다. 해당 S 레지스터에대한 자세한내용은 9. S- 레지스터부분을참조하시기바랍니다. ATS35=n, 이때 n = 브로드캐스트범위 ATS36=n, 이때 n = 전송반경 주의 : 지그비표준에서네트워크과부하를피하기위해브로드캐스트데이터전송을 8초에최대 9 패킷으로제한하고있습니다. 이제한을초과하는브로드캐스트데이터전송은전송에러를일으킵니다. 이제한은 1초당대략 1 패킷정도이지만, 안전한브로드캐스트데이터전송을위해 2초에 1패킷정도만전송하기를추천합니다. 브로드캐스트전송이실패할경우에도전송시간제한 (Transmission timeout, S33) 과전송재시도횟수 (Transmission retries, S32) 의설정에의해재전송이이루어집니다. 빈번한재전송도브로드캐스트제한을초과하는원인이되므로전송시간제한 (Transmission timeout, S33) 은 1000 이상의값으로설정하고전송재시도횟수 (Transmission retries, S32) 는가능한최소값을설정하는것을추천합니다.

35 4.1.4 바이너리데이터전송 (Sending Binary Data) 커맨드모드의특정명령들과충돌이있는캐리티리턴이나백스페이스등의특수문자들과바이너리인코딩용제어문자인백슬래쉬 ( \ ) 는그대로데이터전송을할수없습니다. 그리고, 16진수로 0x20(Space) 에서 0x7E( ~ ) 까지의범위밖의문자는 AT 명령에서표시할수없습니다. 이와같은특수문자들을커맨드모드에서전송하기위해서는표 4-1과같이인코딩을해서데이터로서전달하여야합니다. 표 4-1 Examples of Special Characters Encoding HEX Abbreviation Glyph Encoded 00 NULL - \00 널캐릭터 (Null character) 0D CR - \0D 캐리지리턴 (Carriage return) 0A LF - \0A 라인피드 (Line feed) 08 BS - \08 백스페이스 (Backspace) 09 HT - \09 호리존탈탭 (Horizontal Tab) 7F DEL - \7F 삭제 (Delete) 5C - \ \5C 바이너리인코딩용제어문자 (Control character for binary encoding) 예를들어서 abc<cr> 이라는데이터를브로드캐스트하고자할경우에는아래와같이데이터를인 코딩하여 AT 명령을이용합니다. AT+BROADCAST=abc\0D<CR> 4.1.5 받은메시지표시 S11 레지스터는커맨드모드에서수신한데이터를표시할지여부를결정합니다. 데이터모드에서는 수신된데이터가항상표시됩니다. S11 값을변경하기위해서는아래와같은 AT 명령을이용합니다. ATS11=, 이때 <value> 의값은 0 = 받은메시지표시안함, 1 = 받은메시지표시함. S11 이 1 로설정되면수신된메시지가커맨드모드에서표시되어집니다. 수신된메시지의표시형태 는 +<IEEE address> <MSG><CR> 를가지게됩니다. 커맨드모드에서수신된메시지를표시할경우표 4-1 에해당하는특수문자의인코딩원칙이똑같 이적용됩니다. 예를들어서 0001950000000001 주소를가지는노드로부터 abc<cr> 이라는데이터를 수신한경우메시지는아래와같이표시되어집니다. +0001950000000001 abc\0d<cr>

36 주의 : 버전 PTv1.2 또는그이전버전에서는표 4-1 에나타난문자들만인코딩됩니다. PTv1.3 버전 또는그이후의버전에서는백슬래쉬 ( \ ) 와 16 진수로 0x20(Space) 에서 0x7E( ~ ) 까지의범위밖의모 든문자들이인코딩되어표시됩니다. 4.2 데이터모드 (Data Mode) 전송하고자하는데이터가커맨드모드를사용하여전송하기에너무클경우에는데이터모드를사용할수있습니다. AT 명령을이용하여데이터를전송하고자하는목표장비또는장비들을지정하고데이터모드에들어가면, ZE10은 +++ 를이용하여데이터모드를빠져나오기전까지입력되는모든데이터를해당목표장비또는장비들에게전송합니다. 데이터간시간간격이일정시간 (inter character timeout) 을초과할때까지들어온데이터들이패킷으로만들어져전송됩니다. 또한 +++ 로커맨드모드로빠져나온후다시데이터모드세션에다시복귀하고자하면아래 AT 명령을사용할수있습니다. ATO<CR> 4.2.1 유니캐스트데이터모드 (Unicast Data Mode) 유니캐스트데이터모드는특정노드에게지속적으로데이터를보내고자할경우사용됩니다. 유니캐스트데이터모드는 ATD 명령을이용하거나 AT+TRANSMITMODE=1 ( 혹은 4) 명령을이용하여들어갈수있습니다. ATD는유니캐스트데이터모드로들어가는명령입니다. AT+TRANSMITMODE=1은데이터전송모드를 유니캐스트 로설정하는명령이고 AT+TRANSMITMODE=4는데이터전송모드를 싱크노드로유니캐스트 로설정하는명령입니다. ATD 명령이실행되면장비는유니캐스트데이터모드로즉시들어가서 +++ 문자열로모드를빠져나오거나장비가리셋될때까지유니캐스트데이터모드를유지합니다. ATD 명령으로유니캐스트데이터모드로들어간경우, 장비가리셋되면다시유니캐스트데이터모드로들어가지않고커맨드모드로들어갑니다. 반면에 AT+TRANSMITMODE=1 ( 혹은 4) 를실행하는경우에는장비가리셋이되면항상유니캐스트데이터모드에들어갑니다. 유니캐스트데이터모드를취소하려면 +++ 문자열로유니캐스트데이터모드를임시로빠져나온후, AT+TRANSMITMODE=0 을실행하여전송모드를바꾼후장비를리셋합니다. 유니캐스트데이터모드와관련한 AT 명령들은아래와같습니다. AT+DESTLA=<value> or AT+DL=<value> 목표장비의설정은 ATD 명령이나 AT+TRANSMITMODE=1 명령에서사용되는목표장비의 64- 비트 IEEE 주소를지정합니다.

37 ATD<CR> 미리지정된 IEEE 64- 비트주소를가지는장비와의유니캐스트데이터모드에들어갑니다. 이경우 리셋하지않고명령만입력해도자동으로동작합니다. ATD <value> 로지정되는 16- 비트노드아이디또는 64- 비트 IEEE 주소를가지는장비와의유니캐스트데 이터모드에들어갑니다. AT+TRANSMITMODE=1<CR> or AT+TM=1<CR> 미리지정된 IEEE 64- 비트주소를가지는장비와의유니캐스트데이터모드에들어갑니다. 모드변경 을적용하기위하여리셋이필요합니다. 싱크노드로유니캐스트데이터모드 (Unicast to Sink Node) 는싱크 (Sink) 노드에게데이터를전송하는유니캐스트데이터모드입니다. 싱크노드는해당노드의 S61 레지스터를설정함으로써지정할수있습니다. S61의설정에따라싱크노드는네트워크의대상그룹에속한장비들에게멀티캐스트를이용하여싱크노드임을알리면 (advertise) 네크워크의다른장비들은싱크노드의주소를저장합니다. 싱크노드로유니캐스트데이터모드 에있는장비들은저장된싱크노드로데이터를전송합니다. 네트워크내에서하나의장비가다른장비들로부터데이터를수집하는경우, 데이터를보내야하는장비들이개별적으로목적지주소를기술하는대신 싱크노드로유니캐스트데이터모드 에서는목적지장비가스스로를다른장비들에게알리도록합니다. 데이터를수집하는장비가변경될때에도모든장비의목적지주소를수정하는대신싱크노드만변경함으로써모든장비들이데이터를보내야할곳을알수있게합니다. 싱크노드로유니캐스트데이터모드 와관련한 AT 명령들은아래와같습니다. ATS61= 이때 <value> = 0 일경우싱크노드아님, <value> > 0 일경우 <value> 초주기로대상그룸 (AT+DESTGROUPID) 에속한장비로싱크광고를하는싱크노드로설정. AT+DESTGROUPID=<value> > or AT+DG=<value> 싱크광고가멀티캐스트될대상 16- 비트그룹아이디를설정합니다. AT+SINKINFO?<CR> or AT+SI?<CR> 싱크노드의 16- 비트주소및 64- 비트주소를표시합니다. 네트워크에싱크노드가존재하지않을경 우 FFFFFFFFFFFFFFFF 와 FFFF 를리턴합니다. AT+TRANSMITMODE=4<CR> or AT+TM=4<CR> 싱크노드로유니캐스트데이터모드 에들어갑니다. 싱크모드변경을적용하기위하여리셋이필요 합니다.

38 예제 ) AT+DESTLA=00019500002FDC40<CR> # Set the destination IEEE address ATD<CR> # Enter the unicast mode using destination IEEE address Send unicast msg # Put the unicast message +++ # Leave data mode ATD0000<CR> # Enter the unicast mode using 16-bit node ID Send unicast msg # Put the unicast message +++ # Leave data mode ATD00019500002FDC40<CR> # Enter the unicast mode using 64-bit IEEE address Send unicast msg # Put the unicast message +++ # Leave data mode AT+DESTLA=00019500002FDC40<CR> # Set the destination IEEE address AT+TRANSMITMODE=1<CR> # Set transmission mode to destination IEEE address ATZ<CR> # Apply to change Send unicast msg # Put the unicast message +++ # Leave data mode AT+TRANSMITMODE=4<CR> # Set transmission mode to sink node in the network ATZ<CR> # Apply to change

39 Send unicast msg # Put the unicast message +++ # Leave data mode 4.2.2 멀티캐스트데이터모드 (Multicast Data Mode) 멀티캐스트데이터모드는특정그룹에속하는다수의노드에게지속적으로데이터를보내고자할경우사용됩니다. 모든 ZE10은네크워크에참여시특정그룹아이디를할당받아서특정그룹에속할수있습니다. 멀티캐스트데이터모드는 ATM 명령을이용하거나 AT+TRANSMITMODE=2 명령을이용하여들어갈수있습니다. ATM 명령이실행되면장비는멀티캐스트데이터모드로즉시들어가서 +++ 문자열로모드를빠져나오거나장비가리셋될때까지멀티캐스트데이터모드를유지합니다. ATM 명령으로멀티캐스트데이터모드로들어간경우, 장비가리셋되면다시멀티캐스트데이터모드로들어가지않고커맨드모드로들어갑니다. 반면에 AT+TRANSMITMODE=2 를실행하는경우에는장비가리셋이되면항상멀티캐스트데이터 모드에들어갑니다. 멀티캐스트데이터모드를취소하려면 +++ 문자열로멀티캐스트데이터모드 를임시로빠져나온후, AT+TRANSMITMODE=0 을실행하여전송모드를바꾼후장비를리셋합니다. 멀티캐스트데이터모드와관련한 AT 명령들은아래와같습니다. AT+GROUPID=<value> or AT+GI=<value> 해당노드가속하는 16- 비트그룹아이디를지정합니다. AT+DESTGROUPID=<value> > or AT+DG=<value> 멀티캐스트될대상 16- 비트그룹아이디를설정합니다. ATM<CR> 미리지정된그룹으로의멀티캐스트데이터모드에들어갑니다. 이경우리셋이필요없습니다. ATM <value> 로서지정되는 16- 비트그룹아이디를가지는노드들의그룹으로의멀티캐스트모드에들어 갑니다. 리셋이필요없습니다. AT+TRANSMITMODE=2<CR> or AT+TM=2<CR> 멀티캐스트모드에들어갑니다. 변경내용을적용하기위하여리셋이필요합니다. ATS36=n, 이때 n = 전송반경 ATS37=n, 이때 n = 비멤버를통한최대홉 (hop) 회수.

40 멀티캐스트데이터전송범위를지정합니다. 해당 S 레지스터에대한자세한내용은 9. S- 레지스터부 분을참조하시기바랍니다. 주의 : 지그비표준에서네트워크과부하를피하기위해브로드캐스트데이터전송을 8초에최대 9 패킷으로제한하고있습니다. 이제한을초과하는브로드캐스트데이터전송은전송에러를일으킵니다. 이제한은 1초당대략 1 패킷정도이지만, 안전한브로드캐스트데이터전송을위해 2초에 1패킷정도만전송하기를추천합니다. 브로드캐스트전송이실패할경우에도전송시간제한 (Transmission timeout, S33) 과전송재시도횟수 (Transmission retries, S32) 의설정에의해재전송이이루어집니다. 빈번한재전송도브로드캐스트제한을초과하는원인이되므로전송시간제한 (Transmission timeout, S33) 은 1000 이상의값으로설정하고전송재시도횟수 (Transmission retries, S32) 는가능한최소값을설정하는것을추천합니다. 예제 ) AT+DESTGROUPID=0001<CR> # Set the destination group ID ATM<CR> # Enter the multicast mode using destination group ID Send multicast msg # Put the multicast message +++ # Leave data mode ATM0001<CR> # Enter the multicast mode using 16-bit group ID Send multicast msg # Put the multicast message +++ # Leave data mode AT+DESTGROUPID=0001<CR> # Set the destination group ID AT+TRANSMITMODE=2<CR> # Set transmission mode to destination group ID ATZ<CR> # Apply to change Send multicast msg # Put the multicast message +++ # Leave data mode

41 4.2.3 브로드캐스트데이터모드 (Broadcast Data Mode) 네트워크에있는모든노드들에게데이터를지속적으로전달하기위해서브로드캐스트데이터모드 를사용할수있습니다. 데이터전송범위는 S- 레지스터 35 를이용하여설정할수있습니다. 브로드캐스트데이터모드는 ATB 명령을이용하거나 AT+TRANSMITMODE=3 명령을이용하여들어갈수있습니다. ATB 명령이실행되면장비는브로드캐스트데이터모드로즉시들어가서 +++ 문자열로모드를빠져나오거나장비가리셋될때까지브로드캐스트데이터모드를유지합니다. ATB 명령으로브로드캐스트데이터모드로들어간경우, 장비가리셋되면다시브로드캐스트데이터모드로들어가지않고커맨드모드로들어갑니다. 반면에 AT+TRANSMITMODE=3 을실행하는경우에는장비가리셋이되면항상브로드캐스트데이터모드에들어갑니다. 브로드캐스트데이터모드를취소하려면 +++ 문자열로브로드캐스트데이터모드를임시로빠져나온후, AT+TRANSMITMODE=0 을실행하여전송모드를바꾼후장비를리셋합니다. 브로드캐스트데이터모드와관련한 AT 명령들은아래와같습니다. ATB<CR> 브로드캐스트데이터모드에들어갑니다. AT+TRANSMITMODE=3<CR> or AT+TM=3<CR> 전송모드를브로드캐스트데이터모드로설정합니다. 이경우리셋을하여변경내용을적용하여야 합니다. ATS35=n, 이때 n = 브로드캐스트범위 ATS36=n, 이때 n = 전송반경브로드캐스트데이터전송범위를지정합니다. 해당 S레지스터에대한자세한내용은 9. S-레지스터부분을참조하시기바랍니다. 주의 : 지그비표준에서네트워크과부하를피하기위해브로드캐스트데이터전송을 8초에최대 9 패킷으로제한하고있습니다. 이제한을초과하는브로드캐스트데이터전송은전송에러를일으킵니다. 이제한은 1초당대략 1 패킷정도이지만, 안전한브로드캐스트데이터전송을위해 2초에 1패킷정도만전송하기를추천합니다. 브로드캐스트전송이실패할경우에도전송시간제한 (Transmission timeout, S33) 과전송재시도횟수 (Transmission retries, S32) 의설정에의해재전송이이루어집니다. 빈번한재전송도브로드캐스트제한을초과하는원인이되므로전송시간제한 (Transmission timeout, S33) 은 1000 이상의값으로설정하고전송재시도횟수 (Transmission retries, S32) 는가능한최소값을설정하는것을추천합니다.

42 예제 ) ATS35=2<CR> # Set broadcast range to all nodes in the network ATB<CR> # Enter the broadcast mode Send broadcast msg # Put the broadcast message +++ # Leave data mode AT+TRANSMITMODE=3<CR> # Set transmission mode to current network ATZ<CR> # Apply to change Send broadcast msg # Put the broadcast message +++ # Leave data mode

43 5 디지털및아날로그입출력 5.1 GPIO (General Purpose Inputs and Outputs) 설정 ZE10 모듈은총 14개의입출력핀을가지고있습니다. 이중 6번핀은팩토리리셋전용으로할당되어지며, 나머지 13개의입출력핀은사용자가일반적인입출력을위하여사용할수있습니다. 입출력핀할당내역은표 5-1을참조하시기바랍니다. 표 5-1에서알수있듯이몇개의핀들은설정내역에따라서펌웨어에서특정목적으로사용되어집니다. 표 5-2는각핀이특정용도로사용되도록설정된경우에해당하는특정용도를설명합니다. 표 5-1 입출력핀할당내역 Pin Number GPIO Number Special Functions AI Enable 6 - Factory reset / Bootloader (SW_0) X 5 0 Permit joining / Wake-up (SW_1) X 3 1 Power LED (LED_0) X 4 2 Status LED (LED_1) X 7 3 O (AI_0) 8 4 O (AI_1) 10 5 O (AI_2) 11 6 O (AI_3) 24 7 X 22 8 UART_CTS X 23 9 UART_RTS X 19 10 UART_DTR X 18 11 UART_DSR X 17 12 X GPIO 설정은아래 AT 명령을이용하여변경될수있습니다. AT+GPIO=<values><CR> or AT+GPIO<number>= 이때 <values> 의값은 0~5의값을가지며값에따라서아래와같이동작함 : 0 사용안함 1 디지털입력 2 디지털출력, 기본값 = low 3 디지털출력, 기본값 = high 4 아날로그입력, 싱글엔디드 (GPIO3~6만적용가능 ) 5 핀에할당된특정기능용으로사용 ( 표 5-2 참조 )

44 표 5-2 특정용도의 GPIO 핀 Function GPIO# Type 이입력핀은팩토리리셋버튼전용목적으로할당되어집니다. ZE10의팩토리리셋을수행하기위해서는이입력핀이 2초이상 Factory_reset - DI ON(Low) 으로유지되어진후 OFF(High) 로전환되어져야합니다. 또 / Bootloader 한 ZE10이시동시이입력핀이 ON(Low) 으로유지되면부트로더 모드로전환되어펌웨어업데이트가가능합니다. GPIO0가 5로설정되면, 해당노드가코디네이터나라우터일경우 에는네트워크참여를허용하는목적으로사용되어지거나, 슬리피 엔드디바이스일경우에는슬립모드에서깨어나기위한인터럽트 신호로서사용되어집니다. 코디네이터나라우터에서네트워크참여 Permit_joining 0 DI 를허용하는경우이입력핀이 ON(Low) 에서 OFF(High) 로전환된 / Wake-up 후 S22 레지스터에서설정된시간간격동안네트워크참여를허용 합니다. 슬리피엔드디바이스경우에는이입력핀이 ON(Low) 에서 OFF(High) 로전환되면슬립모드에서깨어나서데이터수신을기다 립니다. GPIO1이 5로설정되면, 전원이공급되는경우 ON(High) 으로유지됩 Power LED 1 DO 니다. 만약노드가엔드디바이스로설정되어있다면지속적으로깜빡이게됩니다. 추가로 9.1.4절의 S14레지스터를참조바랍니다. GPIO2가 5로 설정되면, 디바이스가 네트워크에 조인하면 Status LED 2 DO ON(High), 참여를허용할경우에는 ON/OFF가반복되며, 네트워크를떠나먼 OFF(Low) 됩니다. 추가로 9.1.4절의 S14레지스터를참조바랍니다. UART_CTS 8 DI GPIO8이 5로설정되면 UART CTS로사용되어집니다. CTS 플로우컨트롤사용시에는이기능이반드시사용되어야합니다. UART_RTS 9 DO GPIO9가 5로설정되면 UART RTS로사용되어집니다. RTS 플로우컨트롤사용시에는이기능이반드시사용되어야합니다. UART_DTR 10 DO GPIO10이 5로설정되면 UART DTR로사용되어집니다. UATR_DSR 11 DI GPIO11이 5로설정되면 UART DSR로사용되어집니다. 5.2 입출력샘플링 ZE10의입출력상태는 AT 명령을이용하여감시하고제어할수있습니다. 또한원격노드의입출력상태도원격 AT 명령을이용하여동일하게감시 / 제어가가능합니다. 또한일정시간간격마다특정원격노드에게현재입출력상태를주기적으로전달하도록설정할수있습니다. 5.2.1 쿼리드샘플링 (Queried Sampling) ZE10 의입출력상태는 AT 명령을이용하여감시하고제어할수있습니다. 현재의디지털입출력상 태를읽기위해서는 AT+DIO 명령을이용하면됩니다. 디지털입력또는출력으로설정된핀들의응

45 답값은 0 (Low) 과 1 (High) 의조합으로표시되어지며아날로그입력으로설정되어있는핀에해당 하는응답값은 * 로서표시되어집니다. AT+DIO?<CR> or AT+DIO<number>?<CR> 이때 <number> = 0 ~ 12 사이의 GPIO 번호 AT+DIO 명령은또한디지털출력값을변경하기위해서사용되어질수있습니다. AT+DIO= or AT+DIO<number>= 이때 <number> = 0 ~ 12 사이의 GPIO 번호, <values> = 0 또는 1, 또는 0 과 1 로이루어진문자열. 0 = Low, 1 = High 아날로그입력값은 AT+AI 명령을이용하여읽을수있습니다. 응답값은 16비트 16진수로표시되고 0~2EE0(0~1200mV) 또는 D120-FFFF(-1200~-1mV) 사이의값을가지며단위값은 0.1mV에해당합니다. 16진수출력값을실제측정된전압값으로변경하려면아래공식을이용하면됩니다. 해당핀이디지털입출력용으로설정된경우에는 **** 로서표시되어집니다. AT+AI?<CR> or AT+AI<number>?<CR> 이때 <number> = 0 ~ 3 사이의 GPIO 번호입력값이 0 ~ 2EE0 인경우, Voltage (mv) = Value * 0.1 입력값이 D120 ~ FFFF 인경우 Voltage (mv) = (Value 65536) * 0.1 예제 ) AT+DIO?<CR> 10001**011100 DIO 0, 4, 8, 9, 10 are ON. GPIO5, 6 are configured as analog inputs AT+DIO0=0<CR> AT+DIO?<CR> 00001**011100 DIO 4, 8, 9, 10 are ON. GPIO5, 6 are configured as analog inputs AT+AIO?<CR> ****,****,192A,13E8 configured as DIO. AI 2, 3(GPIO5, 6) are used. The others are 원격노드의입출력값을읽거나제어하기위해서는아래와같이원격 AT 명령을통한 AT+DIO 또는

46 AT+AI 명령을수행하면됩니다. AT+REMOTE=<address>,<AT command><cr> 이때 <address> = 원격노드의 16- 비트또는 64- 비트주소 예제 ) AT+REMOTE=00019500000F3BA1,AT+DIO?<CR> 10001**011100 5.2.2 주기적샘플링 (Periodic Sampling) 아래 AT 명령을이용하여 ZE10 이일정시간간격으로입출력상태를원격노드에게전달하도록설 정할수있습니다. AT+DESTLA=<IEEE address><cr> or AT+DL=<IEEE address><cr> 이때 <IEEE address> = 데이터를전달할원격노드의 64- 비트주소 ATS42= 이때 <value> = GPIO 샘플링주기 ( 초 ), 0 일경우 GPIO 샘플링사용안함 ATS43= 이때 <value> = GPIO 값을전송할노드를설정. 0 이면 AT+DESTLA 로설정된노드로 GPIO 값을전 송하고, 1 이면싱크노드로 GPIO 값을전송 싱크노드는해당노드의 S61 레지스터를설정함으로써지정할수있습니다. S61 의설정에따라싱크 노드는네트워크의대상그룹에속한장비들에게멀티캐스트를이용하여싱크노드임을알리면 (advertise) 네크워크의다른장비들은싱크노드의주소를저장합니다. ATZ<CR> 리셋하여변경된설정내용적용 또한 S11 레지스터를설정하면다른노드로부터받은데이터를표시하도록설정할수있습니다. ATS11=, 이때 <value> 의값은 0 = 받은메시지표시안함, 1 = 받은메시지표시함. 이경우다른노드로부터받은데이터는아래와같은형태로표시되어집니다. ++<IEEE address> <GPIO value><cr>.

47 5.2.3 변화감지샘플링 (Change Detection Sampling) ZE10 모듈은디지털 I/O 핀의상태가변할때즉시수집한 I/O 샘플을원격노드로전송할수있습니다. 이는주기적샘플링과동시에사용가능하도록설정할수있습니다. 아래 AT 명령을이용하여설정하시기바랍니다. AT+DESTLA=<IEEE address><cr> 이때 <IEEE address> = 데이터를전달할원격노드의 64- 비트주소 ATS43= 이때 <value> = GPIO 값을전송할노드를설정. 0 이면 AT+DESTLA 로설정된노드로 GPIO 값을전 송하고, 1 이면싱크노드로 GPIO 값을전송 ATS44= GPIO 변화감지샘플링모드설정. <value> 가 0 일경우 GPIO 샘플링사용안함. ATZ<CR> 리셋하여변경된설정내용적용 주의 : 이기능은디지털 I/O 에서만사용할수있습니다. 5.2.4 GPIO 원격제어 (GPIO Remote Control) ZE10 모듈은원격노드에서디지털입력핀을전환하여로컬노드의디지털출력상태를변경하는것을지원합니다. 이때로컬노드는원격노드의 GPIO 감시가가능한상태 ( 원격노드의 GPIO 감시주기, S42 > 0) 이거나원격노드의 GPIO 변화감지샘플링이가능한상태 ( 원격노드의 GPIO 변화감지샘플링모드, S44 = 1) 여야합니다. 아래 AT 명령을이용하여설정하시기바랍니다. AT+SOURCELA=<IEEE address><cr> or AT+SL=<IEEE address><cr> 이때 <IEEE address> = 디지털출력상태변경을적용할특정소스노드의 64-비트주소. 이주소가 FFFFFFFFFFFFFFFF 으로설정되어있다면로컬노드는어떤노드든지 GPIO 상태를제어할수있도록허용함. ATS45= GPIO 원격제어모드설정. <value> 가 0 일경우 GPIO 원격제어사용안함. 주의 : 이기능은디지털 I/O 에서만사용할수있습니다.

48 6 개발키트사용하기 ZE10 개발키트는사용자가 ZE10 을이용한 PCB 보드를직접개발하기에앞서서 ZE10 을효과적으 로테스트할수있도록지원하는목적으로제공되어집니다. ZE10 을이용한 PCB 개발에앞서 ZE10 개발키트를이용하여테스트하는것을권장합니다. 6.1 개발키트구성품 개발키트는 ZE10 모듈들과이를장착하여사용할수있는개발보드로이루어집니다. 개발보드는 RS232 및 USB 인터페이스를이용하여컴퓨터또는기타장비와통신이가능합니다. 또한개발보드는디지털입출력및아날로그입력을위한터미널블록을제공하며, 간단한입출력시뮬레이션을위하여스위치및 LED가장착되어있습니다. 추가로조도센서와온도센서가장착되어보다실용적인애플리케이션테스트또한가능합니다. 개발키트의내용물구성은아래와같습니다. ProBee ZE10 지그비 OEM 모듈 ( 칩안테나 ) 1개 ProBee ZE10 지그비 OEM 모듈 (U.FL 커넥터 ) 1개 ProBee ZE10 지그비 OEM 모듈 (RPSMA 커넥터 ) 1개 3 dbi 다이폴안테나, RP-SMA 플러그, 오른나사 2개 12cm U.FL - RPSMA 케이블, 오른나사 1개개발보드 3개 DC 전원어댑터 3개 RS232 시리얼케이블 3개 USB 케이블 3개 6.2 개발보드기능 개발보드는 ZE10의입출력기능들을쉽고효과적으로액세스할수있도록설계되었습니다. 개발보드가제공하는외부입출력은아래와같으며배치는그림 6-1과같습니다. RS232 인터페이스 USB 인터페이스 3 디지털입력 : Permit Joining, Factory Default Reset, Hardware Reset 8 사용자설정가능디지털입력 8 사용자설정가능디지털출력및 LED (Active High) 4 아날로그입력 온도센서 조도센서

49 그림 6-1 개발보드배치 6.3 개발보드하드웨어 6.3.1 전원개발보드에전원을공급하는방법은 4가지가있습니다. 5V 어댑터전원 USB 포트 배터리 (AA 1.5V x 4) RS232 포트 (9번핀에 5V 공급 ) 전원을공급하는방법에따라서반드시 RS_PWR, USB_PWR, BATT_EN 점퍼가올바르게설정되어야 합니다. 전원공급방법에따른점퍼설정은표 6-1 과같습니다. 표 6-1 전원점퍼설정 RS_PWR USB_PWR BATT_EN 5V Power Port Open Open Open USB Port Open Close Open AA Batteries Open Open Close RS232 Port Close Open Open

50 6.3.2 RS232 포트개발보드는 UART 통신을위하여 RS232 포트를제공합니다. 개발보드의 RS232포트는내부적으로 ZE10의UART_TXD, UART_RXD, UART_DSR (GPIO_11), UART_DTR (GPIO_10), UART_CTS (GPIO_8), UART_RTS (GPIO_9) 들과연결되어있습니다. RS232포트를사용하기위해서는HOST (SW2) 스위치가 UART로설정되어야합니다. 데이터통신과별도로 RS232 포트의 9 번핀은전원공급을위하여사용될수있습니다. 이를사용하려 면전원점퍼를표 6-1 과같이설정한후 9 번핀에 5V 전원을공급하면됩니다. 6.3.3 USB 포트 개발보드는또한 USB 인터페이스를제공합니다. USB 포트를사용하려면 HOST (SW2) 스위치가 USB 로설정되어야하며소프트드라이버가호스트컴퓨터에설치되어야합니다. 6.3.4 ZE10 GPIO 인터페이스 개발보드의 GPIO 인터페이스및팩토리리셋등의스위치들은내부적으로 ZE10의 GPIO와연결되 어있습니다. 표 6-2에개발보드의인터페이스와이에해당하는 ZE10의 GPIO핀들을나타내었습니 다. 표 6-2 개발보드 GPIO인터페이스할당 ZE10 핀번호 이름 설명 3 GPIO_1 LED 장착된디지털출력 (CR12, Active High) 스위치장착된디지털입력 (SW10, Active Low or Active High) 4 GPIO_2 LED 장착된디지털출력 (CR13, Active High) 스위치장착된디지털입력 (SW11, Active Low or Active High) 5 GPIO_0 Permit Joining 스위치 (SW9) 6 Factory Reset Factory Default Reset 스위치 (SW8) 7 GPIO_3 LED 장착된디지털출력 (CR14, Active High) 스위치장착된디지털입력 (SW12, Active Low or Active High) 가변저항장착된아날로그입력 (VR1) 8 GPIO_4 LED 장착된디지털출력 (CR15, Active High) 스위치장착된디지털입력 (SW13, Active Low or Active High) 가변저항장착된아날로그입력 (VR2) 9 H/W Reset Hardware Reset 스위치 10 GPIO_5 LED 장착된디지털출력 (CR16, Active High) 스위치장착된디지털입력 (SW14, Active Low or Active High) 온도센서장착된아날로그입력 (U6) 11 GPIO_6 LED 장착된디지털출력 (CR17, Active High) 스위치장착된디지털입력 (SW15, Active Low or Active High) 조도센서장착된아날로그입력 (U7)

51 17 GPIO_12 LED 장착된디지털출력 (CR19, Active High) 스위치장착된디지털입력 (SW17, Active Low or Active High) 18 GPIO_11 UART DSR 입력 19 GPIO_10 UART DTR 출력 20 UART_RXD UART Data 입력 21 UART_TXD UART Data 출력 22 GPIO_8 UART CTS 입력 23 GPIO_9 UART RTS 출력 24 GPIO_7 LED 장착된디지털출력 (CR18, Active High) 스위치장착된디지털입력 (SW16, Active Low or Active High) 6.3.5 LED (CR12-19) 개발보드는 8개의디지털출력에해당하는 LED를가지고있습니다. LED를사용하기위해서는 GPIO_OUT (SW20) 이 LED_ON으로설정되어야합니다. 이경우 ZE10의 GPIO핀이 High값을가지면 LED가켜지게됩니다. 주의 : ADC_0~3 스위치 (SW4~7) 를 EXT_0~3 으로설정하여야합니다. 6.3.6 버튼스위치 (SW10-17) 개발보드는 8 개의디지털입력에해당하는버튼스위치를가지고있습니다. 이스위치들은 GPIO_IN (SW19) 스위치설정에따라서 Active High 또는 Active Low 로동작하도록설정할수있습니다. 주의 : ADC_0~3 스위치 (SW4~7) 를 EXT_0~3으로설정하여야합니다. 주의 : LED ON/OFF 스위치 (SW20) 는 LED_OFF에있어야합니다. 주의 : GPIO_IN (SW19) 스위치설정이 Active High일경우에는 GPIO 풀업 / 풀다운설정이풀다운 (ATS41=0) 로설정되어야하고, GPIO_IN (SW19) 스위치설정이 Active Low일경우에는 GPIO 풀업 / 풀다운설정이풀업 (ATS41=1) 로설정되어야합니다. 6.3.7 가변저항 (VR1, VR2) 개발보드는아날로그입력값을변화시킬수있도록 GPIO_3 및 GPIO_4 입력핀에두개의가변저항을가지고있습니다. 이두개의가변저항을사용하려면 ADC_0 및 ADC_1 스위치를 VR_0 및 VR_1 으로설정하여야합니다. 주의 : LED ON/OFF 스위치 (SW20) 는 LED_OFF 에있어야합니다. 6.3.8 온도센서 개발보드의온도센서값은 ZE10 의 GPIO_5 를통하여읽을수있습니다. 온도와아날로그입력값의 관계는아래와같습니다.

52 Temperature( ) ={ Volt(mV) -600(mV)} * 0.1( /mv) 주의 : LED ON/OFF 스위치 (SW20) 는 LED_OFF 에있어야합니다. 6.3.9 조도센서 개발보드의조면센서값은 ZE10 의 GPIO_6 를통하여읽을수있습니다. 조도와아날로그입력값의 관계는아래와같습니다. Illumination(Lux) = Volt(mV) * 0.25(Lux/mV) 주의 : LED ON/OFF 스위치 (SW20) 는 LED_OFF 에있어야합니다. 6.3.10 터미널블록가변저항, 온도센서및조도센서대신에외부아날로그입력값을이용하고자할경우에는그림 6-2에표시한개발보드의터미널블록을이용하면됩니다. 이경우 ADC_0 (SW4), ADC_1 (SW5), ADC_2 (SW6), ADC_3 (SW7) 스위치를각각 EXT_0, EXT_1, EXT_2, EXT_3으로설정하여야합니다. Reserved ADC_0 ADC_1 ADC_2 ADC_3 AI0 GND AI1 GND AI2 GND AI3 GND 그림 6-2 외부아날로그입력용터미널블록 주의 : LED ON/OFF 스위치 (SW20) 는 LED_OFF 에있어야합니다. 6.4 설정예제 #1: 코디네이터 1 개, 라우터 1 개및엔드디바이스 1 개 ZE10 및개발보드설정에대한이해를돕기위하여코디네이터 1개와라우터 1개, 그리고엔드디바이스 1개로구성되는네트워크구성및설정에대한예제를아래에제공합니다. 이예제의목적은아래시나리오에해당하는하드웨어구성및 AT 명령어를통한설정방법을제공하는데있습니다. ZE10 모듈 ( 개발보드 ) 하나는컴퓨터에 USB 케이블로연결되고, 코디네이터로동작합니다. 다른하나의 ZE10 모듈 ( 개발보드 ) 은라우터로서동작하며, 1 초마다온도센서값, 조도센서값및디지털입력값을코디네이터에게전송합니다.

53 또하나의 ZE10 모듈 ( 개발보드 ) 은슬리피엔드디바이스로서동작하며역시 1 초마다온도 센서값, 조도센서값및디지털입력값을코디네이터에게전달합니다. 그림 6-3 예제 #1: 코디네이터 1 개, 라우터 1 개및엔드디바이스 1 개 6.4.1 코디네이터설정하드웨어설정은아래와같이구성합니다. HOST 스위치를 USB로설정합니다. USB_PWR 점퍼를 Close하고 RS_PWR 및 BATT_PWR 점퍼는 Open 합니다. USB 케이블로호스트컴퓨터와연결합니다. 코디네이터설정을위한 AT명령어들은아래와같습니다. AT+NODETYPE=1 AT+PANID=7772 ATS11=1 AT+LONGADDR 0001950000000001 ATZ 6.4.2 라우터설정 라우터를위한하드웨어설정은아래와같습니다. ADC_2 와 ADC_3 를각각 TEMP_SENS 및 LIGHT_SENS 로설정합니다. 라우터설정을위한 AT 명령어는아래와같습니다. AT+NODETYPE=2

54 AT+PANID=7772 ATS42=1 AT+DESTLA=0001950000000001 AT+GPIO=1111144111111 ATZ 6.4.3 엔드디바이스설정 엔드디바이스를위한하드웨어설정은아래와같습니다. ADC_2 와 ADC_3 를각각 TEMP_SENS 및 LIGHT_SENS 로설정합니다. 엔드디바이스설정을위한 AT 명령은아래와같습니다. AT+NODETYPE=4 AT+PANID=7772 ATS42=1 AT+DESTLA=0001950000000001 AT+GPIO=1111144111111 ATZ 6.4.4 센서모니터링설정이완료되고시스템이동작을시작하면코디네이터에연결된컴퓨터에서터미널프로그램을동작하면라우터및엔드디바이스로부터매초마다전달되는메시지가계속표시됩니다. ++0001950000000002 10000**000000 ****,****,233E,006A ++0001950000000003 10000**000000 ****,****,2254,0B23 ++0001950000000002 10000**000000 ****,****,2235,004E ++0001950000000003 10000**000000 ****,****,226C,0B8B

55 6.5 설정예제 #2: 코디네이터 1 개및엔드디바이스 2 개 다른시스템구성을가정하여또하나의설정예제를아래에제공합니다. 이설정예제는아래와같은구성을가정하였습니다. ZE10 모듈 ( 개발보드 ) 하나가코디네이터로동작하며호스트컴퓨터에 RS232 케이블로연결됩니다 두개의 ZE10 모듈 ( 개발보드 ) 는엔드디바이스로서동작합니다 코디네이터는엔드디바이스의출력 (LED) 의 ON/OFF를원격으로조정합니다. 그림 6-4 예제 #2: 코디네이터 1 개및엔드디바이스 2 개구성예 6.5.1 코디네이터설정코디네이터의하드웨어설정은아래와같습니다. HOST 스위치를 UART로설정합니다. 호스트컴퓨터와개발보드를 RS232케이블을이용하여연결합니다. 코디네이터에서아래 AT 명령어들을실행합니다. AT+NODETYPE=1 AT+PANID=7772 ATZ 6.5.2 엔드디바이스설정엔드디바이스의하드웨어설정은아래와같습니다. GPIO_OUT 스위치를 LED_ON으로설정 엔드디바이스에서아래 AT 명령을수행합니다.

56 AT+NODETYPE=4 AT+PANID=7772 AT+GPIO=3333333333333 AT+LONGADDR 0001950000000003 ATZ 6.5.3 LED 출력제어코디네이터에서아래 AT 명령을수행하여 LED 출력을제어합니다. AT+REMOTE=0001950000000003,AT+DIO=0000000000000 AT+REMOTE=0001950000000003,AT+DIO=1111111111111 6.6 설정예제 #2: 조도센서와온도센서 조도센서와온도센서의아날로그데이터를샘플링하는예제입니다. 이설정예제는아래와같은구성을가정하였습니다. ZE10 모듈 ( 개발보드 ) 하나는컴퓨터에 USB 케이블로연결되고, 코디네이터로동작합니다. 다른하나의 ZE10모듈 ( 개발보드 ) 은라우터로서동작합니다. 여러가지방법으로조도센서와온도센서의데이터를샘플링합니다. 그림 6-5 예제 #3: 조도센서와온도센서

57 6.6.1 코디네이터설정하드웨어설정은아래와같이구성합니다. HOST 스위치를 USB로설정합니다. USB_PWR 점퍼를 Close하고 RS_PWR 및 BATT_PWR 점퍼는 Open 합니다. USB 케이블로호스트컴퓨터와연결합니다. 코디네이터설정을위한 AT명령어들은아래와같습니다. AT+NODETYPE=1 # 코디네이터로설정 AT+PANID=7772 # 16-bit PAN ID 설정 (7772) 6.6.2 라우터설정 라우터를위한하드웨어설정은아래와같습니다. ADC_2 와 ADC_3 를각각 TEMP_SENS 및 LIGHT_SENS 로설정합니다. ADC_2 ADC_3 그림 6-6 하드웨어설정 라우터설정을위한 AT 명령어는아래와같습니다.

58 AT+NODETYPE=2 # 라우터로설정 AT+PANID=7772 # 16-bit PAN ID 설정 ( 코디네이터와동일 ) AT+GPIO=5550044055550 # ADC_2와 ADC_3를아날로그입력으로설정 # OR # AT+GPIO5=4 (ADC_2를아날로그입력으로설정 ) # AT+GPIO6=4 (ADC_3를아날로그입력으로설정 ) 6.6.3 적용 6.6.3.1 코디네이터적용및확인 코디네이터적용및확인을위한 AT 명령어는아래와같습니다. ATZ # 코디네이터설정적용및네트워크구성 AT+LONGADDR? # 코디네이터의 Long Address 확인 AT Command 0001950000001481 # 코디네이터의 Long Address AT+OPCH? # 네트워크채널확인 AT Command 20 # 네트워크채널 AT+OPPANID? # 네트워크 PAN ID 확인 AT Command 7772 # 네트워크 PAN ID AT+SHORTADDR? # 네트워크 Short Addreess 확인 AT Command 0000 # 네트워크 Short Address 6.6.3.2 라우터적용및확인 라우터적용및확인을위한 AT 명령어는아래와같습니다. ATZ # 라우터설정적용및네트워크구성 AT+LONGADDR? # 라우터의 Long Address 확인 AT Command 0001950000000212 # 라우터의 Long Address

59 AT+OPCH? # 네트워크채널확인 AT Command 20 # 네트워크채널 AT+OPPANID? # 네트워크 PAN ID 확인 AT Command 7772 # 네트워크 PAN ID AT+SHORTADDR? # 네트워크 Short Addreess 확인 AT Command 9AD6 # 네트워크 Short Address 6.6.4 쿼리드샘플링 (Queried Sampling) 6.6.4.1 라우터에서확인 라우터에서아날로그데이터를확인하기위한 AT 명령어는아래와같습니다. AT+AI? # 모든아날로그데이터확인 AT Command ****,****,2179,0DFE # 아날로그데이터 # NA, NA, 온도, 조도의순서로표시 ( 가변저항 0, 1은사용안하는것으로설정 ) # 온도, 조도를변환하는방법은 6.6.7 데이터변환참조 AT+AI2? # 온도확인 AT Command 2182 # 온도데이터 ( 온도변환방법은 6.6.7 데이터변환참조 ) AT+AI3? # 조도확인 AT Command 0BF9 # 조도데이터 ( 조도변환방법은 6.6.7 데이터변환참조 ) 6.6.4.2 코디네이터에서확인코디네이터에서아날로그데이터를확인하기위한 AT 명령어는아래와같습니다. AT+REMOTE=0001950000000212,AT+AI? # 원격에서라우터의모든아날로그데이터확인 AT Command ****,****,2194,0DF3 # 라우터의아날로그데이터 # NA, NA, 온도, 조도의순서로표시 ( 가변저항 0, 1은사용안하는것으로설정 ) # 온도, 조도를변환하는방법은 6.6.7 데이터변환참조 AT+REMOTE=9AD6,AT+AI? # 원격에서라우터의모든아날로그데이터확인 AT Command

60 ****,****,218F,0D9A # 라우터의아날로그데이터 AT+REMOTE=0001950000000212,AT+AI2? # 원격에서라우터의온도확인 AT Command 218F # 라우터의온도데이터 ( 온도변환방법은 6.6.7 데이터변환참조 ) AT+REMOTE=9AD6,AT+AI3? # 원격에서라우터의조도확인 AT Command 0D8D # 라우터의조도데이터 ( 조도변환방법은 6.6.7 데이터변환참조 ) 6.6.5 주기적샘플링 (Periodic Sampling) Destination Node 6.6.5.1 코디네이터설정 코디네이터설정을위한 AT 명령어는아래와같습니다. ATS11=1 ATZ # Router에서보내온데이터를받을수있도록설정 # 설정적용 6.6.5.2 라우터설정라우터설정을위한 AT 명령어는아래와같습니다. AT+DESTLA=0001950000001481 # 온도, 조도데이터를전송할목적지장비설정 ATS42=1 # 온도, 조도데이터를목적지로전송하는주기설정 ( 단위 : 초 ) ATS43=0 # 목적지를 AT+DESTLA로지정, 1일경우는싱크노드로데이터전송 ATZ # 설정적용 6.6.5.3 코디네이터에서표시되는온도 / 조도데이터코디네이터에서온도 / 조도데이터를샘플링하기위한 AT 명령어는아래와같습니다. ++0001950000000212 11000**000000 ****,****,21D6,0C72 ++0001950000000212 11000**000000 ****,****,21D0,0B87 ++0001950000000212 11000**000000 ****,****,21CB,0324 # 온도, 조도센서를손으로누른후데이터변화

61 ++0001950000000212 11000**000000 ****,****,229B,0084 ++0001950000000212 11000**000000 ****,****,22A7,009E ++0001950000000212 11100**000000 ****,****,22A9,002D Router 에서 ATS42=1 로설정한결과 Coordinator 에서 1 초마다데이터감지 ++<IEEE address> <GPIO value> <Analog Input Data> 형식 온도, 조도를변환하는방법은 6.6.7 데이터변환참조 6.6.6 주기적샘플링 (Periodic Sampling) Sink Node 6.6.6.1 코디네이터설정 코디네이터설정을위한 AT 명령어는아래와같습니다. ATS11=1 ATS61=10 ATZ # 라우터에서보내온데이터를받을수있도록설정 # 코디네이터를싱크노드로설정. 싱크노드는 10초마다 # AT+DESTGROUPID에속한장비에게주소를알림 # 설정적용 6.6.6.2 라우터설정라우터설정을위한 AT 명령어는아래와같습니다. AT+DESTLA=0000000000000000 # 온도, 조도데이터를전송할목적지리셋 ( 싱크노드로데이터전송할경우 Destination의 # 설정은영향을미치지않으나 Destination Node로데이터를보내는것이아니라는것을 # 확인하기위해리셋 ) ATS42=1 # 온도, 조도데이터를싱크로전송하는주기설정 ( 단위 : 초 ) ATS43=1 # 목적지를싱크로드로지정, 0일경우는 AT+DESTLA로데이터전송 ATZ # 설정적용 6.6.6.3 코디네이터에서표시되는온도 / 조도데이터코디네이터에서온도 / 조도데이터를샘플링하기위한 AT 명령어는아래와같습니다. ++0001950000000212 11100**000000 ****,****,217F,0CD8 ++0001950000000212 11100**000000 ****,****,217E,0A2D ++0001950000000212 11100**000000 ****,****,217F,0D19

62 # 온도, 조도센서를손으로누른후데이터변화 ++0001950000000212 11100**000000 ****,****,2240,007A ++0001950000000212 11100**000000 ****,****,22E8,0078 ++0001950000000212 11100**000000 ****,****,2301,00A6 온도, 조도를변환하는방법은 6.6.7 데이터변환참조 6.6.7 데이터변환 6.6.7.1 아날로그데이터형식온도센서와조도센서에서입력되는아날로그데이터는 16비트 16진수로표시되고0~2EE0 (0~1200mV) 또는 D120-FFFF(-1200~-1mV) 사이의값을가지며단위값은 0.1mV에해당합니다. 6.6.7.2 아날로그데이터변환 출력값을실제측정된전압값으로변환입력값이 0 ~ 2EE0 인경우, Voltage (mv) = Value * 0.1 입력값이 D120 ~ FFFF 인경우 Voltage (mv) = (Value 65536) * 0.1 온도센서에서실제측정된전압값을온도로변환 Temperature( ) ={ Volt(mV) -600(mV)} * 0.1( /mv) 조도센서에서실제측정된전압값을조도로변환 Illumination(Lux) = Volt(mV) * 0.25(Lux/mV) 6.6.7.3 예제 ++0001950000000212 11100**000000 ****,****,217F,0CD8 ++0001950000000212 11100**000000 ****,****,217E,0A2D ++0001950000000212 11100**000000 ****,****,217F,0D19 # 변환 1 # 온도, 조도센서를손으로누른후데이터변화 ++0001950000000212 11100**000000 ****,****,2240,007A # 변환 2 ++0001950000000212 11100**000000 ****,****,22E8,0078 ++0001950000000212 11100**000000 ****,****,2301,00A6 6.6.6.3 코디네이터에서표시되는온도 / 조도데이터에서표시된데이터를온도와조도로변환. # 변환 1 (++0001950000000212 11100**000000 ****,****,217F,0D19) [ 온도변환 ] 온도센서출력값 : 217F (16진수) 온도센서출력값 : 8575 (10진수) 실제측정된전압 : Volt(mV) = 8575 * 0.1 = 857.5(mV) 온도로변환 : Temperature( ) = (857.5 600) * 0.1 = 25.75( ) [ 조도변환 ]

63 조도센서출력값 : 0D19 (16진수) 조도센서출력값 : 3353 (10진수) 실제측정된전압 : Volt(mV) = 3353 * 0.1 = 335.3(mV) 조도로변환 : Illumination(Lux) = 335.3 * 0.25 = 85.83(Lux) # 변환 2 (++0001950000000212 11100**000000 ****,****,2240,007A) [ 온도변환 ] 온도센서출력값 : 2240 (16진수) 온도센서출력값 : 8768(10진수 ) 실제측정된전압 : Volt(mV) = 8768 * 0.1 = 876.8 (mv) 온도로변환 : Temperature( ) = (876.8 600) * 0.1 = 27.68( ) [ 조도변환 ] 조도센서출력값 : 007A (16진수) 조도센서출력값 : 122 (10진수) 실제측정된전압 : Volt(mV) = 122 * 0.1 = 12.2(mV) 온도로변환 : Illumination(Lux) = 12.2 * 0.25 = 3.05(Lux)

64 7 AT 명령어레퍼런스 7.1 명령어형식 각명령어라인은프리픽스, 명령어와터미네이터로구성됩니다. 프리픽스로는 AT 만사용됩니다. 명령어는다양한문자열로구성되어지며, 터미네이터는 <CR> 또는 <NL> 으로구성됩니다. 명령어는아래중한가지형식을가지게됩니다. 설정값읽기 AT<Command>?<CR> 명령어수행 AT<Command><CR> 설정값쓰기 AT<Command>=<Parameter 1>,<Parameter 2>,<Parameter 3>, <CR> + 문자열로표시되는명령어들은확장 AT 명령어를의미합니다. 또한 S- 레지스트가지원됩니다. 한줄내에서복수명령어수행은지원되지않습니다. 7.2 표준 AT 명령어 7.2.1 AT 호스트와 ProBee 장비간의연결확인. Execute AT<CR> 7.2.2 ATB Execute 브로드캐스트데이터모드에들어감. 데이터모드에들어간후입력되는데이터는캐릭터간타임아웃 (inter character timeout, S12) 에의하여각각의패킷으로분리되어전송됨. 전송범위는브로드캐스트범위 (broadcast range, S35) 로결정. ATB<CR> 7.2.3 ATD 유니캐스트데이터모드에들어감. 주소를지정하지않고 ATD명령만수행할경우미리지정된 IEEE 주소를가지는원격노드 (AT+DESTLA) 와연결. 데이터모드에들 어간후입력되는데이터는캐릭터간타임아웃 (inter character timeout, S12) 에의하여각각의패킷으로분리되어전송됨. Execute ATD<CR> ATD<nodeID><CR> ATD<IEEE><CR>