OM2M 오픈 소스 설치 가이드 -...

download OM2M 오픈 소스 설치 가이드 - protocol.knu.ac.krprotocol.knu.ac.kr/tech/CPL-TR-14-03-OM2M.pdf · 1 OM2M 오픈 소스 설치 가이드 2014년 10월 경북대학교 통신프로토콜연구실

If you can't read please download the document

Transcript of OM2M 오픈 소스 설치 가이드 -...

  • 1

    OM2M

    2014 10

    ([email protected])

    (Internet of Things IoT) . IoT IoT . eclipse OM2M .

    1. .......................................................................................................................... 3

    2. OM2M ...................................................................................................................... 3

    2.1 OM2M DOWNLOAD .............................................................................................. 4 2.1.1 Get OM2M binaries ................................................................................... 4 2.1.2 Build OM2M from source code ................................................................. 4

    2.2 OM2M CONFIGURATION ....................................................................................... 6 2.2.1 NSCL configure ......................................................................................... 6 2.2.2 GSCL configure ......................................................................................... 6

    2.3 OM2M STARTING ................................................................................................. 7 2.3.1 NSCL startup ............................................................................................. 7 2.3.2 GSCL startup ............................................................................................. 8

    2.4 OM2M WEB INTERFACE ...................................................................................... 10 2.4.1 Start the sample plugin ........................................................................... 10 2.4.2 Application resources .............................................................................. 11 2.4.3 Container resources................................................................................. 12 2.4.4 Remote control lamps .............................................................................. 12 2.4.5 Groups resources ..................................................................................... 13 2.4.6 Remote control group of lamps ............................................................... 13

  • 2

    2.5 REST API .......................................................................................................... 14 2.5.1 Install a rest client ................................................................................... 14 2.5.2 Retrieve a resource .................................................................................. 15 2.5.3 Discover resources based on their search strings ................................. 15 2.5.4 Create a MY_SENSOR application ....................................................... 16 2.5.5 Create a DESCRIPTOR container .......................................................... 17 2.5.6 Create a description contentInstance .................................................... 18 2.5.7 Create a DATA container ........................................................................ 19 2.5.8 Create a data contentInstance ................................................................ 20 2.5.9 Subscribe to MY_SENSOR data .............................................................. 21

    3. ......................................................................................................................... 22

    ......................................................................................................................... 22

  • 3

    1.

    . . Google , SK Telecom, KT, LG U+ .

    Open Source Platform (Eclipse) OM2M Ubuntu 14.04 .

    2. OM2M

    LAAS-CNRS OM2M Eclipse Technology Project Open Source Project. OM2M M2M (Machine to Machine) RESTful API , Plugin OSGi (Open Service Gateway initiative) layer . HTTP CoAP multiple protocol binding . OM2M ETSI M2M . OM2M 1 . OM2M project .

    Figure 1 OM2M architecture

  • 4

    2.1 OM2M Download

    OM2M eclipse.org/om2m OM2M . OM2M . OM2M binary source code .

    2.1.1 Get OM2M binaries

    , OM2M binary ( OM2M.rar) . , . NSCL GSCL products . NSCL GSCL windows start.bat, linux start.sh . OM2M JAVA 1.7 . JAVA 1.7 , .

    2.1.2 Build OM2M from source code

    , source OM2M . OM2M source code repository .

    http://git.eclipse.org/gitroot/om2m/org.eclipse.om2m.git.

    OM2M source code OM2M git repository source code . ( command )

    git clone http://git.eclipse.org/gitroot/om2m/org.eclipse.om2m.git

    library . OM2M om2m-libs.rar .

    db4o-core-java5-8.1-SNAPSHOT.jar library org.eclipse.om2m.core\libs .

    obix.jar library org.eclipse.om2m.commons\libs .

    xsd org.eclipse.om2m.commons\src\main\resources .

    OM2M Apache Maven 3 . Maven 3 .

    1. Remove old version

    sudo apt-get remove maven2

  • 5

    2. Add following lines to sources.list

    sudo add-apt-repository deb http://ppa.launchpad.net/natecarlson/maven3/ubuntu precise main

    3. Update Repository and Install

    sudo apt-get update

    sudo apt-get install maven3

    4. Add Symbolic Link

    sudo ln s /usr/share/maven3/bin/mvn /usr/bin/mvn

    5. Remove PPA from sources.list

    Remove Repository via Software Center and Update

    Figure 2. Software & Updates ppa

    sudo apt-get update

    Maven3 org.eclipse.om2m . command OM2M .

    mvn clean install

    , products .

    om2m/org.eclipse.om2m/org.eclipse.om2m.site.nscl/target/products/nscl/// NSCL product .

    om2m/org.eclipse.om2m/org.eclipse.om2m.site.nscl/target/products/gscl/// GSCL product .

  • 6

    2.2 OM2M Configuration

    2.2.1 NSCL configure

    NSCL product configuration/config.ini NSCL . parameter . (OM2M .)

    Figure 3. NSCL configuration

    2.2.2 GSCL configure

    GSCL product configuration/config.ini NSCL . parameter .

    Figure 4. GSCL configuration

    GSCL configuration GSCL remote NSCL 4 parameter . parameter .

    Figure 5. Additional parameters in GSCL

    machine GSCL NSCL , identifier GSCL .

  • 7

    2.3 OM2M Starting

    2.3.1 NSCL startup

    , OM2M Java 1.7 . NSCL NSCL product . JVM NSCL . java jar ea Declipse.ignoreApp=true Dosgi.clean=true Ddebug=true

    plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar console noExit

    Figure 6. NSCL

    NSCL , console OSGi . ss

    . Exit NSCL .

    Figure 7. NSCL OSGi console

  • 8

    8 127.0.0.1:8080 NSCL web interface . Web interface User name password admin .

    Figure 8. NSCL web interface: authentication

    9 NSCL web interface . Web interface NSCL Resource Tree .

    Figure 9. NSCL web interface: NSCL sclBase resource

    2.3.2 GSCL startup

    GSCL NSCL GSCL product NSCL command . GSCL 10 .

    Figure 10. GSCL

  • 9

    GSCL NSCL ss . GSCL gateway configuration remote NSCL . NSCL , GSCL ( 10 ). , gscl resource nscl/scls collection ,

    nscl recource gscl/scls collection . NSCL resource GSCL resource NSCL web interface nscl/scls/gsci uri ( 11 ).

    Figure 11. NSCL web interface: remote gscl resource

    12 GSCL web interface . 13 GSCL resource tree .

    Figure 12.NSCL web interface: gscl sclBase resource

  • 10

    2.4 OM2M Web Interface

    2.4.1 Start the sample plugin

    GSCL OSGi console ss 13 plugin . 13 org.eclipse.om2m.ipu.sample plugin (id = 26 in figure 13) .

    Figure 13. OSGi consolem: Start the lamps sample IPU

    14 start 26 command sample plugin . 15

    lamps sample .

    Figure 14. Sample Plugin Execution

  • 11

    Figure 15. GUI: Lamps Sample

    Sample Plugin Switch .

    2.4.2 Application resources

    NSCL web interface GSCL resource tree applications resource 16 application . LAMP_0, LAMP_1 lamp 0, 1 application resource. LAMP_ALL lamp 0, 1 application resource.

    Figure 16. Web interface: The applications resource

  • 12

    2.4.3 Container resources

    LAMP_0 container 17 . DESCRIPTOR lamp description . Data lamp data .

    Figure 17. Web interface: The LAMP_0 description resource

    getState lamp GSCL database . getState(Direct) lamp . switchON, switchOFF, toggle lamp .

    2.4.4 Remote control lamps

    GUI LSCL web interface 18 lamp .

    Figure 18. GUI: LAMP_0 switched ON

  • 13

    2.4.5 Groups resources

    Group broadcast gscl base resource groups resource . ON_ALL group lamp ON . OFF_ALL group lamp OFF . 17 groups ON_ALL resource . LAMP_0, LAMP_1 ON member attribute request URI value .

    Figure 19. Web interface: The ON_ALL group resource

    2.4.6 Remote control group of lamps

    membersContent resource request , GSCL group member lamp broadcast . 20 switchAllON, switchAllOFF LAMP_0, LAMP_1 ON/OFF . 21 java GUI Switch ALL group control .

  • 14

    Figure 20. Web interface: The LAMP_ALL description resource

    Figure 21. GUI: All lamps are switched ON

    2.5 REST API

    2.5.1 Install a rest client

    2.5 REST client HTTP request (GET, POST, UPDATE, DELETE) OM2M platform . Chrome Client REST Simple app . Chrome Client REST Simple URL .

    https://chrome.google.com/webstore/detail/simple-rest-client/fhjcajmcbmldlhcimfajhfbgofnpcjmb

  • 15

    OM2M username/password base64 encode Basic Authorization header . www.base64encode.org base64 . (ex. Base64(admin:admin) = YWRtaW46YWRtaW4=) 26 chrome Simple REST Client .

    Figure 22. Simple REST Client

    2.5.2 Retrieve a resource

    23 HTTP request Resource . 24 .

    Figure 23. Retrieve a resource: HTTP request

    Figure 24.Retrieve a resource: HTTP response

    2.5.3 Discover resources based on their search strings

    Search string resource discovery resource .

  • 16

    Figure 25. Discover resource based on search strings

    2.5.4 Create a MY_SENSOR application

    26 HTTP gateway application MY_SENSOR parameter . 27 MY_SENSOR Web interface .

    Figure 26. Create a MY_SENSOR application

  • 17

    Figure 27. Create a MY_SENSOR: Web interface

    2.5.5 Create a DESCRIPTOR container

    28 HTTP DESCRIPTOR container resource parameter MY_SENSOR application .

    Figure 28. Create a DESCRIPTOR container

  • 18

    29 web interface .

    Figure 29. Create a DESCRIPTOR: Web interface

    2.5.6 Create a description contentInstance

    30 HTTP DESCRIPTOR container description content instance resource parameter .

    Figure 30. Create a description contentInstance

  • 19

    31 contentInstance Web interface .

    Figure 31. Create a descriptor contentInstance: Web interface

    2.5.7 Create a DATA container

    32 HTTP MY_SENSOR application DATA container resource parameter .

    Figure 32. Create a DATA container

  • 20

    33 web interface DATA container .

    Figure 33. Create a DATA container: Web interface

    2.5.8 Create a data contentInstance

    34 HTTP DATA application data content instance resource parameter . 35 content instance web interface . getValue sensor data .

    Figure 34. Create a data contentInstance

  • 21

    Figure 35. Create a data contentInstance and getValue

    2.5.9 Subscribe to MY_SENSOR data

    OM2M project Monitor server sample . command .

    java jar monitor.jar Monitor listening port context config.properties .

    Default port = 1400, context = /monitor. 36 monitor .

    Figure 36. monitor

  • 22

    37 HTTP request subscription resource parameter MY_SENSOR application .

    Figure 37. Create a subscription resource

    subscription resource web interface .

    Figure 38. Create a subscription resource: Web interface

    3.

    Eclipse Open Source Platform OM2M Ubuntu 14.04 . OM2M M2M RESTful API , , , , (Container) , , . HTTP CoAP Zigbee Phidgets , IoT .

    [1] OM2M project, http://eclipse.org/om2m/