오픈소스 기반
oneM2M 응용 솔루션 구축 방법
2017.07.20
Korea Electronics Technology Institute
정 승 명 선임
목 차
01 oneM2M 표준과 OCEAN 오픈소스
02 OCEAN 활용 IoT 서비스 구축 방법
03 IoT 서비스 구축 예제
oneM2M 표준과 OCEAN 오픈소스
01
oneM2M 표준과 OCEAN 오픈소스01
OCEAN 오픈 소스 요약
▪ oneM2M core protocol and interworking protocol
▪ Legacy interworking support
▪ Developer tools
RESTAPI
RESTAPI
Data upload Data retrieve
Control requestSend command
&Cube
Things IoT Device platform IoT Server Platform IoT Application
ThingAdaptationSoftware(TAS)
oneM2MTester and oneM2MBowser
oneM2M 표준 플랫폼 및 연동 지원
oneM2M 표준과 OCEAN 오픈소스01
왜 oneM2M인가?
▪ 한국 (TTA), 일본 (TTC/ARIB), 중국 (CCSE), 유럽 (ETSI), 북미 (ATIS/TIA), 인도 (TSDSI) 표준개발단체
글로벌 협력 프로젝트  상호 호환성 확보를 위한 글로벌 IoT 플랫폼 표준
▪ 서비스 도메인에 종속되지 않는 범용 플랫폼으로 서비스 확장 용이, 앱 개발자는 서비스 로직에
집중  IoT 공통 서비스 기능 제공하는 미들웨어
oneM2M 표준과 OCEAN 오픈소스01
OCEAN으로 oneM2M 이해하기
oneM2M
Cloud
oneM2M
Gateway
oneM2M
Device
(Rich)
oneM2M
Device
(Lightweight)
oneM2M
Gateway
oneM2M
Device
(Rich)
oneM2M
Device
(Lightweight)
&Cube: Rosemary
&Cube: Lavender
&Cube: Thyme
&Cube: Thyme
LwM2M
Thing Adaptation Software (TAS)
OCEAN 활용 IoT 서비스 구축 방법
02
OCEAN 활용 IoT 서비스 구축 방법
서비스 구축 모델 1
▪ oneM2M 게이트웨이 (Middle Node) 활용 서비스 구축
- 로컬에서 데이터 수집, 처리, 공유
- 연동 기술로 non-oneM2M 디바이스 활용
▪ oneM2M 디바이스 (Application Service Node) 활용 서비스 구축
- Edge computing
02
Gateway
(MN-CSE)
Cloud
(IN-CSE)
Data Processing
Application Gateway
(MN-CSE)
Cloud
(IN-CSE)
TAS
OCF IPE
OCEAN 활용 IoT 서비스 구축 방법
서비스 구축 모델 2
▪ oneM2M 경량 디바이스 (Application Dedicated Node) 활용 서비스 구축
- 필드에서 데이터 수집하여 바로 클라우드로 전송
- 클라우드 어플리케이션에서 디바이스 직접 제어
02
G/W
parking sensor
user and manager apps
Cloud
(IN-CSE)
TAS
Light weight
Device
(ADN-AE)
OCEAN 활용 IoT 서비스 구축 방법
서비스 구축 모델 3
▪ 종래 구축된 서비스 통합한 oneM2M 솔루션 구축
- 기존 서비스 서버에 oneM2M 인터페이스 적용하여 oneM2M 클라우드와 연동
- 기존 서비스 서버는 필드에서 생성한 데이터를 처리하여 oneM2M 클라우드에 저장
02
Data Processing
Application Gateway
(MN-CSE)
Cloud
(IN-CSE)
Proprietary
Service
Server (IN-AE)
store processed
service data
read raw data from
field domain
consume service data
OCEAN 활용 IoT 서비스 구축 방법
예제1: 센싱 및 제어 서비스
02
ScenarioConfigurationTool
&Cube:Thyme for
Arduino
Arduino Board
H/W S/W
Server or PC
Smart Socket
TAS:Temp&SocketTemp. Sensor PC or Android Phone
APP (Monitoring & Control)
oneM2MBrowser
MOBIUS
Sensing
Control
OCEAN 활용 IoT 서비스 구축 방법
예제2: 센싱 및 Edge 데이터 처리 서비스
02
ScenarioConfigurationTool
H/W S/W
oneM2MBrowser
Processing
Room Condition
&Cube:Lavender
Raspberry Pi
MOBIUS
Server or PC
Humid. Sensor
TAS:Temp &
Humid
Temp. Sensor PC or Android Phone
APP (Monitoring & Control)
APP: Processing
oneM2MBrowser
OCEAN 활용 IoT 서비스 구축 방법
예제3: Rule 기반 자동 기기 제어 서비스
02
ScenarioConfigurationTool
H/W S/W
oneM2MBrowseroneM2MBrowser
Gateway
Processing
Temperature
Humidity
Room Condition
&Status
control
Room Condition
-> Rule based control
&Cube:Rosemary
Raspberry Pi
MOBIUS
Server or PC PC or Android Phone
APP: Monitoring & Control
APP: Processing
Arduino
Smart
Socket
TAS:Temp &
Humid & Socket
Humid.
Sensor
APP: Rule Engine
Temp.
Sensor
Monitoring & Control
&Cube:Thyme for
Arduino
OCEAN 활용 IoT 서비스 구축 방법
예제4: OCF / LwM2M 기기 연동 서비스
02
ScenarioConfigurationTool
H/W S/W
oneM2MBrowser
&Cube:Rosemary
Raspberry Pi
MOBIUS
Server or PC
Temp. Sensor TAS: Humid. &
Temp.
Humid. Sensor
PC or Android Phone
APP: Monitoring, Control &
Device Management
APP: Rule Engine
oneM2MBrowser
IPE
Processing
Room Condition
-> Rule based control
Room Condition
&Status
Temp &
Humidity
control
Monitoring, Control, Device Management
Air Conditioner
Refrigerator IPE: OCF
Gateway
Control & Device Management
IoT 서비스 구축 예제
03
IoT 서비스 구축 예제03
스마트 파킹 서비스 (1/3)
▪ IoT 디바이스 및 게이트웨이 확보
▪ 서비스 시나리오 정의
▪ 서비스 아키텍처 설계
G/W
parking sensor
user and manager apps
Cloud
(IN-CSE)
LoRa IPE
IoT 서비스 구축 예제03
스마트 파킹 서비스 (2/3)
▪ 서비스/데이터 흐름 설계
- oneM2M 플랫폼에 저장할 리소스 구조 설계
Cloud
(IN-CSE)
LoRa IPE
Parking Application
(IN-AE)
<appEUI>
<sensor>
mobius
<msg>
up
<msg>
down
<appEUI>
upMsgSub
parking sensor collection
another sensor collection
01
011 0111
01111
downMsgSub
01121
0112
01122
<spot>
<onParking>
status
annotation
availableSpotNum
<contentInstance> child
resources get created to store
the new status values
<contentInstance> child resources
get created to store the new
availableSpotNumber values
onStreetParking
parkingSpot
collection resource for
all parkingSpots
collection resource for
all onStreetParkings
<status>
<availSpot>
mobius
iotParking
<sub>
02
021
022
0211
02111
0221
02211
0212
022111
021111
info
<contentInstance> child
resources get created to
store the updated meta
information<info>
02112
021121
info
<info>
02212
022121
<contentInstance> child
resources get created to
store the updated meta
information
<sub>
IoT 서비스 구축 예제03
스마트 파킹 서비스 (3/3)
▪ oneM2M API 테스트, 서비스 구현 및 테스트
oneM2MTester 및 oneM2MBowser
API 검증 스크립트
<spot>
status
annotation
<contentInstance>child
resources get created to store
the new status values
parkingSpot
collectionresource
for all parkingSpots
<status>
mobius-yt
iotParking
<sub>
02
021
0211
02111
0212
021111
info
<contentInstance>child
resources get created to
store the updated meta
information<info>
02112
021121
<sub>
IoT 서비스 구축 예제03
스마트 홈 솔루션 추가 구축하기
▪ OCF 디바이스 연동 oneM2M 스마트 홈 서비스
▪ 기존 구축된 oneM2M 클라우드 서버 활용
▪ oneM2M 클라우드에 저장된 파킹 서비스 데이터 활용한 매시업 가능
Cloud
(IN-CSE)
LoRa IPE
Parking Service
Application
(IN-AE)
Gateway
(MN-CSE)
OCF IPE
Smart Home
Application
(IN-AE)
Car & Home
Application
(IN-AE)
결론
▪ OCEAN 오픈소스 활용 oneM2M 표준 기반 솔루션
- 글로벌 상호 호환성 보장 (No vendor lock-in)
- 저비용, 단기간 서비스 확장 가능
- 공통 서비스 플랫폼으로 매시업 서비스 가능
▪ 손쉬운 글로벌 표준 기반 솔루션 구현
- 표준 규격을 이해하고 구축하기는 힘들다  표준 플랫폼 오픈소스 및 개발 툴 지원
- 구축한 솔루션을 검증하기 또한 힘들다  표준 적합성 검증 툴 지원
감사합니다!
정 승 명 선임
sm.jeong@keti.re.kr

