Post on 12-Feb-2018
1
OM2M
2014 10
(hwkang0621@gmail.com)
(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/