Installation Guide Mobius V2.0.0 KR
Installation%20Guide%20Mobius_v2.0.0_KR_Windows
Installation%20Guide%20Mobius_Server_v2.0.0_KR
User Manual:
Open the PDF directly: View PDF
.
Page Count: 47

Mobius Release 2
Software Version: 2.0.0
Installation Guide v2.0.0
Document Release Date: July 2017
Software Release Date: July 2017

Installation Guide Mobius
2
저작권 및 면책조항
본 매뉴얼은 기술상의 부정확함 또는 글자상의 오류를 포함하고 있으며, 저자는 여기에
관한 어떠한 책임도 지지 않습니다.
본 매뉴얼의 내용은 정기적으로 변경 또는 추가 될 수 있으며, 그에 따른 변경본은 본
매뉴얼에 “New Edition”의 형태로 순차적으로 추가될 것입니다. 사전 공지 없이 언제든지
본 매뉴얼에 기재된 제품 및 프로그램을 변경 또는 수정할 수 있습니다.
Mobius 서버 플랫폼 소스코드는 하기의 라이선스 정책에 따라 배포됩니다.
- OCEAN 기반 오픈 소스코드는 3-clause BSD-style 라이센스를 기반으로 배포한다.
3-clause BSD-style 라이센스에 따라, 소스코드 파일에 저작권 헤더를 유지하는
동안 OCEAN 기반 오픈 소스 코드는 상업용 또는 비상업용 시스템에 자유롭게
사용할 수 있다.
- OCEAN 기반 오픈 소스 라이센스는 개발된 소스코드를 다른 사람과 공유하는 것
을 요구하지는 않는다. OCEAN기반 오픈 소스를 활용하여 개발한 소스코드는 개
발자의 것이고 누구와 공유할 의무는 없다.
- 누구나 OCEAN의 오픈 소스 발전에 공헌할 수 있다. 그러나, 개발된 소스코드가
OCEAN에 공헌되기를 원한다면 이 코드는 OCEAN의 라이센스 정책을 따르도록
요구된다.

Installation Guide Mobius
3
Copyright (c) 2017, OCEAN
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and
the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
3. The name of the author may not be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

Installation Guide Mobius
4
목 차
1. Mobius 소개 .................................................................................................................................................... 5
1.1. Mobius 란? ................................................................................................................................................. 5
1.2. Mobius 플랫폼 ........................................................................................................................................ 6
1.2.1. Mobius 서버 플랫폼 개요 ......................................................................................................... 6
1.2.2. Mobius 서버 플랫폼 주요 기능 .............................................................................................. 7
1.2.3. Mobius 서버 플랫폼 구성 ......................................................................................................... 7
1.2.4. Mobius 서버 플랫폼 S/W 아키텍처 ..................................................................................... 8
1.2.5. Mobius 서버 디렉토리 구조..................................................................................................... 9
2. Mobius 서버 플랫폼 설치 ...................................................................................................................... 13
2.1. 설치 개요 ................................................................................................................................................ 13
2.2. Mobius 구동환경 구축 (Windows) ............................................................................................. 13
2.2.1. MySQL 설치 .................................................................................................................................. 14
2.2.2. MQTT 서버 설치 ......................................................................................................................... 22
2.2.3. Node JS 설치 ................................................................................................................................ 26
2.3. Mobius 설치 .......................................................................................................................................... 29
2.3.1. 다운로드 및 모듈 설치 ............................................................................................................ 29
2.3.2. mobiusdb 데이터베이스 생성 .............................................................................................. 31
3. Mobius 서버 플랫폼 구동 ...................................................................................................................... 37
3.1. 환경설정................................................................................................................................................... 37
3.2. 테스트 ....................................................................................................................................................... 39
3.2.1. 리소스뷰어(oneM2M Browser) 활용 .................................................................................. 39
3.2.2. Postman 활용 ............................................................................................................................... 41

Installation Guide Mobius
5
1. Mobius 소개
1.1. Mobius란?
Mobius 플랫폼은 oneM2M 국제 표준을 기반으로 IoT(Internet of Things) 서비스 제공을
위해 다양한 IoT Device 정보를 관리하고, 이들 IoT Device의 접근 제어, 인증, 사용자 관
리, 복수의 IoT 서비스 조합을 제공하여 어플리케이션을 통해 서비스하기 위한 플랫폼이
다.
Figure 1 oneM2M 기반 Mobius 플랫폼 개념도
Mobius 플랫폼은 IoT 디바이스와 연동하기 위해 다음 그림과 같이 REST API (http, mqtt,
coap, websocket)를 통해 연동된다.

