본문 바로가기

LWM2M

(4)
Leshan LWM2M - CoAP Ping LWM2M은 CoAP을 이용하여 통신을 한다. 전에 글에도 쓴 것 처럼 Leshan은 Californium 이라는 CoAP Open source를 사용한다. CoAP 기반 통신만을 사용하려면 Californium core만 사용하면 쉽게 사용할 수 있다. 대부분의 기능은 Leshan에서 제공하는 기능을 사용하면 구현이 된다. 그래도 간혹 필요한 기능을 구현하기 위하여 CoAP core도 건들 필요가 있다. Ping test 기능 구현이 그 중 하나였다. #Ping test 임베디드 장치에서 Ping을 넣어달라는 요청은 항상 있다. 서버 입장에서는 데이터가 안온다면 장치와 네트워크 연결이 되어있는지, 속도는 얼마나 나오는지 궁금하기 때문이다. 이를 위해 규격서에는 항상 Ping test 항목이 포함되어 있..
Leshan LWM2M - Object 생성 지난 게시글에서 LWM2M xml에 대하여 설명하였다. 이번에는 Leshan에서 만든 xml파일의 Object를 생성하는 작업을 하도록 하자. 새로 class를 생성하여 작성하여도 되지만, 시간도 오래걸리고 할 작업도 많다. 그래서 demo class를 수정하여 사용하였다. #leshan client demo LeshanClientDemo.java 파일에 xml을 등록하고, 그 xml을 동작시킬 클래스를 등록해야 한다. 테스트를 위하여 example 이라는 Object를 1000.xml 로 만들었다. 먼저, xml model을 불러올 경로를 지정한다. 이미 기본적으로 /models 폴더를 불러오는 Path가 있지만, 하나 더 등록하였다. 그리고 경로 안에서 불러올 xml 파일명을 선언해준다. 파일을 선언..
Leshan LWM2M - Object xml 작성 Leshan을 실행해보았다면 이제 안에 들어갈 Object를 추가해야 한다. Object를 추가하기 위해서는 xml 파일을 작성하여 넣어주고, 소스에서 불러와 사용한다. 예제로 작성된 xml 코드들이 demo 파일 안에 이미 들어있다. 파일의 위치는 leshan - leshan-client-demo - src - main - resources - models 이다. OMA에서 제공하는 Object를 수정하고 싶다면 leshan-core 에 있는 Object를 수정하여야한다. OMA규격 Object의 경로는 leshan - leshan-core - src - main - java - resources - models 이다. OMA Object가 있는 xml 파일은 OMA 홈페이지에서 다운받을 수 있다. O..
Leshan LWM2M 회사에서 임베디드 장치에 여러가지 LWM2M 소스를 포팅했었다. 실제로 0부터 구현하진 않았고, 보통 Open Source나 기존에 구현된 코드들을 사용하였다. 그 중, 가장 많이 만졌었던 소스는 Leshan 이라는 LWM2M source이다. Leshan은 JAVA로 구현된 LWM2M Server, Client 이다. Californium CoAP 을 사용하였고, Scandium DTLS를 가지고 있다. 원래 나의 주 언어는 C/C++ 이지만, 최근에는 회사의 어플리케이션을 모듈화하기 위하여 Linux에 JAVA를 이용하기로 하였다. 거기에 서버와 통신을 위한 프로토콜을 넣기 위하여 LWM2M을 사용하였다. C/C++을 사용하였다면 Wakaama나 awa를 사용하였을것이다. #기본 준비물 다른 팀원들은..