#17. ZigBee
2022. 12. 3. 23:20
Update Log
| 22.12.03 First Upload
지난시간에는
LTE와 Wi-Fi에서도 사용되는 방식인
OFDM, OFDMA방식을 알아보았다.
ZigBee의 어원
- Zigzag + Bee 의 뜻으로 수많은 벌떼가 서로 통신을 한다는 의미이다.
- 수많은 업체들이 근거리 무선 통신 솔루션 관련된 협의체를 만들었다.
- Bluetooth의 단점을 보완하기에 만들었다.
- 만든 목표는 Low cost, Low power consumption 을 위해서이다.
ZigBee의 특징
- IEEE 802.15.4 의 규격이 PHY , MAC Layer를 커버하고 있다.
- 또한 Network 규격까지 미리 다 정해놓았다. (Wi-Fi는 이를 규격에 따로 넣지 않았다.)
- 이는 형상에 관련해서 (topological) 에서도 규격을 다 만들어 놓았다.
- Star Network
- Peer-to-Peer
- Mesh Networks
- Cluster Tree Networks
- 이는 형상에 관련해서 (topological) 에서도 규격을 다 만들어 놓았다.
- Applicaton Service 까지 미리 정해놓았다.
ZigBee 규격의 History
- 1999년 Bluetooth 표준화의 완료
- 2002년 10월 ZigBee Alliance 설립
- 2003년 IEEE 802.15.4 표준을 채택
- 2004년 ZigBee 1.0 표준을 승인
- 2006년 12월 : Enhanced ZigBee Spec
- 2007년 10월 : ZigBee Pro 발표
- 이후 최근에 Zigbee를 사용했다는 기사도 발표되었다.
ZigBee Protocol Stack
- 다음 그림과 같이 Protocol Stack을 살펴볼 수 있다.
- 밑에서부터 Layer 하나씩 알아보자.
- MAC/PHY Layer
- IEEE 802.15.4 규격에서 가져온 것이다.
- 하드웨어적인 부분이다.
- 앞에서 배워서 알겠지만, Physical 과 Media Access Control Layer 부분에 대해서 규격에 나와있다.
- API / Network Layer
- ZigBee Alliance 에서 직접 만들었다.
- 소프트웨어 적인 부분이다. -> 이는 Network, Security & application layer를 포함한다.
- TCP/IP를 쓰지 않기위해서 자신들이 만들었다.
- Network에는 Star / Mesh / Cluster-Tree 가 대표적으로 있다.
- Application Layer
- 고객들을 위한 레이어이다.
- MAC/PHY Layer
ZigBee 기술 주요특징
- 주요포인트들은 이것이다.
- 저전력
- 소형화
- 1cm 미만으로, 굉장한 소형 모듈이다.
- 가격적인 측면에서도 매우 저렴하다.
- 멀티모드 네트워크 지원
- Wi-Fi는 Star 형만 가능하다.
- 하지만 ZigBee는 앞에서 보았듯이, 여러 Network 모드가 가능하다.
- 이 또한 자신들이 Network 를 설계했기 때문이다.
- 대규모 네트워크를 지원
- 네트워크를 자신들이 설계했으니까, 번지수를 많이 설정해놓았다.
- 이에 따라서 가능은 하지만, CSMA/CA를 Zigbee 도 사용을 하므로, 어렵다.
The Wireless Space
- 항상 그래프에서 주목할 것은 축들의 좌표의 이름이다.
- x축에는 Data Rate, 즉 데이터의 속도를 나타내고 있다.
- y축에는 Range, 즉 데이터가 갈 수 있는 거리를 말하고 있다.
- 이 그래프에서 눈여겨 보아야 하는 점은, 빈 공간이다.
- 빈공간 부분이 우리가 개발해야 하는 공간, 즉 아직 수요가 없는 공간이다.
- Data Rate 과 Data Range가 작은 지금 ZigBee 가 사용하고 있는 공간은 쓸모 없는 공간이라고 생각했지만, 잘 사용하고 있다.
ZigBee Application Domain
- 사회에서 사용하는 ZigBee
- Building Automation
- Personal health care
- Industrial control
- 집에서 사용하는 ZigBee
- Consumer Electronics
- PC & Periphearals
- Home Control
- 범용적으로 사용하는 ZigBee
- Telecom services
ZigBee 기반 무선센서네트워크의 응용 예
- 여기서 무선센서네트워크는 IoT 와 결국에는 비슷한 느낌이다. 센서가 Thing 으로 바뀐것.
- Environmental Monitoring
- Habitat Monitoiring
- Precision Agriculture
- HVAC
- Security, surveillance( 감시)
- Structure and equipment Monitoring : 다리의 흔들거림과 같은 것을 센서로 잡는 것.
- Structural Dynamics
- Condition-Based Maintenance
- Emergencyt Response
- Supply Chain Monitoring
- Manufacturing Flows
- Asset Tracking
- Context Aware Computing : 주변환경에 대한 정보를 받고, 이에 대해서 적절한 대응
- Information Beacons
ZigBee 의 일반적인 특징
- Low Rate, Long Battery Life, Very Low Complexity
- 3가지의 주파수 옵션이 있다.
- 868 MHz (유럽) -> PHY: 20kbps , BPSK
- 915 MHz (호주) -> PHY: 40kbps, BPSK
- 2.4GHz(전국)
- PHY: 250kbps
- 16 Channel
- 채널당 5MHz의 대역폭
- Wi-Fi 보다는 다닥다닥 붙어있지 않고 많이 멀어져 있어서, 채널 간섭이 적다.
- Wi-Fi 보다는 신호의 세기가 훨씬 작으므로, 같이 있다면 ZigBee 가 작동이 안할 가능성이 있다.
- Orthogonal QPSK
- PHY은 1mW가 되지 않는다. 이는 멀리갈 필요가 없기 떄문이다. (외부amp 을 이용하면 20dBm까지 가능)
- CSMA-CA 를 사용한다.
- Optional GTS (Guarnateed Time Slot)
- CSMA/CA의 큰 단점을 해결하는 방법을 Optional 하게 사용한다.
- 여러명이 같이 쓰면 정해진 시간에 내가 원하는 정보를 보낼 수 없었다.
- 하지만 TDMA 처럼 가능하게끔 Gurantee 를 준다고 생각하면 된다.
- Fully handshake protocol 이다.
- 이는 Reliability를 향상시켜준다.
- Low Duty-cycle
- Duty -cycle
- 일하는 사이클이라고 직역할 수 있다.
- 1초동안 깨서 통신하고 9초동안 자면 10초동안 1초를 일한 셈이다.
- 그렇게 된다면 duty cycle은 0.1 , 즉 10%라고 할 수 있다.
- 하지만 ZigBee 는 0.1% 보다 작은 Duty -cycle을 요구한다.
- 즉 오랫동안자고 잠깐동안만 깨어있으면 되는 것이다.
- Duty -cycle
- Range 는 LOS인 경우 1Km가 가능하다. (구라다)
- LOS : Line of sight, 즉 장애물이 없다란는 뜻이다.
- 보통은 30M가 제한적이다.
- Max packet size :127 bytes
- 64 bit IEEE address 와 16bit short address 둘다 사용이 가능하다.
- 거친 R/F 환경에서도 강인함을 보여준다
- 받은 패킷에서 Quality Assessment 를 사용한다.
- 채널안에서 Energy Detection
- 보내기 전에 Clear channel Assessment 를 사용한다.
- 노드들의 이름
- PAN Coordinator
- AP 처럼 보내는 것을 관리하는 역할이다.
- Full Function Device
- 전력이 계속 공급이 되는 노드이다.
- Reduced Function Device
- 전력이 베터리로 공급이 되는 노드이다.
- PAN Coordinator
ZigBee Frequency
ZigBee Data Frame Format
- MAC Layer
- Frame Control
- Data Sequence Number
- Address information
- Data payload
- FCS
- PHY Layer
- Preamble Sequence
- Start of Frame Delimiter
- Frame Length
- MPDU(PSDU)
- Max는 127 byte 이다.
ZigBee device 의 분류
- PAN coordinator
- Router
- End device
ZigBee 네트워크 특성
- 중앙까지 제일 빨리 갈 수 있다.
- 밖의 노드가 죽어도 뭐 별 상관이 없다. -> 다른 노드에게 영향을 끼치지 않는다.
- 트리보다 계산해야 할 양이 많다.
- 파란색 노드 하나가 죽어도, 돌아가서 중앙까지 갈 수있다.
- 지름길로 가지 못한다. -> 즉 중앙노드가 더 가깝더라도 돌아서 가야한다.
- 가장 체계적이고, 계층적이다. -> 계산할 것들이 줄어든다.
ZigBee Stack
- 앞에서 보았던 Stack 을 조금더 자세하게 본 내용이다.
- 중요하게 느껴지는 포인트들과 용어에 대해서 알아보자.
NWK layer
- Network Layer 를 다음과 같이 줄여서 이야기하곤 한다.
- NWK Layer의 중요한 점은 3가지와 같다.
- Addressing
- Routing
- Security
APS layer
ZDO Layer
Application Profiles
- Profiles 라는 말은 '규격' 이라고 이해해도 된다.
- 모든 발행된 사용들이 규격화 되어있어서 어떤식으로 작동하는지 까지도 규격에 정해져 있다.
- 즉 마음대로 만들 수 없다는 뜻이다.
- ZigBee Home Automation
- 스마트 홈을 이야기한다.
- ZigBee Smart Energy
- 에너지를 측정하는 것이다.
- 콘센트에서 전력을 체크하는 것이나, 냉장고에서 전력을 체크하는 것과 같다
- 이는 대기전력을 줄이기 위함이다.
- 두가지의 이슈가 발생한다.
- Tv를 키려고 했을때, 멀티탭 자체가 꺼져 있어서 불편을 초래할 수 있다.
- 대기전력과 지급에 단가가 안맞는다. 차라리 대기전력을 통해서 돈을 더 내겠다.
- ZigBee Light Link
- ZigBee를 가지고 전등을 키게 만드는 제품
- 필립스에서 제품을 이미 출시해서 수백가지의 빛을 낼 수 있게 했다.
- ZigBee Building Automation
- 빌딩 자동화이다
- 에어컨, 환기장치, 전구, 주차장의 전력을 아끼기 위함이다.
Superframe 구조 (Option)
- CAP (Contention Access Period)
- 경쟁이 있는 구간이다.
- CSMA/CA 처럼 경쟁을해서 가져간다.
- CFP (Contention Free Period)
- 경쟁이 없는 구간이다.
- 사전에 허락을 맡아서 시간을 할당을 받는다 (무선통신처럼)
- Inactive
- 자는시간
- GTS (Guaranteed Time Slot)
- 보장된 Time Slot을 의미한다.
- Beacon
- Beacon Interval
- 15ms 에서 252s 사이 정도 된다.
- Wi-Fi 에서는 AP 가 Zigbee에서는 coordinator 가 주기적으로 보낸다.
- Beacon Interval
- 긴급한 신호를 보낼때, CSMA/CA 만으로는 되지 않으므로, CFP 같은 구간을 설정한다.
Beacon
- Beacon
- Beacon의 최대 목표는 " Power Save" 이다.
- Time Synchronizing (시간동기화)를 한다.
- Coordinator 가 자신의 존재를 Announcing 한다.
- Non - beacon -enabled Network
- Coordinator가 항상 깨어있어야 한다.
- 슬롯이 없는 CSMA/CA이다.
- Beacon - enabled Network
- Power 의 소비를 줄일 수 있다.
- 슬롯이 있는 CSMA/CA를 사용한다.
- GTS가 존재한다.
Beacon의 유무에 따른 CSMA/CA
- Non -Beacon CSMA/CA는 Wi-Fi 와 비슷하다.
Data Transfer Model
- Model 1 (디바이스 -> Coordinator 에게 Data를 보내는 경우)
- Beacon-enabled Network
- non-Beacon-enabled Network
- Model 2 (Coordinator -> Device 로 Data를 전송하는 경우)
- Beacon-enabled Network
- Model 3 (Coordinator -> Device로 Data를 전송하는 경우)
- non Beacon-enabled Network
GTS (Guaranteed Time Slot)
- GTS 는 PAN Coordinator가 할당한다.
- 7 GTS까지 할당할 수 있다.
- 사용하기 전에 Coordinator 에게 Device가 부탁해야 한다.
Association Procedure
- 첫번째로 Device가 Channel을 스캔한다 (16개중 하나)
- 두번째로 Coordinator 가 가지고 있는 주소에 맞게 Association Request를 보낸다.
- 세번째로 Coordinator 가 ACk을 Device에게 전달한다. (이때 관계형성을 했다는 것은 절대 아님)
- 네번째로 Coordinator는 결정을 하고, Device는 이에 맞춰서 기다린다.
- 다섯번째로 Corrdinator가 받는 결정을 하면 Beacon을 허락의 주소를 준다.
- 여섯번째로 Data Request 를 Device에서 전달하고, Coordinator가 ACK을 보낸다.
- 함부로 여기에서 데이트럴 그냥줄 수 없다 . Device가 자고있을수도 있으니까
- 마지막으로 Association Resp, 관계 형성을 맺고 Device에서 ACk을 보내고 종료된다.
- IEEE 802.15.4에서는 association결과가가 Indirect fashion (간접적인 방식) 으로 알려진다.
- Coordinator 가 Association request에 대답할때 Device의 "Long Address" 를 Beacon Frame에 보낸다.
- 이에 대한 대답으로 Device 또한 Data Request 를 Coordinator에게 보내야 한다.
- 만약 Association이 되고 나면 Device는 16bit의 "Short Address" 를 Coordinator 에게 할당받는다.
Routing
- Tree Network
- 동작방식
- 먼저 켜진 Node가 가장 가까운 Ndde에게 붙어버린다
- 중앙에 있는 Node 가 주소를 주게 된다.
- 특징
- 실제적으로 거리가 가까워도, 트리 위를 타고 올라가서 Data를 전달해야하 한다는게 단점
- 굉장히 쉽게 목적지를 찾을 수 있다는 장점
- 트리 노드 하나가 죽으면, 밑에 있는 애들도 전부 죽게 된다.
- 다른 노드를 붙여서 변화를 줄 수있겠지만 이것에 취약하다.
- Mesh Network
- 동작방식
- 19번까지의 최단 경로를 알고 싶다고 하면
- 루트 노드에서 전부 뿌려서 19번이 받게끔 한다.
- 역주행을 다시해서 원래 루트노드까지 온다.
- 제일 먼저 도착한 데이터를 제외한 그 다음에 데이터들은 19번 노드가 알아서 버린다.
- 장점
- 전력이 쓸때없이 소모가 된다.
- 장점
- 진짜 최단 경로를 구할 수있다.
근거리 무선통신 비교
- 지그비 만의 특징
- Device의 확장성이 높다
- 통신채널이 많다.
- 배터리의 동작시간이 길다
- 네트워크 형성 시간이 (Association 하는 시간이) 짧다
- 블루투스(클래식) 대비 지그비의 장점
- 매우 낮은 전류 및 전력소모
- 최대 6만여개의 네트워크 노드 (Coordinator 포함)
- 빠른 네트워크 의 형성
- 넓은 Coverage (사실 비슷하긴 하다)
- 유연한 네트워크 기능
- Wi-Fi 와 Bluetooth는 Tree 모델이 기준
6LoWPAN
- 6LoWPAN 의 의미
- 6 => Ipv6
- Lo => Low Rate, Low Power
- WPAN => Wireless PAN
- 6LoWAN 은 헤더를 엄청 줄인 모델이라고 생각하면된다.
- 그 동안의 문제점
- ZigBee 네트워크 연결에는, 인터넷 (IP) 에서 센서값을 받아오기가 매우 힘들었다.
- 왜냐하면 TCP/IP 가 ZigBee 에는 없었고, 고유의 네트워크를 사용했기 때문.
- 해결방면
- 15.4 MAC 과 PHY를 유지하고, TCP 와 UDP 와 IPv6를 붙이는 해결방법을 도입함.
- 하지만, 유선망은 패킷이 너무 길어서 무선망이랑 맞지 않는 문제점이 발생
- 이를 중간에 Layer 즉 6LowPAN Adaptation 이라는 Layer 로 걸러주자라는 생각을 도입.
- 즉 이 Layer 가 TCP, UDP 패킷을 줄여준다.
- 왜 유선에서는 Packet SIze가 커야하고, 무선에서는 Packet 사이즈가 작아야 할까?
- 중간에 생기는 Loss 를 생각하면, 유선에서는 많은 Packet 사이즈를 보내는것이 맞다.
Adpatation Layer
- 802.15.4 는 매우 작은 PDU 들을 가지고 있다 (127 byte 크기의)
- IP datagram 은 MTU 로 1280byte 의 크기를 가지고 있다.
- 거의 10배가 차이가 남으로, 내려오면서 잘라야 한다.
- IETF 6LowPan -HC
- Header Compression
- 40 byte를 3byte 까지 header 를 압축한다.
- 즉 필요없는 부분을 전부 쳐낸다.
- IPv6의 주소를 보통 삭제하긴 한다. (128byte 도 크다)
- IPv4의 주소는 32 byte 이다.
- Fragmentation
- 1280 byte를 127byte 로 쪼개야 하기 때문에 사용한다.
- IPv6은 MAC address 에서 자동으로 형성이 된다.
- 보통은 short address 를 가지고, IPv6 를 생성이 가능하다.
- 굳이 IPv6 주소를 다 보낼 필요가 없고, 그냥 Short Address 를 보내면 된다.
- Header Compression
TCP / UDP
- HTTP 를 도와주는 TCP
- 저전력과 패킷로스가 많은 곳에서는 HTTP를 사용하기 힘들다.
- CoAP 을 도와주는 UDP
- UDP 혹은 RESTful을 사용한다.
'STUDY > 사물인터넷' 카테고리의 다른 글
#16. MQTT (0) | 2022.12.03 |
---|---|
#15. CoAP (0) | 2022.12.03 |
#14. REST API (0) | 2022.12.03 |
#13. IEEE 802.16 (1) | 2022.11.30 |
#12. NB -IoT (1) | 2022.11.30 |