How to build oneM2M application solution based on open source

  • 1.
    오픈소스 기반 oneM2M 응용솔루션 구축 방법 2017.07.20 Korea Electronics Technology Institute 정 승 명 선임
  • 2.
    목 차 01 oneM2M표준과 OCEAN 오픈소스 02 OCEAN 활용 IoT 서비스 구축 방법 03 IoT 서비스 구축 예제
  • 3.
    oneM2M 표준과 OCEAN오픈소스 01
  • 4.
    oneM2M 표준과 OCEAN오픈소스01 OCEAN 오픈 소스 요약 ▪ oneM2M core protocol and interworking protocol ▪ Legacy interworking support ▪ Developer tools RESTAPI RESTAPI Data upload Data retrieve Control requestSend command &Cube Things IoT Device platform IoT Server Platform IoT Application ThingAdaptationSoftware(TAS) oneM2MTester and oneM2MBowser oneM2M 표준 플랫폼 및 연동 지원
  • 5.
    oneM2M 표준과 OCEAN오픈소스01 왜 oneM2M인가? ▪ 한국 (TTA), 일본 (TTC/ARIB), 중국 (CCSE), 유럽 (ETSI), 북미 (ATIS/TIA), 인도 (TSDSI) 표준개발단체 글로벌 협력 프로젝트  상호 호환성 확보를 위한 글로벌 IoT 플랫폼 표준 ▪ 서비스 도메인에 종속되지 않는 범용 플랫폼으로 서비스 확장 용이, 앱 개발자는 서비스 로직에 집중  IoT 공통 서비스 기능 제공하는 미들웨어
  • 6.
    oneM2M 표준과 OCEAN오픈소스01 OCEAN으로 oneM2M 이해하기 oneM2M Cloud oneM2M Gateway oneM2M Device (Rich) oneM2M Device (Lightweight) oneM2M Gateway oneM2M Device (Rich) oneM2M Device (Lightweight) &Cube: Rosemary &Cube: Lavender &Cube: Thyme &Cube: Thyme LwM2M Thing Adaptation Software (TAS)
  • 7.
    OCEAN 활용 IoT서비스 구축 방법 02
  • 8.
    OCEAN 활용 IoT서비스 구축 방법 서비스 구축 모델 1 ▪ oneM2M 게이트웨이 (Middle Node) 활용 서비스 구축 - 로컬에서 데이터 수집, 처리, 공유 - 연동 기술로 non-oneM2M 디바이스 활용 ▪ oneM2M 디바이스 (Application Service Node) 활용 서비스 구축 - Edge computing 02 Gateway (MN-CSE) Cloud (IN-CSE) Data Processing Application Gateway (MN-CSE) Cloud (IN-CSE) TAS OCF IPE
  • 9.
    OCEAN 활용 IoT서비스 구축 방법 서비스 구축 모델 2 ▪ oneM2M 경량 디바이스 (Application Dedicated Node) 활용 서비스 구축 - 필드에서 데이터 수집하여 바로 클라우드로 전송 - 클라우드 어플리케이션에서 디바이스 직접 제어 02 G/W parking sensor user and manager apps Cloud (IN-CSE) TAS Light weight Device (ADN-AE)
  • 10.
    OCEAN 활용 IoT서비스 구축 방법 서비스 구축 모델 3 ▪ 종래 구축된 서비스 통합한 oneM2M 솔루션 구축 - 기존 서비스 서버에 oneM2M 인터페이스 적용하여 oneM2M 클라우드와 연동 - 기존 서비스 서버는 필드에서 생성한 데이터를 처리하여 oneM2M 클라우드에 저장 02 Data Processing Application Gateway (MN-CSE) Cloud (IN-CSE) Proprietary Service Server (IN-AE) store processed service data read raw data from field domain consume service data
  • 11.
    OCEAN 활용 IoT서비스 구축 방법 예제1: 센싱 및 제어 서비스 02 ScenarioConfigurationTool &Cube:Thyme for Arduino Arduino Board H/W S/W Server or PC Smart Socket TAS:Temp&SocketTemp. Sensor PC or Android Phone APP (Monitoring & Control) oneM2MBrowser MOBIUS Sensing Control
  • 12.
    OCEAN 활용 IoT서비스 구축 방법 예제2: 센싱 및 Edge 데이터 처리 서비스 02 ScenarioConfigurationTool H/W S/W oneM2MBrowser Processing Room Condition &Cube:Lavender Raspberry Pi MOBIUS Server or PC Humid. Sensor TAS:Temp & Humid Temp. Sensor PC or Android Phone APP (Monitoring & Control) APP: Processing oneM2MBrowser
  • 13.
    OCEAN 활용 IoT서비스 구축 방법 예제3: Rule 기반 자동 기기 제어 서비스 02 ScenarioConfigurationTool H/W S/W oneM2MBrowseroneM2MBrowser Gateway Processing Temperature Humidity Room Condition &Status control Room Condition -> Rule based control &Cube:Rosemary Raspberry Pi MOBIUS Server or PC PC or Android Phone APP: Monitoring & Control APP: Processing Arduino Smart Socket TAS:Temp & Humid & Socket Humid. Sensor APP: Rule Engine Temp. Sensor Monitoring & Control &Cube:Thyme for Arduino
  • 14.
    OCEAN 활용 IoT서비스 구축 방법 예제4: OCF / LwM2M 기기 연동 서비스 02 ScenarioConfigurationTool H/W S/W oneM2MBrowser &Cube:Rosemary Raspberry Pi MOBIUS Server or PC Temp. Sensor TAS: Humid. & Temp. Humid. Sensor PC or Android Phone APP: Monitoring, Control & Device Management APP: Rule Engine oneM2MBrowser IPE Processing Room Condition -> Rule based control Room Condition &Status Temp & Humidity control Monitoring, Control, Device Management Air Conditioner Refrigerator IPE: OCF Gateway Control & Device Management
  • 15.
  • 16.
    IoT 서비스 구축예제03 스마트 파킹 서비스 (1/3) ▪ IoT 디바이스 및 게이트웨이 확보 ▪ 서비스 시나리오 정의 ▪ 서비스 아키텍처 설계 G/W parking sensor user and manager apps Cloud (IN-CSE) LoRa IPE
  • 17.
    IoT 서비스 구축예제03 스마트 파킹 서비스 (2/3) ▪ 서비스/데이터 흐름 설계 - oneM2M 플랫폼에 저장할 리소스 구조 설계 Cloud (IN-CSE) LoRa IPE Parking Application (IN-AE) <appEUI> <sensor> mobius <msg> up <msg> down <appEUI> upMsgSub parking sensor collection another sensor collection 01 011 0111 01111 downMsgSub 01121 0112 01122 <spot> <onParking> status annotation availableSpotNum <contentInstance> child resources get created to store the new status values <contentInstance> child resources get created to store the new availableSpotNumber values onStreetParking parkingSpot collection resource for all parkingSpots collection resource for all onStreetParkings <status> <availSpot> mobius iotParking <sub> 02 021 022 0211 02111 0221 02211 0212 022111 021111 info <contentInstance> child resources get created to store the updated meta information<info> 02112 021121 info <info> 02212 022121 <contentInstance> child resources get created to store the updated meta information <sub>
  • 18.
    IoT 서비스 구축예제03 스마트 파킹 서비스 (3/3) ▪ oneM2M API 테스트, 서비스 구현 및 테스트 oneM2MTester 및 oneM2MBowser API 검증 스크립트 <spot> status annotation <contentInstance>child resources get created to store the new status values parkingSpot collectionresource for all parkingSpots <status> mobius-yt iotParking <sub> 02 021 0211 02111 0212 021111 info <contentInstance>child resources get created to store the updated meta information<info> 02112 021121 <sub>
  • 19.
    IoT 서비스 구축예제03 스마트 홈 솔루션 추가 구축하기 ▪ OCF 디바이스 연동 oneM2M 스마트 홈 서비스 ▪ 기존 구축된 oneM2M 클라우드 서버 활용 ▪ oneM2M 클라우드에 저장된 파킹 서비스 데이터 활용한 매시업 가능 Cloud (IN-CSE) LoRa IPE Parking Service Application (IN-AE) Gateway (MN-CSE) OCF IPE Smart Home Application (IN-AE) Car & Home Application (IN-AE)
  • 20.
    결론 ▪ OCEAN 오픈소스활용 oneM2M 표준 기반 솔루션 - 글로벌 상호 호환성 보장 (No vendor lock-in) - 저비용, 단기간 서비스 확장 가능 - 공통 서비스 플랫폼으로 매시업 서비스 가능 ▪ 손쉬운 글로벌 표준 기반 솔루션 구현 - 표준 규격을 이해하고 구축하기는 힘들다  표준 플랫폼 오픈소스 및 개발 툴 지원 - 구축한 솔루션을 검증하기 또한 힘들다  표준 적합성 검증 툴 지원
  • 21.
    감사합니다! 정 승 명선임 sm.jeong@keti.re.kr