Skip to content

Mobius_v2.0.0_KR_Windows

IoTKETI edited this page Sep 11, 2018 · 6 revisions

Installation Guide for Mobius_v2.0.0 with Windows (Korean)

Mobius 서버 플랫폼 설치

설치 개요

Mobius Platform은 MySQL DBMS를 사용한다. 먼저 MySQL을 설치하고 MQTT Broker, NodeJS 설치 순으로 설치를 하면 Mobius 서버 구동을 위한 환경이 완성 되고 이후 Mobius 서버를 설치하여 플랫폼 구축을 완료한다.

2018-02-18 18:18

Mobius 구동환경 구축 (Windows)

MySQL 설치

Mobius는 데이터 저장 및 관리를 위해 MySQL DB를 기반으로 동작한다. 여기서는 오픈소스 RDBMS인 MySQL을 다운로드 받고 설치하는 방법에 대해 설명한다.

http://www.mysql.com

2018-02-18 22:02

2018-02-18 22:02

2018-02-18 22:02

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을 설치할 때 이 버전을 활용할 수 있다.

2018-02-18 22:02

로그인 화면이 나오면 회원가입을 하거나 아래에 있는 No thanks, just start my download 링크를 클릭해서 다운로드 받는다.

2018-02-18 22:02

MySQL 설치파일을 다운받아서 실행시켜보면 위와 같은 화면이 나오면 라이선스에 동의를 하고 Next 버튼을 누른다.

2018-02-18 22:02

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

2018-02-18 22:02

설치가 완료되었으면 Next

2018-02-18 22:02

MySQL 환경설정 작업을 위해 Next

2018-02-18 22:02

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

2018-02-18 22:02

루트암호(Root Password) 를 지정한다.

2018-02-18 22:02

윈도우 부팅시 MySQL 자동 실행 옵션을 설정 할 수 있는 화면으로 윈도우 서비스 이름 지정한다. Next

2018-02-18 22:02

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

2018-02-18 22:02

기타 환경설정을 위해 Next

2018-02-18 22:02

루트 ID와 암호를 입력하고 체크 후 계속 Next, Execute, Finish 버튼을 누른다.

2018-02-18 22:02

MySQL 설치가 완료되었다. 마지막 Finish 버튼을 누른다.

MQTT 서버 설치

Mobius Platform은 디바이스와의 통신을 위해 MQTT 프로토콜을 지원하고 있으며 이를 위해서 오픈소스로 제공되는 MQTT broker Mosquitto 서버를 설치한다.

http://mosquitto.org

위의 사이트에서 다운로드 받을 수 있다. MQTT 서버는 만약 MQTT를 지원하지 않는다면 설치를 하지 않아도 무방하다. 사이트에서 다운로드 메뉴를 누르고 Binary InstallationWindows 설치파일 ( mosquitto-1.4.3-install-win32.exe ) 을 선택하여 mosquito 설치파일을 다운로드 하여 설치한다. 현재 버전은 추가로 작업해야 하는 작업이 있는데 이에 대한 설치 방법은 “mosquitto 설치” 인터넷으로 검색하면 쉽게 찾을 수 있고 그대로 따라해서 설치할 수 있다. 본 문서는 추가 작업 없는 이전 버전을 설치하는 방법에 대해 설명한다.

2018-02-18 22:02

mosquitto 사이트의 download 사이트에서 Older downloads are available 을 선택한다.

2018-02-18 22:02

2018-02-18 22:02

2018-02-18 22:02

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

2018-02-18 22:02

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

2018-02-18 22:02

2018-02-18 22:02

설치가 완료되면 정상적으로 설치가 되었겠지만 아래와 같이 MQTT broker mosquito 서버의 정상 동작을 확인할 수 있다. 설치가 완료되면 윈도우 서비스로 등록한 mosquitto를 시작해 주어야 한다. 다음 그림과같이 윈도우 작업관리자를 열면 서비스 탭에서 mosquitto를 찾을 수 있다. 처음 설치된 후에 mosquitto는 중지됨으로 되어있을 것이고 마우스 오른쪽 버튼을 눌러 시작을 눌러 서비스를 시작할 수 있다.

2018-02-18 22:02

mosquitto가 제대로 설치되었는지 테스트하기 위해 명령 프롬프트를 실행시키고 아래와 같이 mosquito 서버가 설치된 폴더로 이동하여 다음의 명령어를 실행한다.