Installation Guide Mobius
6
Figure 2 Mobius 와 IoT 디바이스 연동
Mobius 플랫폼은 리소스를 생성하면 자동으로 해당 리소스를 접근할 수 있는 API가 자
동으로 생성되며 이를 위한 인터페이스로 REST API인 OPEN API를 제공한다.
1.2. Mobius 플랫폼
1.2.1.
Mobius 서버 플랫폼 개요
Mobius Platform은 물리적 기반인 통신 수단을 사용하여 인터넷에 연결된 사물들이 원
활하게 작동하도록 관리하고 사물들의 데이터를 저장하는 서버 소프트웨어 플랫폼으로
일종의 미들웨어라고 말할 수 있다. Mobius Server Platform은 디바이스와 어플리케이션
의 통신 연결을 쉽고 편리하게 하며, 개방형 개발 환경에서 누구든지 IoT 서비스를 만들
어서 사용할 수 있는 생태계를 구축할 수 있도록 지원한다.
Figure 3 Mobius Platform 개요

Installation Guide Mobius
7
Mobius는 node js 를 사용하여 JavaScript 언어로 개발된 Mobius 서버 플랫폼으로 국제
표준인 oneM2M 표준에 따라 개발되었다. Mobius 개발은 node js의 express framework
을 사용하지 않고 express 모듈을 사용하여 개발되었고, http, mqtt, express 등 다양한
node js 모듈을 사용하고 있다.
Mobius Platform은 oneM2M 표준을 준수하여 Http, MQTT, COAP, WebSocket 프로토콜과
Open API를 제공한다. oneM2M 표준에 따라 모비우스의 데이터 구조는 계층적인 리소스
구조를 가지고 있으며, 기본적으로 REST API 방식을 제공합니다. Mobius Platform은 Http
Open API를 위한 Http 서버와 MQTT 지원을 위한 MQTT 서버, COAP을 위한 COAP 서
버, WebSocket 지원을 위한 WebSocket 서버로 구성되어 있으며, 리소스 저장을 위한
DB는 MySQL DBMS를 사용한다.
1.2.2.
Mobius 서버 플랫폼 주요 기능
Mobius Platform은 디바이스와 어플리케이션을 연결하는 중간 매개체로써 디바이스는
서버 플랫폼으로 데이터를 전송하고, 플랫폼은 데이터를 저장한다. 어플리케이션은 Open
API를 통해 플랫폼에 저장된 데이터를 조회하고 플랫폼으로 제어 요청을 전송한다. 플랫
폼은 설정된 디바이스에 따라 어플리케이션의 제어요청을 다시 디바이스로 전달한다.
Figure 4 Mobius 서버 플랫폼 주요 기능
1.2.3.
Mobius 서버 플랫폼 구성
Mobius Platform은 디바이스와 어플리케이션을 연결하며, 디바이스와의 연결을 위해
HTTP, CoAP, MQTT, WebSocket 프로토콜을 지원하며, 리소스 저장을 위한 DB는 MySQL을
사용하여 구성된다

Installation Guide Mobius
8
Figure 5 Mobius 서버 플랫폼 시스템 구성
1.2.4.
Mobius 서버 플랫폼 S/W 아키텍처
Mobius는 Node JS를 기반으로 JavaScript 언어로 개발되었다. DB는 MySQL을 지원하고
있으며 통신 프로토콜은 HTTP, MQTT, CoAP, WebSocket을 지원한다. 아래는 Mobius의 소
프트웨어 아키텍처를 나타낸다.
Figure 6 Mobius S/W 아키텍처
위의 Mobius SW 아키텍처는 컴포넌트 개념의 기능 아키텍처를 나타낸다. Mobius 플랫

