LwM2M 프로토콜 오픈소스

HKTUOHA·2024년 6월 26일

IoT 프로토콜 

목록 보기
3/3

대부분의 IoT 디바이스 제품은 클라우드와 연결되어 IoT 프로토콜을 사용하여 데이터를 송수신한다.

IoT 통신 프로토콜 종류와 활용

LwM2M이란?

  • Lightweight Machine To Machine

    M2M 통신
    : 사람의 개입 없이 장치 간 직접적인 상호 작용하는 통신기술

  • M2M 또는 IoT 장치 관리 및 서비스 구현을 위한 오픈 모바일 연합(OMA)의 프로토콜
  • LwM2M 표준은 IoT 장치에 있는 LwM2M 클라이언트와 LwM2M 서버 간의 응용 프로그램 계층 통신 프로토콜을 정의
  • CoAP 프로토콜, 보안을 위한 DTLS(Datagram TLS) 사용
  • 메시지 전달은 TCP, UDP, SMS 등을 통해 전달

    CoAP 프로토콜
    : Constrained Appplication Protocol, IoT와 같은 대역폭이 제한된 통신 환경에 최적화를 위해 개발된 REST 기반의 경량 메시지 전송 프로토콜

    Rest
    : Representaional State Transfer, 자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것

    데이터그램 전송 계층 보안 DTLS


LwM2M 아키텍처 및 구조

  • 아키텍처 : 데이터 흐름과 프로토콜 상호작용을 중심으로 한 개념적 관점
  • 구조 : 실제 통신 장비의 구성과 물리적 연결을 설명하는 물리적 관점


LwM2M 오픈소스 실습

오픈소스 github

1. git clone

  • 오픈 소스에 client와 server 소스가 둘 다 포함되어 있어 두 번 clone 하거나 copy로 client와 server 분리

git clone --recurse-submodules https://github.com/eclipse/wakaama.git lwm2m_server
git clone --recurse-submodules https://github.com/eclipse/wakaama.git lwm2m_client


2. 빌드

📌트러블슈팅 - make 오류

해결 방법

  • CMakeList.txt 따라 들어가서 활성화 조건 확인

server

→ WAKAAMA_ENABLE_EXAMPLES와 WAKAAMA_MODE_SERVER 변수가 모두 활성화되어 있을 때만 서버 모드의 lwm2mserver 실행 파일을 생성하겠다는 의미

cmake -DWAKAAMA_ENABLE_EXAMPLES=ON -DWAKAAMA_MODE_SERVER=ON . 입력 후 빌드 성공

client

cmake -DWAKAAMA_ENABLE_EXAMPLES=ON -DWAKAAMA_MODE_CLIENT=ON -DWAKAAMA_CLIENT_INITIATED_BOOTSTRAP=ON -DWAKAAMA_DATA_SENML_JSON=ON . 입력 후 빌드 성공


3. server와 client 연동 결과

profile
공부 기록

0개의 댓글