회사에서 임베디드 장치에 여러가지 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를 사용하였을것이다.
#기본 준비물
다른 팀원들은 Visual studio code 를 사용하거나 그랬었는데, 나는 Eclipse를 사용하였다.
예나 지금이나 JAVA개발 하면 IDE가 이것밖에 생각이 안난다.
거기에 추가로 Maven이 필요하다.
그러니, 기본적으로 설치해야 하는 것들은
- Eclipse
- JDK
- Maven
이다.
여기서 JDK는 oracle 것이 아닌 Open JDK를 사용하였다.
#세팅
eclipse, JDK, Maven 설치는 검색하면 많이 나온다.
그러니 Leshan 을 구동하는 방법에 대하여 중점적으로 설명하겠다.
Leshan github에서 소스를 가져온다.
나는 Git bash를 사용하여 가져왔다.
eclipse에서 File - Open Projects from File system 을 눌러 코드를 가져온다.
Directory를 눌러 clone받은 소스의 폴더를 연다.
Leshan 소스는 내부에 여러개의 파일로 구성되어 있기 때문에 메인 폴더인 Leshan에서 불러오면 전부 불러와진다.
Finish를 눌러 완료한다.
leshan [leshan master]에서 우클릭을 하여 Run as - Maven install 을 하면 자동으로 컴파일을 해준다.
그러면 leshan demo에 실행파일이 생성이 된다.
이제 정상적으로 돌아가는지 확인을 해보자.
leshan-server-demo 와 leshan-client-demo를 각각 우클릭하여 Run as - java Application을 누르면 각 어플리케이션이 실행된다.
정상적으로 실행되었으면 다음과 같이 나온다.
실행이 정상적으로 됐으면 이제 UI를 통하여 동작을 확인해보자.
인터넷 창에 127.0.0.1:8080 으로 접속하면 server demo의 UI를 볼 수 있다.
Client가 접속되어 있으면 화면에 나타나고, 클릭하여 Client에 있는 Object 들을 확인할 수 있다.
만약 Connected Clients: 0 으로 나와있으면 client가 정상동작하지 않는 것이다.
여기까지 됐으면 Leshan의 기본 동작 확인이 완료되었다.
이제 xml파일을 추가하고, java파일을 추가하여 새로운 Object를 넣으면 된다.
'LWM2M' 카테고리의 다른 글
Leshan LWM2M - CoAP Ping (0) | 2020.10.10 |
---|---|
Leshan LWM2M - Object 생성 (0) | 2020.08.21 |
Leshan LWM2M - Object xml 작성 (0) | 2020.08.19 |