mosquitto_sub.exe -h localhost -t /mytopic/1

mosquitto_pub.exe -h localhost -t /mytopic/1 -m "Hello MQTT test"

2018-02-18 22:02

2018-02-18 22:02

Node JS 설치

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

2018-02-18 22:02

http://www.nodejs.org 페이지에서 Install 버튼을 누르면 OS에 맞는 인스톨러를 다운로드 해준다.

2018-02-18 22:02

다음으로 위와 같이 다운로드한 인스톨러를 실행한다. 디폴트Next 버튼 을 누르면 설치가 완료되고, 설치가 되었으면 설치된 디렉토리를 PATH 에 추가한다.

2018-02-18 22:02

Path를 선택 하고 아래와 같이 *C:\Program Files (x86)\nodejs* 를 추가하고 확인 버튼을 누른다.

2018-02-18 22:02

노드가 제대로 설치가 되었는지 확인한다. Node.js는 대화형 cli를 제공한다.

2018-02-18 22:02

위와 같이 실행이 되면 node.js가 제대로 설치가 된 것이다.

Mobius 설치

Mobius Platform은 GitHub를 통해 Mobius 서버 플랫폼 소스를 공개하고 있다. Mobius 서버 플랫폼 압축 파일을 다운로드 받은 후, 제공된 매뉴얼에 따라 Port 정보 등의 Configuration 정보를 설정한다.

다운로드 및 모듈 설치

