- ZigBee 아키텍처 :
- ZigBee에서 데이터 전송
- Xbee 라우터 및 코디네이터 용 네트워크 기본 사항
- ZigBee의 다른 네트워크 토폴로지
- Xbee 펌웨어
- XBee AT 명령 :
일반적으로 많은 사람들이 XBee와 ZigBee 라는 두 가지 용어를 혼동하며, 대부분은 같은 의미로 사용합니다. 그러나 이것은 사실이 아닙니다. ZigBee 는 무선 네트워킹을위한 표준 프로토콜입니다. 반면 XBee는 제품 지원 다양한 무선 통신 지그비, 와이파이 (무선 플라이 모듈), 802.15.4, 868을 포함 프로토콜 MHz의 모듈 등 여기서 우리가 주로 이루어져 Xbee / Xbee-PRO ZB RF 모듈에 집중된다는 것이다 ZigBee 펌웨어의.
사용자 친화적 인 인터페이스로 복잡한 계산이 수행되는 컴퓨터의 계산기를 생각해보십시오. 하드웨어 만 사용할 수 있다면 작업은 매우 어렵고 지루했을 것입니다. 따라서 최고 수준에서 소프트웨어의 가용성은 문제 해결 프로세스를 더 쉽게 만듭니다. 전체 프로세스는 상위 수준에서 호출되는 실제 하드웨어에 의해 소프트웨어 계층으로 나뉩니다.
우리는 일상 생활에서도 레이어 개념을 사용합니다. 예를 들어, 택배 / 편지를 친구의 집으로 보내고 한 지점에서 다른 지점으로 이메일을 보냅니다. 마찬가지로, 대부분의 최신 네트워크 프로토콜은 계층 개념을 사용하여 서로 다른 소프트웨어 구성 요소를 서로 다른 방식으로 조립할 수있는 독립 모듈로 분리합니다. Xbee 아키텍처에 대한 심층적 인 이해를 위해 손을 더럽혀 야 할 수도 있지만, 우리는 당신을 위해 일을 매우 간단하게 만들 것입니다.
라우팅, 충돌 방지 및 승인과 같은 몇 가지 기본 용어부터 시작하겠습니다 . 첫 번째 용어를 이해 하려면 경로를 추적하거나 식별하는 것을 의미하는 "route" 라는 이름으로 가십시오. 네트워킹에서 라우팅은 소스 노드에서 대상 노드로 데이터 방향을 제공하는 것을 의미합니다. 네트워크의 두 노드가 동시에 전송을 시도하면 충돌 이라는 상황이 발생 합니다. 따라서 일반적으로 충돌을 피하기 위해 CSMA / CA (Carrier Sense Multiple Access with Collision avoidance) 기술 을 사용하면이 링크를 사용하여 CSMA에 대해 자세히 알아볼 수 있습니다. 기본적으로 노드는 인간의 대화와 같은 방식으로 대화합니다. 그들은 데이터 전송을 시작하기 전에 아무도 말하고 있지 않은지 잠시 확인합니다.
수신기는 전송 된 데이터를 성공적으로 수신 할 때마다 송신기를 확인 합니다. 데이터 흐름이 수신기 라디오를 압도하도록 허용해서는 안됩니다. 수신 라디오는 수신 데이터를 처리 할 수있는 제한된 속도와 수신 데이터를 저장할 메모리 양이 제한되어 있습니다.
ZigBee 아키텍처:
있습니다 가능한 주요 4 개 개의 레이어 물리 계층, 미디어 액세스 계층, 네트워크 계층 및 응용 프로그램 계층이다 지그비 스택은.
응용 프로그램 계층 은 프로필, 클러스터 및 끝점을 포함한 다양한 주소 지정 개체를 정의합니다. 위 그림에서 ZigBee 스택 레이어를 볼 수 있습니다.
네트워크 계층: RF 데이터 패킷이 여러 장치 (여러 "홉")를 통과하여 데이터를 소스에서 대상 (피어 투 피어)으로 라우팅 할 수있는 라우팅 기능을 추가합니다.
MAC 계층 은 인접 장치 간의 RF 데이터 트랜잭션을 관리합니다 (지점 간). MAC에는 전송 재시도 및 승인 관리 및 충돌 방지 기술과 같은 서비스가 포함됩니다.
물리 계층: 네트워크를 만들기 위해 장치를 연결하는 방법을 정의합니다. 출력 전력, 채널 수 및 전송 속도를 정의합니다. 대부분의 ZigBee 애플리케이션은 250kbps 데이터 속도로 2.4GHz ISM 대역에서 작동합니다.
대부분의 XBee 제품군에는 적절한 명령을 사용하여 구성 할 수있는 흐름 제어, I / O, A / D 및 표시기 라인이 내장되어 있습니다. 아날로그 샘플은 10 비트 값으로 반환됩니다. 아날로그 판독 값은 0x0000이 0V를 나타내고 0x3FF = 1.2V를 나타내도록 조정됩니다. (모듈의 아날로그 입력은 1.2V를 초과 할 수 없습니다.)
A / D 판독 값을 mV로 변환하려면 다음을 수행하십시오.
AD (mV) = (A / D 판독 값 * 1200mV) / 1023
ZigBee에서 데이터 전송
한 위치에서 다른 위치로 데이터를 전송할 수있는 소프트웨어와 하드웨어의 조합으로 네트워크를 호출 할 수 있습니다. 하드웨어는 네트워크의 한 지점에서 다른 지점으로 신호를 전달하는 역할을합니다. 소프트웨어는 우리가 예상 한대로 작동 할 수 있도록하는 명령 세트로 구성됩니다.
일반적으로 ZigBee 패킷에 의한 데이터 전송 은 유니 캐스트와 브로드 캐스트의 두 가지 방법으로 수행 될 수 있습니다.
방송 전송:
간단히 말해서 방송이란 라디오 나 TV를 통해 전송되는 정보 / 프로그램을 의미합니다. 즉, 브로드 캐스트 전송은 네트워크의 많은 또는 모든 장치로 전송됩니다. ZigBee 프로토콜을 사용하는 브로드 캐스트 전송 은 모든 노드가 전송을 수신하도록 전체 네트워크에 전파됩니다. 이를 위해 코디네이터와 브로드 캐스트 전송을 수신하는 모든 라우터는 패킷을 세 번 재전송합니다.
유니 캐스트 전송:
ZigBee의 유니 캐스트 전송은 한 소스 장치에서 다른 대상 장치로 데이터를 라우팅합니다. 대상 장치는 소스 장치의 바로 이웃이거나 중간에 여러 홉을 가질 수 있습니다. 양방향 링크의 신뢰성을 인식하는 메커니즘을 설명하는 그림은 아래의 예입니다.
Xbee 라우터 및 코디네이터 용 네트워크 기본 사항
친구 집에 도착하려면 무엇이 필요합니까? 그의 주소가 필요합니다. 마찬가지로 한 Xbee 모듈에서 다른 모듈로 데이터를 전송하려면 고유 한 주소가 필요합니다. 사람들과 마찬가지로 Xbee에는 여러 주소가 있으며 각 주소는 네트워킹에서 특별한 역할을합니다. 주소에는 정적 주소 (64 비트 주소)와 동적 주소 (16 비트 주소)의 두 가지 유형이 있습니다.
구애:
64 비트 주소 는 보편적으로 고유합니다. 제조업체에서 Xbee 모듈 내부에 고정되어 있습니다. 지구상의 다른 ZigBee 라디오는 동일한 정적 주소를 갖지 않습니다. 모든 xbee 모듈 뒷면에서 아래와 같이이 주소를 볼 수 있습니다. 특히 주소 "0013A200"의 상위 부분은 모든 xbee 모듈에 대해 동일합니다.
장치는 ZigBee 네트워크에 가입 할 때 로컬에서 고유해야하는 16 비트 주소 를 받습니다. 16 비트 주소 0x0000은 코디네이터 용으로 예약되어 있습니다. 다른 모든 장치는 결합을 허용하는 라우터 또는 코디네이터 장치에서 임의로 생성 된 주소를받습니다. 16 비트 주소는 두 장치가 동일한 16 비트 주소를 가지고있는 것으로 확인되거나 장치가 네트워크를 떠나 나중에 참여할 때 변경 될 수 있습니다 (다른 주소를받을 수 있음).
노드 식별자:
우리의 두뇌는 숫자 대신 문자열을 기억하는 것이 항상 더 쉽습니다. 따라서 네트워크의 각 Xbee 모듈에 노드 식별자를 할당 할 수 있습니다. 노드 식별자 는 문자 집합입니다. 즉, 네트워크에서 노드를 주소 지정하는보다 인간 친화적 인 방법 일 수있는 문자열입니다.
개인 영역 네트워크:
이러한 Xbee 모듈에서 개발 한 네트워크를 개인 영역 네트워크 또는 PAN이라고 합니다. 각 네트워크는 고유 한 PAN 식별자 (PAN ID)로 정의됩니다. 이 식별자는 동일한 네트워크의 모든 장치에서 공통입니다. ZigBee는 64 비트 및 16 비트 PAN ID를 모두 지원합니다. 두 PAN 주소는 네트워크를 고유하게 식별하는 데 사용됩니다. 동일한 ZigBee 네트워크에있는 장치는 동일한 64 비트 및 16 비트 PAN ID를 공유해야합니다. 여러 ZigBee 네트워크가 서로의 범위 내에서 작동하는 경우 각각 고유 한 PAN ID를 가져야합니다.
16 비트 PAN ID는 네트워크의 장치 간 모든 RF 데이터 전송에서 MAC 계층을 주소 지정하는 데 사용됩니다. 그러나 16 비트 PAN ID (65,535 가능성)의 제한된 주소 지정 공간으로 인해 여러 ZigBee 네트워크 (서로 범위 내)가 동일한 16 비트 PAN ID를 가질 수 있습니다. 이러한 충돌을 해결하기 위해 ZigBee Alliance는 64 비트 PAN ID를 만들었습니다. ZigBee는 코디네이터, 라우터 및 최종 장치의 세 가지 장치 유형을 정의합니다.
네트워크 설정 비용을 청구 하려면 모든 네트워크 에 항상 한 명의 코디네이터가 필요 합니다. 그래서 결코 잠을 잘 수 없습니다. 또한 네트워크를 시작하기 위해 채널 및 PAN ID (64 비트 및 16 비트 모두)를 선택해야합니다. 라우터와 최종 장치를 네트워크에 연결할 수 있습니다. 네트워크에서 데이터를 라우팅하는 데 도움이 될 수 있습니다.
네트워크에 여러 라우터가있을 수 있습니다. 한 라우터는 다른 라우터 / EP (엔드 포인트)에서 신호를받을 수 있습니다. 또한 잠을 잘 수 없습니다. 데이터를 전송, 수신 또는 라우팅하려면 Zigbee PAN에 가입해야합니다. 가입 후 라우터와 최종 장치가 네트워크에 가입 할 수 있습니다. 조인 후 데이터 라우팅을 지원할 수도 있습니다. 휴면 단말 장치를 위해 RF 데이터 패킷을 버퍼링 할 수 있습니다.
여러 끝 점이있을 수도 있습니다. 절전 모드로 전환하여 전력을 절약 할 수 있습니다. 데이터를 송수신하기 전에 ZigBee PAN에 가입해야하며 장치가 네트워크에 가입하는 것도 허용 할 수 없습니다. 데이터 전송 / 수신은 부모에 따라 다릅니다.
최종 장치가 절전 모드로 전환 될 수 있으므로 상위 장치는 최종 장치가 깨어나 데이터 패킷을 수신 할 때까지 수신 데이터 패킷을 버퍼링하거나 유지해야합니다.
ZigBee의 다른 네트워크 토폴로지
네트워크 토폴로지는 네트워크가 설계된 방식을 나타냅니다. 여기서 토폴로지는 모든 링크와 링크 장치 (코디네이터, 라우터 및 엔드 장치)의 관계를 서로에 대한 기하학적 표현입니다.
여기에는 네 가지 기본 토폴로지 메시, 스타, 하이브리드 및 트리가 있습니다.
에서는 메쉬 토폴로지 단말 장치는 직접 통신 할 수 없기 때문에, 각 노드는 단말 장치 각각으로 기대할 다른 노드와 연결된다. 두 ZB 무선간에 간단한 통신을 활성화하려면 하나는 코디네이터 펌웨어로 구성하고 하나는 라우터 또는 엔드 포인트 펌웨어로 구성해야합니다. 메시 네트워크의 주요 이점은 링크 중 하나를 사용할 수 없게 되더라도 전체 시스템을 무력화시키지 않는다는 것입니다.
A의 스타 토폴로지, 각 디바이스는 중앙 제어부 (코디네이터)에 전용 점 대 점 연결을 갖는다. 모든 장치가 서로 직접 연결되지는 않습니다. 메시 토폴로지와 달리 스타 토폴로지에서는 한 장치가 다른 장치에 직접 아무것도 보낼 수 없습니다. 코디네이터 또는 허브는 교환을 위해 존재합니다. 한 장치가 다른 장치로 데이터를 보내려는 경우 데이터를 코디네이터로 보내고 데이터를 대상 장치로 추가로 보냅니다.
하이브리드 네트워크 는 두 가지 이상의 유형의 통신 표준을 포함하는 네트워크입니다. 여기서 하이브리드 네트워크는 스타 네트워크와 트리 네트워크의 조합으로, 코디네이터 노드에 직접 연결된 엔드 디바이스는 거의 없으며 다른 엔드 디바이스는 데이터를 수신하기 위해 상위 노드의 도움이 필요합니다.
에서는 트리 네트워크의 라우터는 일반적으로 각각의 라우터에 모여 백본 및 최종 디바이스를 형성한다. 라우터가 상호 연결되어 있지 않다는 점을 제외하면 메시 구성과 크게 다르지 않습니다. 위의 그림을 사용하여 이러한 네트워크를 시각화 할 수 있습니다.
Xbee 펌웨어
XBee Programmable 모듈에는 Free scale 애플리케이션 프로세서가 장착되어 있습니다. 이 애플리케이션 프로세서는 제공된 부트 로더와 함께 제공됩니다. 이 XBee ZV 펌웨어는 Embernet 3.xx ZigBee-PRO 스택을 기반으로하며 XBee-Znet 2.5 모듈을이 기능으로 업그레이드 할 수 있습니다. 이 장의 뒷부분에서 설명 할 ATVR 명령을 사용하여 펌웨어를 확인할 수 있습니다. XBee 버전 번호에는 4 개의 유효 숫자가 있습니다. ATVR 명령을 사용하여 버전 번호를 볼 수도 있습니다. 응답은 3 개 또는 4 개의 숫자를 반환합니다. 모든 숫자는 16 진수이며 범위는 0-0xF 일 수 있습니다. 버전은 "ABCD"로보고됩니다. 숫자 ABC는 기본 릴리스 번호이고 D는 기본 릴리스의 개정 번호입니다. API는 4 장에서 설명하고 AT 명령은 Znet 2.5 및 ZB 펌웨어에서 거의 동일합니다.
통신에서 전체 Hayes 명령은 Hayes 모뎀 스마트 모뎀 용으로 개발 된 언어 별 명령으로, 1981 년에는 모뎀을 제어하여 통신을 제어하고 모뎀 설정을 간단하게 설정하는 일련의 짧은 단어였습니다.
XBee는 또한 명령 모드에서 작동하며 ATTENTION을 나타내는 AT 명령을 설정했습니다. 이러한 명령은 터미널을 통해 XBee로 전송 될 수 있습니다. XBee 및 AT 구성 XBee 라디오에는 두 가지 통신 모드가 있습니다.
투명: 라디오는 수신 한 정보를 구성된 원격 라디오 주소로만 전달합니다. 직렬 포트를 통해 전송 된 데이터는 그대로 XBee에 수신됩니다.
명령: 이 모드는 라디오와 통신하고 일부 사전 구성된 모드를 구성하는 데 사용되며,이 모드에서 모듈과 통신하고 구성을 변경합니다.
+++를 입력하고 다른 버튼을 누르지 않고 1 초 동안 기다릴 수 있습니다. 그러면 OK 메시지가 터미널의 이미지가 위로 나타납니다. OK로 XBee는 자신이 COMMAND 모드를 사용했으며 구성 메시지를받을 준비가되었음을 알려줍니다.
XBee AT 명령:
AT (TEST): 응답이 동일 함을 확인하면서 모듈이 OK로 응답하는지 확인하는 테스트 명령입니다.
ATDH: 대상 주소 높음. 64 비트 대상 주소 DL 및 DH의 상위 32 비트를 구성하려면 64 비트 대상 주소를 제공합니다.
ATDL: 목적지 주소 낮음. 이는 64 비트 대상 주소의 하위 32 비트를 구성하기위한 것입니다.
ATID: 이 명령은 PAN ID를 변경합니다 (PersThe ID는 4 바이트의 16 진수이며 범위는 0000에서 FFFF까지입니다.
ATWR: 쓰기. 매개 변수 값을 비 휘발성 메모리에 기록하여 매개 변수 수정이 후속 재설정을 통해 유지되도록합니다.
참고: WR이 발행되면, 추가 문자는 다음까지 모듈로 전송되지 않아야합니다.
"OK \ r"응답이 수신 된 후.
ATRE (기본값 복원): 공장 설정을 모듈로 복원하며 모듈이 응답하지 않는 경우 매우 유용합니다.
ZigBee 모듈에 대해 더 자세히 알고 싶다면 Digi의 훌륭한 리소스가 있습니다.