Installation Guide Mobius
9
폼은 기본적으로 http 서버를 중심으로 MQTT Broker, COAP Server, WebSocket Server가
구축된다. 위의 그림처럼 MQTT의 경우 내부적으로 MQTT HTTP로 변환하는 proxy를
구현하여 MQTT를 지원하고 있고 COAP과 WebSocket도 같은 구조로 구현되어 있다.
Mobius는 requester와 responder크게 두부분으로 구성되고 requester는 DB 엑세스를 위
한 컴포넌트를 포함하고 있다. 모든 HTTP request 요청은 requestor 컴포넌트로 전달되
고 parser – actor를 거쳐 실제 데이터베이스에 데이터를 엑세스하는 sql문을 만들고 db
connector를 통해 데이터를 생성하거나 조회, 검색을 수행한다. DB 데이터 엑세스 결과
가 나오면 request에 대한 응답으로 xml, json, cbor의 데이터 포맷을 결정하고
responder에 의해 처리된다.
Mobius는 윈도우 파일 탐색기와 같은 트리 형태의 리소스 체계를 가지고 이를 지원하고
있다. 리소스 체계는 파일 탐색기의 폴더를 접근하는 것처럼 각 Resource는 Resource 를
접근할 수 있는 URI와 그대로 매핑된다. 예를 들어 IN-CSE 밑에, AE 밑에, container 밑의
데이터를 접근하는 URL은 아래와 같다.
http://hostname:port/IN-CSE_name/AE_name/container_name/contentInstance_name
이처럼 모든 리소스는 위와 같은 방법으로 접근할 수 있으며 POST, GET, PUT, DELETE
http method를 통해 생성, 조회, 업데이트, 삭제 동작을 수행할 수 있다. (OCEAN의 API
문서 참조)
Container 밑에 container를 생성할 수 있고 현재 URL의 깊이는 제한하고 있지 않다.
1.2.5.
Mobius 서버 디렉토리 구조
다음 그림은 Mobius 플랫폼의 디렉토리 구조를 나타낸다.

Installation Guide Mobius
10
Mobius 폴더 구조는 크게 mobius 폴더와 mobius.js, app.js, pxy_mqtt.js, pxy_coap.js,
pxy_ws.js, wdt.js, conf.json, package.json, openssl key files로 구성된다. mobius 폴더에는
다시 여러 개의 소스 파일로 구성되어 있고 이중에서 특정 역할을 수행하는 db_action.js,
fopt.js, resource.js, responder.js, security.js, sgn.js, sql_action.js, ts_agent.js 소스 파일과 단
순 리소스 관련 기능을 수행하는 소스파일로 구성되어 있다. 각 파일에 대한 구체적 기
능 및 역할은 아래 표와 같다.

Installation Guide Mobius
11
소스 파일
기능 및 역할
mobius.js
mobius를 실행하는 파일로써 Mobius 구동을 위한 설정 값들을
수정할 수 있다. 이 파일을 통해 Mobius의 메인 코드를 로드한
다.
app.js
Mobius의 main 역할을 수행하는 파일로 Mobius로 들어오는 모
든 패킷은 이 파일에서 제일 처음 처리한다. 이 파일에서 http
서버를 실행하고 Listen 하고 대기 한다. 이후 패킷이 들어오면
패킷의 타겟 url을 파싱하고 패킷의 body를 분석하여 정상적인
패킷인지 아닌지를 판단하고, 정상적인 패킷으로 판단되면 해당
동작을 수행하는 resource.js로 전달한다. 오류 패킷일 경우
responder.js를 통해 오류를 리턴한다.
이 파일에서 http 서버는 서버가 실행될 때 서버 성능을 개선하
기 위해 클러스터링을 통해 서버를 실행하도록 구현한 것이다.
pxy_mqtt.js
이 파일은 mqtt to http binding 하는 파일로써 mqtt 관련 데이
터를 처리하는 파일이다. 시작될 때 mobius 정보를 가져와서
oneM2M mqtt topic을 만들고 subscribe한다. 이후 mqtt로 데이
터가 수신되면 이를 http 패킷으로 만들어서 Mobius로 전달하고
response을 받으면 이를 다시 mqtt 패킷으로 만들어 mqtt
response 한다.
pxy_coap.js
이 파일은 coap to http binding 하는 파일로써 coap 데이터를
처리하는 파일이다. 시작될 때 coap 서버를 생성하고 이후 coap
데이터가 수신되면 이를 http 패킷으로 만들어서 Mobius로 전달
하고 response을 받으면 이를 다시 coap 패킷으로 만들어 coap
으로 response 한다.
pxy_ws.js
이 파일은 websocket to http binding 하는 파일로써 websocket
데이터를 처리하는 파일이다. 시작될 때 websocket 서버를 생성
하고 이후 websocket 데이터가 수신되면 이를 http 패킷으로 변
환해서 Mobius로 전달하고 Mobius로부터 response을 받으면 이
를 다시 websocket 패킷으로 만들어 websocket으로 response
한다.
wdt.js
모비우스 자체 watchdogtimer로 구축한 것이고, 모비우스 자체
타이머로 사용된다.

