CafeM0ca

[해커톤] z-wave 본문

Programming/프로젝트

[해커톤] z-wave

M0ca 2019. 7. 24. 12:52
반응형

Overview

팀에서 z-wave를 주제로 대회를 하게 되어 정리해본다. 

본 문서에서 다룰 내용은 다음과 같다.

  • z-wave란?
  • SDR(Software Defined Radio)
  • IP 네트워크를 통한 Z-wave 신호전송을 위한 Z/IP
  • Tool

Z-wave란?

위키피디아에 따르면 'Z-Wave는 주로 가정용 자동화에 사용되는 무선 통신 프로토콜이다. 보안 시스템, 온도 조절 장치, 창문, 자물쇠, 수영장 및 차고문의 개폐와 같은 주거용 기기 및 기타 장치의 무선 제어가 가능하도록 저에너지 전파를 사용하는 메쉬 네트워크이다' 라고 한다.

2019년 7월을 기준으로 아직 IoT 통신 프로토콜에는 ISO(국제표준위원회)에서 지정한 표준이 없다.
따라서 저전력이고 인터페이스가 필요없고 메쉬 네트워크고 무선랜이며, 쉽게 설치할 수 있는 z-wave 프로토콜을 사용하는 제품이 각광받고 있는 이유다.

메쉬(망형) 네트워크의 특징은 두 노드가 닿지 않아도 다른 노드를 통해 접근할 수 있으면 통신할 수 있다는 점이다.
e.g) A->C는 주파수가 닿지 않아도 A->B가 닿고, B->C가 닿는다면 A->B->C를 거쳐 닿는다.

2016년부터 오픈소스로 열어두어 통합(integration)할 수 있다.

github : https://github.com/OpenZWave/open-zwave
API document : http://www.openzwave.net/dev/

SDR(Software Defined Radio)

sdr은 하나의 하드웨어 플랫폼에 소프트웨어적으로 재구성이 가능하도록 한 개방형 이동통신 기술을 의미한다.
따라서 1개의 무선장치로 여러 기능과 서비스를 제공할 수 있게 된다.

SDR의 구조적 장점으로

  • 재구성 가능 : 다양한 환경에서 유연하게 처리하기 위해 소프트웨어로 재구성이 가능함.
  • 소프트웨어적 구성 : 하드웨어적으로 구성되었던 RF(주파수대역) 모듈 부분을 소프트웨어적으로 구성시킴. 그리고 RF 모듈 부분을 변경할 수 있음.
  • 유연성 증대 : 안테나와 가장 가까운 곳에서 수신신호를 디지털화하여 하드웨어 의존성을 낮춤

IP 네트워크를 통한 Z-wave 신호전송을 위한 Z/IP

z/ip는 UDP/IP의 Z-wave의 커멘트 클래스들 wrapping한 것들로 z/ip management command classes를 설정하도록 도와준다.

OpenZWAve Library http://www.openzwave.net/dev/

모든 z-wave 기능들은 manager class를 통해 접근함. manager로 접근하지 않으면 헬파티가 열린다고한다.
pc와 z-wave끼리 통신할때 비동기로 처리한다.

tool

z-wave에 간섭하기 위한 hackRF

hackRF SDR에 대한 정보가 있음.

https://greatscottgadgets.com/sdr/

Zniffer

z-wave 를 스니핑 툴
https://www.silabs.com/products/development-tools/software/z-wave

SPES-02가 제공하는 클래스 : https://products.z-wavealliance.org/Search/Index?regionId=17&searchText=SPES-02

    Command Class Association Group Info
    Command Class Association V2
    Command Class Basic
    Command Class Configuration
    Command Class Device Reset Locally
    Command Class Firmware Update Md V2
    Command Class Manufacturer Specific V2
    Command Class Meter V3
    Command Class Notification V4
    Command Class Powerlevel
    Command Class Security
    Command Class Switch Binary
    Command Class Time Parameters
    Command Class Version V2
    Command Class Z-Wave+ Info V2

GWG-02 : https://products.z-wavealliance.org/regions/17/categories/25/products?page=3

Supported Command Classes

    Association Group Information V1
    Command Class Application Status
    Command Class Association
    Command Class CRC16 Encap
    Command Class Device Reset Locally
    Command Class Manufacturer Specific
    Command Class Powerlevel
    Command Class Security
    Command Class Version
    Command Class Z-Wave+ Info

Controlled Command Classes

    Association Group Information V1
    Command Class Association
    Command Class Basic
    Command Class CRC16 Encap
    Command Class Door Lock
    Command Class Manufacturer Specific
    Command Class Meter
    Command Class Multi-Channel Association V1
    Command Class Multi-Channel V1
    Command Class Notification V1
    Command Class Security
    Command Class User Code
    Command Class Wake Up
반응형

'Programming > 프로젝트' 카테고리의 다른 글

[Go] 로또 시뮬레이터 구현  (0) 2022.07.22
[프로젝트] Hyu 시연 영상  (0) 2020.12.04
[C++] hyu Note generator  (0) 2018.07.16
[C++] Tic Tac Toe  (1) 2018.07.09
[Java] FileAttributeViewr  (0) 2018.06.24
Comments