Mobius 설치 파일은 OCEAN Alliance에서 제공하는 GitHub (https://github.com/IoTKETI/Mobius) 접속하여 아래와 같이 Mobius 서버 파일을 다운로드한다.

2018-02-18 22:02

다운로드한 파일을 적당한 곳에서 압축을 풀면 다음과 같이 node.js 버전의 Mobius 파일들을 볼 수 있다. Node.js는 별도의 컴파일 과정이 필요하지 않으므로 바로 압축을 푼 후 실행할 수 있다. 이전의 MySQL과 Node.js가 제대로 설치가 되어 있다면 Mobius에 사용된 node.js 모듈을 설치하면 별도의 작업없이 실행이 가능하다.

2018-02-18 22:02

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

2018-02-18 22:02

위와 같이 npm install 을 입력하고 엔터를 치면 아래와 같이 필요한 모듈들이 설치가 된다.

2018-02-18 22:02

2018-02-18 22:02

이렇게 설치가 되면 다음 그림과 같이 node_modules 폴더가 생긴 것을 볼 수 있다. 이제 모듈 설치가 끝났으니 다음과 같이 node mobius.js를 실행하면 Mobius 서버 플랫폼 설치가 완료된다.

mobiusdb 데이터베이스 생성

위의 Mobius 구동 개발환경에서 MySQL을 설치했으므로 MySQL Workbench가 설치가 되어 있을 것이다.

2018-02-18 22:02

MySQL Workbench를 실행하고 Connections 를 선택한다.

2018-02-18 22:02

MySQL을 설치할 때 설정한 암호를 입력하면 사용할 수 있다.

2018-02-18 22:02

Workbench는 GUI환경에서 MySQL을 다룰 수 있는 프로그램으로 SQL 쿼리를 날릴 수 있는 것은 물론 데이터베이스, 테이블 생성, Import, Export 등 다양한 MySQL 관리 작업을 할 수 있다.

** 데이터베이스 생성 **

2018-02-18 22:02

위의 그림처럼 SCHEMAS 빈 곳에서 마우스 오른쪽 버튼을 클릭 하면 뜨는 메뉴에서 Create Schema… 선택한다.

2018-02-18 22:02

스키마 생성 창이 뜨면 데이터베이스 이름을 mobiusdb 입력하고 Apply 버튼 을 누르면 데이터베이스가 생성된다.

2018-02-18 22:02

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

mobiusdb로 테이블 가져오기

Import할 Mobius DB 테이블에 대한 sql 파일은 앞서 다운로드한 Mobius가 설치된 폴더내의 mobius폴더에 위치해 있다.

2018-02-18 22:02

mobiusdb로 테이블을 가져오기 위해 Workbench의 Server 메뉴에서 Data Import 를 선택한다. Data Import 창에서 Import from Self-Contained File 을 선택하고 위의 그림에 있는 mobiusdb.sql 파일을 선택한다. 이후 Default Target Schema 로 앞서 만든 mobiusdb를 선택 하고 Start Import 를 누르면 다음 그림과 같이 Mobius에서 사용되는 테이블이 생성된다.

2018-02-18 22:02

2018-02-18 22:02

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


Mobius 서버 플랫폼 구동

Mobius 서버 설치까지 정상적으로 설치된 후 Mobius를 구동하기 전에 환경 설정을 해야 정상적으로 구동할 수 있다

환경설정

Mobius의 환경 설정은 conf.json 파일을 통해 설정을 변경할 수 있다.

2018-02-18 22:02

Mobius 구동 시 필요한 설정은 위와 같이 Mobius가 오픈하는 포트 번호와 환경구축 시 설치한 MySQL 데이터베이스 접근 암호를 설정해줘야 한다.

위의 정보를 구축하고자 하는 설정 정보로 업데이트를 한 후 아래와 같이 설치된 폴더에서 ‘node mobius.js’ 명령어를 실행하여 Mobius 서버 플랫폼을 구동할 수 있다.

2018-02-18 22:02

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

2018-02-18 22:02

mobius.js 서버의 정보 설정

o usecsetype: 서버 타입, Mobius는 IN-CSE로써 ‘in’으로 입력되어야 한다.

o usecsebase: Mobius에 대한 CSEBase 이름을 나타낸다. 디폴트로 Mobius로 되어 있다.

o usecseid: Mobius에 대한 cseid를 입력한다. cseid는 ‘/’로 시작하여야 하며, 디폴트로 csebase 이름 앞에 ‘/’를 붙여서 사용한다.

o usedbhost: DB 서버 주소, 디폴트로 localhost를 사용한다.

**o usemqttbroker: mqtt broker 호스트 주소, 디폴트로 localhost를 사용한다. **

테스트

리소스뷰어(oneM2M Browser) 활용

Mobius와 nCube를 통해 만들어진 디바이스가 제대로 동작하는지 테스트하기 위해 웹으로 제공하는 리소스뷰어를 사용할 수 있다. 리소스뷰어는 윈도우 파일 탐색기와 비슷하게 트리 구조의 리소스를 보여주고 리소스 생성, 삭제의 간단한 동작을 수행할 수 있다. 웹버전의 리소스뷰어는 아래의 url로 제공하고 있다.

http://203.253.128.161:7575

웹버전의 리소스뷰어 Mobius의 리소스만을 볼 수 있는 도구이고 다른 oneM2M 플랫폼의 구조를 볼 수 있는 버전은 OCEAN의 GitHub에 윈도우 응용 프로그램 버전의 oneM2M Browser로 제공하고 있다. 위의 주소로 접속하면 아래와 같이 리소스뷰어 홈페이지가 출력된다. 메뉴의 Sesource Monitor를 선택하거나 표시된 부분을 선택하면 리소스뷰어로 전환된다.

2018-02-18 18:18

아래와 같이 리소스뷰어가 보이면 표신된 부분에 Mobius에 생성된 리소스의 url을 입력하고 Strat 버튼을 누르면 해당 url의 리소스 구조를 볼 수 있다. url 부분의 처음은 콤보박스로 되어 있고 이전 Mobius와 Mobius release 2를 선택할 수 있다. 이후 부분은 직접 입력해야 하고 여기에 생성한 AE의 name을 입력하면 된다.

2018-02-18 18:18

Postman 활용

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

2018-02-18 18:18

2018-02-18 18:18

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

2018-02-18 18:18

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

2018-02-18 18:18

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

2018-02-18 18:18

그러면, {{mp_url}} 설정하는 방법은 아래와 같다.

2018-02-18 18:18

포스트맨 창에서 오른쪽 위에 보면 설정할 수 있는 리스트박스가 있고 이를 선택하면 그림과 같이 리스트 메뉴가 나온다. 이 때 Manage Environments 를 선택한다.

2018-02-18 18:18

설정 창이 나오면 Add 버튼을 눌러 아래와 같이 {{mp_url}} 값을 입력한다.

○ 설정에 대한 이름을 입력한다. (Mobius)

○ mp_url 이라고 입력한다.

○ 접속하고자 하는 서버 주소를 입력한다. (http://203.253.128.161:7579) 설정이 완료되면 Add 버튼을 눌러 추가하고 창을 닫는다.

2018-02-18 18:18

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