Installation Guide Mobius
12
mobius/resource.js
이 파일은 mobius가 지원하는 모든 리소스에 대해 create,
retrieve, update, delete, notify, discovery를 수행하는 코어 파일
이다. app.js에서 검증된 url, body에 대해 해당되는 method에 따
라 내부적으로 처리하는 포맷으로 변환하고 실제 데이터베이스
연동작업을 수행한다. 데이터 베이스 동작은 db_action.js와
sql_action.js를 통해 수행된다.
mobius/responder.js
이 파일은 요청받은 request 패킷에 대해 app.js, resource.js 에
의해 처리된 결과를 response 하는 역할을 수행한다. response
할 때 응답할 데이터를 json, xml 포맷에 맞게 변형한 후
response 한다.
mobius/db_action.js
실제 데이터베이스와 연결하고 데이터베이스에 접근하여 결과를
리턴하는 함수를 포함하는 파일이다.
mobius/sql_action.js
이 파일은 데이터베이스를 Mobius 동작에 필요한 데이터를 얻
기위한 sql문을 만들고 이를 db_action.js의 함수를 통해 데이터
베데이터부터 데이터를 리턴받아 전달하는 역할을 수행한다.
mobius/sgn.js
이 파일은 타겟 리소스에 subscription이 차일드로 존재하는지
체크하고 subscription이 존재하면 해당 이벤트를 체크하고
subscription의 notificationUri attribute 정보를 바탕으로 request
메시지를 만들어 전송하는 (notification 전송) 역할을 수행한다.
mobius/security.js
이 파일은 타겟 리소스에 대한 accessControlPolicy를 체킹하여
request 요청에 대해 reject를 할 것인지 허용할 것인지를 판단한
다. request 패킷의 X-M2M-Origin 헤더에 포함되어 있는 id 값을
가지고 타겟 리소스에 연결되어 있는 accessControlPolicy 리소스
를 확인하여 이 id에 접근 권한이 있는지 확인한다.
mobius/fopt.js
group 리소스에 대한 fanOutPoint 리소스에 대한 처리를 담당한
다. fanOutPoint 리소스는 virtual 리소스로써 group 리소스에 포
함된 멤버들 모두에게 요청받은 패킷을 전달하고 그 결과를 모
아서 요청자에게 response 한다.
mobius/ts_agent.js
이 파일은 timeSeriesInstance 리소스를 관리하는 역할로써
timeSeriesInstance 중에서 missing 되는 데이터들을 주기적으로
모니터링하여 missing 데이터들을 저장한다.
mobius/acp.js
accessControlPolicy 리소스 파일 – 접근제어 관련 리소스
mobius/ae.js
AE 리소스 파일
mobius/cb.js
CSEBase 리소스 파일 - Mobius 자신의 정보를 가진다.
mobius/cin.js
contentInstance 리소스 파일 – 실제 데이터가 여기에 저장된다.

Installation Guide Mobius
13
mobius/cnt.js
container 리소스 파일
mobius/csr.js
remoteCSE 리소스 파일
mobius/grp.js
group 리소스 파일
mobius/lcp.js
locationPolicy 리소스 파일
mobius/mms.js
multimediaSession 리소스 파일
mobius/sd.js
semanticDescriptor 리소스 파일
mobius/sub.js
subscription 리소스 파일
mobius/ts.js
timeSeries 리소스 파일
mobius/tsi.js
timeSeriesInstance 리소스 파일
mobius/req.js
request 리소스 파일 – nonblocking 기능 지원
mobius/nod.js
node 리소스 파일
mobius/mgo.js
mgmtObj 리소스 파일
2. Mobius 서버 플랫폼 설치
2.1. 설치 개요
Mobius Platform은 MySQL DBMS를 사용한다. 먼저 MySQL을 설치하고 MQTT Broker,
NodeJS 설치 순으로 설치를 하면 Mobius 서버 구동을 위한 환경이 완성 되고 이후
Mobius 서버를 설치하여 플랫폼 구축을 완료한다.
Figure 7 Mobius 서버 플랫폼 설치 개요
2.2. Mobius 구동환경 구축 (Windows)

Installation Guide Mobius
15
http://dev.mysql.com/downloads/mysql
MySQL에 들어가 보면 MySQL의 다양한 버전이 있는데 위 링크를 클릭해서 들어가면 무
료로 사용할 수 있는 GPL버전인 MySQL Community Server를 다운받을 수 있다. 여기서
는 윈도우에 MySQL을 설치하기 위해 Windows (x86, 64-bit), MySQL Installer MSI라고 적
힌 Download 버튼을 클릭한다. (MySQL에는 MySQL Enterprise Edition이나 MySQL
Cluster CGE처럼 유로로 사용해야 하는(commercial) 것도 있으니 참고하길 바란다.)
웹 설치가 아닌, 설치파일 전부를 다운로드 받아 설치하기 위해서는 Zip Archive 다운로
드 버튼을 클릭한다. 이 버전은 웹 설치가 어려운 곳에서 MySQL을 설치할 때 이 버전을
활용할 수 있다.

Installation Guide Mobius
16
로그인 화면이 나오면 회원가입을 하거나 아래에 있는 No thanks, just start my
download 링크를 클릭해서 다운로드 받는다.
MySQL 설치파일을 다운받아서 실행시켜보면 위와 같은 화면이 나오면 라이선스에 동의
를 하고 Next 버튼을 누른다.

Installation Guide Mobius
17
설치 스타일에는 Developer Default, Server only, Client only, Full, Custom 이렇게 5가지가
있는데, Mobius를 위해서는 MySQL Server와 MySQL Workbench가 필요하다. 여기서
Custom을 선택하고 Next 버튼을 누르면서 설치를 진행한다.
설치가 완료되었으면 Next

Installation Guide Mobius
18
MySQL 환경설정 작업을 위해 Next
환경설정 타입에는 Development Machine, Server Machine, Dedicated Machine이 있는데
필요한 것을 선택하면 되고 여기서는 개발자라고 가정하고 Development Machine을 선
택한다. Next

Installation Guide Mobius
19
루트암호(Root Password)를 지정한다.
윈도우 부팅시 MySQL 자동 실행 옵션을 설정 할 수 있는 화면으로 윈도우 서비스 이름
지정한다. Next

Installation Guide Mobius
20
Execute를 누르고 MySQL Server 환경설정이 제대로 설정된 것을 확인하고 Finish를 누른
다.

Installation Guide Mobius
21
기타 환경설정을 위해 Next.
루트 ID와 암호를 입력하고 체크 후 계속 Next, Execute, Finish 버튼을 누른다.

Installation Guide Mobius
22
MySQL 설치가 완료되었다. 마지막 Finish 버튼을 누른다.
2.2.2.
MQTT 서버 설치
Mobius Platform은 디바이스와의 통신을 위해 MQTT 프로토콜을 지원하고 있으며 이를
위해서 오픈소스로 제공되는 MQTT broker Mosquitto 서버를 설치한다.
http://mosquitto.org
위의 사이트에서 다운로드 받을 수 있다. MQTT 서버는 만약 MQTT를 지원하지 않는다
면 설치를 하지 않아도 무방하다.
사이트에서 다운로드 메뉴를 누르고 Binary Installation 의 Windows 설치파일
( mosquitto-1.4.3-install-win32.exe )을 선택하여 mosquito 설치파일을 다운로드 하여 설
치한다. 현재 버전은 추가로 작업해야 하는 작업이 있는데 이에 대한 설치 방법은
“mosquitto 설치” 인터넷으로 검색하면 쉽게 찾을 수 있고 그대로 따라해서 설치할 수
있다. 본 문서는 추가 작업 없는 이전 버전을 설치하는 방법에 대해 설명한다.
mosquitto 사이트의 download 사이트에서 Older downloads are available 을 선택한다.

Installation Guide Mobius
23
파일 목록이 보이면 표시된 순서대로 클릭하여 다운로드 하면 mosquitto mqtt broker를
설치할 수 있다.
다운로드한 설치파일을 실행하면 다음과 같이 설치가 진행된다.

Installation Guide Mobius
24
설치 중에 아래의 그림처럼 윈도우 서비스로 mosquito 서버를 시작하는 옵션이 나오는
데 아래와 같이 디폴트로 두고 Next를 누른다. 설치 후 별도의 작업 없이 윈도우 서비스
로 등록되어 mosquito 서버가 자동을 시작되는 옵션이다.

Installation Guide Mobius
25
설치가 완료되면 정상적으로 설치가 되었겠지만 아래와 같이 MQTT broker mosquito 서
버의 정상 동작을 확인할 수 있다.
설치가 완료되면 윈도우 서비스로 등록한 mosquitto를 시작해 주어야 한다. 다음 그림과
같이 윈도우 작업관리자를 열면 서비스 탭에서 mosquitto를 찾을 수 있다.
처음 설치된 후에 mosquitto는 중지됨으로 되어있을 것이고 마우스 오른쪽 버튼을 눌러
시작을 눌러 서비스를 시작할 수 있다.
mosquitto가 제대로 설치되었는지 테스트하기 위해 명령 프롬프트를 실행시키고 아래와
같이 mosquito 서버가 설치된 폴더로 이동하여 다음의 명령어를 실행한다.

Installation Guide Mobius
26
mosquitto_sub.exe -h localhost -t /mytopic/1
mosquitto_pub.exe -h localhost -t /mytopic/1 -m "Hello MQTT test"
2.2.3.
Node JS 설치
node.js는 고성능의 비동기 IO (Async/Non-blocking IO)를 지원하는 single thread 기반 네
트워크 서버이다. 2009년 Ryan Dahl에 의해 개발이 시작되었고 현재 수많은 지원 모듈을
가지고 있는 오픈 소스 프로젝트 중 하나이다. Node.js는 Google Chrome V8 엔진으로 개
발되어 있고 Event 기반의 프로그래밍 모델로써 프로그래밍 언어로는 Java script를 사용
한다. 근래에 들어서 많은 인터넷 기업들이 node.js를 도입하고 있다.

Installation Guide Mobius
28
Path를 선택하고 아래와 같이 C:\Program Files (x86)\nodejs\ 를 추가하고 확인 버튼을
누른다.
노드가 제대로 설치가 되었는지 확인한다. Node.js는 대화형 cli를 제공한다.
위와 같이 실행이 되면 node.js가 제대로 설치가 된 것이다.

Installation Guide Mobius
29
2.3. Mobius 설치
Mobius Platform은 GitHub를 통해 Mobius 서버 플랫폼 소스를 공개하고 있다. Mobius
서버 플랫폼 압축 파일을 다운로드 받은 후, 제공된 매뉴얼에 따라 Port 정보 등의
Configuration 정보를 설정한다.
2.3.1.
다운로드 및 모듈 설치
Mobius 설치 파일은 OCEAN Alliance에서 제공하는 GitHub
(https://github.com/IoTKETI/Mobius) 접속하여 아래와 같이Mobius 서버 파일을 다운로드
한다.
다운로드한 파일을 적당한 곳에서 압축을 풀면 다음과 같이 node.js 버전의 Mobius 파
일들을 볼 수 있다. Node.js는 별도의 컴파일 과정이 필요하지 않으므로 바로 압축을 푼
후 실행할 수 있다. 이전의 MySQL과 Node.js가 제대로 설치가 되어 있다면 Mobius에
사용된 node.js 모듈을 설치하면 별도의 작업없이 실행이 가능하다.

Installation Guide Mobius
30
mobius.js가 Mobius의 메인 코드를 실행하는 파
일이다. app.js는 대문역할과 라우팅 역할을 수행
하는 메인 코드이다. mobius 폴더에 있는 파일
들이 실제 패킷을 처리하고 DB 엑세스와 응답
을 수행하는 코드들이다.
현재는 추가적인 node.js 모듈들이 설치가 되어
있지 않아 에러가 날 것이다. 다음과 같이 명령
프롬프트를 실행시키고 npm 툴을 이용해 필요
한 모듈을 설치해야 한다. package.json 파일에
필요한 모듈 리스트를 가지고 있다.
위와 같이 npm install 을 입력하고 엔터를 치면 아래와 같이 필요한 모듈들이 설치가 된
다.

Installation Guide Mobius
31
이렇게 설치가 되면 다음 그림과 같이 node_modules 폴
더가 생긴 것을 볼 수 있다.
이제 모듈 설치가 끝났으니 다음과 같이 node mobius.js
를 실행하면 Mobius 서버 플랫폼 설치가 완료된다.
2.3.2.
mobiusdb 데이터베이스 생성
위의 Mobius 구동 개발환경에서 MySQL을 설치했으므로 MySQL Workbench가 설치가
되어 있을 것이다.
MySQL Workbench를 실행하고 Connections를 선택한다.

Installation Guide Mobius
32
MySQL을 설치할 때 설정한 암호를 입력하면 사용할 수 있다.
Workbench는 GUI환경에서 MySQL을 다룰 수 있는 프로그램으로 SQL 쿼리를 날릴 수
있는 것은 물론 데이터베이스, 테이블 생성, Import, Export 등 다양한 MySQL 관리 작업
을 할 수 있다.
- 데이터베이스 생성

Installation Guide Mobius
33
위의 그림처럼 SCHEMAS 빈 곳에서 마우스 오른쪽 버튼을 클릭하면 뜨는 메뉴에서
“Create Schema…” 선택한다.
스키마 생성 창이 뜨면 데이터베이스 이름을 “mobiusdb” 입력하고 Apply 버튼을 누르면
데이터베이스가 생성된다.

Installation Guide Mobius
34
“mobiusdb” 데이터가 생성이 되면 위의 그림과 같이 왼쪽 창에 데이터베이스가 생성됨
을 확인할 수 있고 마우스 오른쪽 버튼을 눌러 Set as Default Schema로 설정을 해 준다.

Installation Guide Mobius
35
- mobiusdb로 테이블 가져오기
Import할 Mobius DB 테이블에 대한 sql 파일은 앞서 다운로드한 Mobius가 설치된 폴더
내의 mobius폴더에 위치해 있다.
mobiusdb로 테이블을 가져오기 위해 Workbench의 Server 메뉴에서 Data Import 를 선
택한다. Data Import 창에서 Import from Self-Contained File을 선택하고 위의 그림에 있
는 mobiusdb.sql 파일을 선택한다. 이후 Default Target Schema 로 앞서 만든 mobiusdb
를 선택하고 Start Import를 누르면 다음 그림과 같이 Mobius에서 사용되는 테이블이 생

Installation Guide Mobius
36
성된다.
Data Import를 수행한 후에는 테이블이 보이지 않으면 위에 있는 새로고침 아이콘을 클
릭해야 Import 된 테이블들을 볼 수 있다.

Installation Guide Mobius
37
3. Mobius 서버 플랫폼 구동
Mobius 서버 설치까지 정상적으로 설치된 후 Mobius를 구동하기 전에 환경 설정을 해
야 정상적으로 구동할 수 있다.
3.1. 환경설정
Mobius의 환경 설정은 conf.json 파일을 통해 설정을 변경할 수 있다.
Mobius 구동 시 필요한 설정은 위와 같이 Mobius가 오픈하는 포트 번호와 환경구축 시
설치한 MySQL 데이터베이스 접근 암호를 설정해줘야 한다.
위의 정보를 구축하고자 하는 설정 정보로 업데이트를 한 후 아래와 같이 설치된 폴더에
서 ‘node mobius.js’ 명령어를 실행하여 Mobius 서버 플랫폼을 구동할 수 있다.

Installation Guide Mobius
38
추가적으로 설정을 변경하고 싶다면 직접 소스를 변경하여야 한다. 추가적인 설정변경은
mobius.js 파일을 통해 이루어 진다. mobius.js 파일에 보면 다음과 같다.

Installation Guide Mobius
39
3.2. 테스트
3.2.1.
리소스뷰어(oneM2M Browser) 활용
Mobius와 nCube를 통해 만들어진 디바이스가 제대로 동작하는지 테스트하기 위해 웹으
로 제공하는 리소스뷰어를 사용할 수 있다. 리소스뷰어는 윈도우 파일 탐색기와 비슷하
게 트리 구조의 리소스를 보여주고 리소스 생성, 삭제의 간단한 동작을 수행할 수 있다.
웹버전의 리소스뷰어는 아래의 url로 제공하고 있다.
http://203.253.128.161:7575
웹버전의 리소스뷰어 Mobius의 리소스만을 볼 수 있는 도구이고 다른 oneM2M 플랫폼
의 구조를 볼 수 있는 버전은 OCEAN의 GitHub에 윈도우 응용 프로그램 버전의
oneM2M Browser로 제공하고 있다.
mobius.js 서버의 정보 설정
o usecsetype: 서버 타입, Mobius 는 IN-CSE 로써 ‘in’으로 입력되어야 한다.
o usecsebase: Mobius 에 대한 CSEBase 이름을 나타낸다. 디폴트로 mobius-
yt 로 되어 있다.
o usecseid: Mobius 에 대한 cseid 를 입력한다. cseid 는 ‘/’로 시작하여야
하며, 디폴트로 csebase 이름 앞에 ‘/’를 붙여서 사용한다.
o usedbhost: DB 서버 주소, 디폴트로 localhost 를 사용한다.
o usemqttbroker: mqtt broker 호스트 주소, 디폴트로 localhost 를 사용한다.

Installation Guide Mobius
40
위의 주소로 접속하면 아래와 같이 리소스뷰어 홈페이지가 출력된다. 메뉴의 Sesource
Monitor를 선택하거나 표시된 부분을 선택하면 리소스뷰어로 전환된다.
아래와 같이 리소스뷰어가 보이면 표신된 부분에 Mobius에 생성된 리소스의 url을 입력
하고 Strat 버튼을 누르면 해당 url의 리소스 구조를 볼 수 있다. url 부분의 처음은 콤보
박스로 되어 있고 이전 Mobius와 Mobius release 2를 선택할 수 있다. 이후 부분은 직접
입력해야 하고 여기에 생성한 AE의 name을 입력하면 된다.

Installation Guide Mobius
41
3.2.2.
Postman 활용
크롬 확장 프로그램인 Postman을 활용하여 직접 구축한 Mobius를 동작을 테스트 할 수
있다.
아래와 같이 크롬 브라우저에서 설정 메뉴를 선택하고 설정화면의 확장 프로그램 탭에서
“더 많은 확장 프로그램 다운로드”를 선택한다. 검색란에 “postman rest client”를 입력하
고 Postman을 찾아 설치할 수 있다.

Installation Guide Mobius
42
Postman을 설치하면 아래와 같이 실행이 된다. Mobius 테스트를 위해 OCEAN에서 미리
만들어 둔 스크립트를 다운받아 Import 한다. Import 하는 방법은 그림과 같이
Collections 탭을 선택하고 바로 오른쪽 위에 Import 메뉴를 선택한다. Import를 위한 창
이 열리면 Upload files 탭의 파일 선택을 눌러 OCEAN에서 다운로드 받은 스크립트 파
일을 선택하고 import 한다.

Installation Guide Mobius
43
Import가 성공하면 아래 그림처럼 왼쪽에 Mobius-yt-release1 이라는 콜렉션 탭이 생성
이 될 것이다. 이 테스트 스크립트는 현재 지원되는 리소스의 CRUD를 할 수 있도록 정
리를 해 둔 것이고 xml 데이터 포맷으로 테스트 할 수 있도록 설정되어 있다.
②
①
③

Installation Guide Mobius
44
테스트를 위해 직접 구축한 서버 정보를 입력해야 하는데 아래 그림과 같이 주소창에서
{{mp_url}} 값을 설정해 주어야 한다. {{mp_url}} 대신에 http://(직접구축한서버주소):포트번
호를 입력하여 사용할 수 있다.

Installation Guide Mobius
45
그러면, {{mp_url}} 설정하는 방법은 아래와 같다.
포스트맨 창에서 오른쪽 위에 보면 설정할 수 있는 리스트박스가 있고 이를 선택하면 그
림과 같이 리스트 메뉴가 나온다. 이 때 Manage Environments 를 선택한다.

Installation Guide Mobius
47
다시 포스트맨 창으로 돌아와서 리스트 박스에서 방금 추가한 설정을 선택하면
이후 매번 주소를 입력할 필요없이 배포한 스크립트를 사용할 수 있다.
1
2
3


