Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
OM2M/Starting
< OM2M
Revision as of 04:38, 4 April 2015 by Benalaya.sensinov.com (Talk | contribs) (→Gateway (GSCL) configuration)
Contents
Prerequisites
- JAVA 1.7 or later is required to run OM2M.
Configuration
Server (NSCL) configuration
- Go to the NSCL product directory: "om2m/org.eclipse.om2m/org.eclipse.om2m.site.nscl/target/products/nscl/<os>/<ws>/<arch>".
- Edit the file “configuration/config.ini” to configure the NSCL. (You can keep the current configuration for a local demo)
Parameter | Description | Example |
---|---|---|
org.eclipse.om2m.sclType | SCL type | NSCL |
org.eclipse.om2m.sclBaseAddress | NSCL ip address | 127.0.0.1 |
org.eclipse.equinox.http.jetty.http.port | NSCL HTTP listening port | 8080 |
org.eclipse.om2m.coap.port | NSCL CoAP listening port | 5683 |
org.eclipse.om2m.sclBaseContext | NSCL listening context | /om2m |
org.eclipse.om2m.dbDriver | NSCL Database driver | org.h2.Driver |
org.eclipse.om2m.dbUrl | NSCL Database file location | jdbc:h2:./database/nscdb |
org.eclipse.om2m.dbUser | NSCL Database user name | om2m |
org.eclipse.om2m.dbPassword | NSCL Database password | om2m |
org.eclipse.om2m.dbReset | NSCL Database reset when starting | true |
org.eclipse.om2m.sclBaseId | NSCL SclBase resource id | nscl |
org.eclipse.om2m.sclBaseProtocol.default | NSCL Default communication protocol | http |
org.eclipse.om2m.maxNrOfInstances | Maximum number of content instances in a Container | 1000 |
org.eclipse.om2m.adminRequestingEntity | NSCL Default admin requesting entity. (username / password) | admin:admin |
org.eclipse.om2m.guestRequestingEntity | NSCL Default guest requesting entity. (username / password) | guest:guest |
Gateway (GSCL) configuration
- Go to the GSCL product directory: "om2m/org.eclipse.om2m/org.eclipse.om2m.site.gscl/target/products/gscl/<os>/<ws>/<arch>".
- Edit the file “configuration/config.ini” to configure the GSCL. (You can keep the current configuration for a local demo)
Parameter | Description | Example |
---|---|---|
org.eclipse.om2m.sclType | SCL type | GSCL |
org.eclipse.om2m.sclBaseAddress | GSCL ip address | 127.0.0.1 |
org.eclipse.equinox.http.jetty.http.port | GSCL listening port | 8181 |
org.eclipse.om2m.coap.port | GSCL CoAP listening port | 5684 |
org.eclipse.om2m.sclBaseContext | GSCL listening context | /om2m |
org.eclipse.om2m.dbDriver | GSCL Database driver | org.h2.Driver |
org.eclipse.om2m.dbUrl | GSCL Database file location | jdbc:h2:./database/gscldb |
org.eclipse.om2m.dbUser | GSCL Database user name | om2m |
org.eclipse.om2m.dbPassword | GSCL Database password | om2m |
org.eclipse.om2m.dbReset | GSCL Database reset when starting | true |
org.eclipse.om2m.sclBaseId | GSCL SclBase resource id | gscl |
org.eclipse.om2m.sclBaseProtocol.default | GSCL default communication protocol | http |
org.eclipse.om2m.maxNrOfInstances | Maximum number of content instances in a Container | 1000 |
org.eclipse.om2m.adminRequestingEntity | Default GSCL admin requesting entity. (username / password) | admin:admin |
org.eclipse.om2m.guestRequestingEntity | Default GSCL guest requesting entity. (username / password) | guest:guest |
- The GSCL configuration file contains 5 additional parameters to specify the remote NSCL to which the GSCL should be authenticated.
Parameter | Description | Example |
---|---|---|
org.eclipse.om2m.nsclAuthentication | Authenticate GSCL to NSCL | true |
org.eclipse.om2m.remoteNsclId | Remote NSCL Id | nscl |
org.eclipse.om2m.remoteNsclAddress | Remote NSCL ip address | 127.0.0.1 |
org.eclipse.om2m.remoteNsclPort | Remote NSCL listening port | 8080 |
org.eclipse.om2m.remoteNsclContext | Remote NSCL listening context | /om2m |
- You can configure GSCL and NSCL to work on distributed machines.
- You can configure multiple GSCLs by setting different identifiers.
Startup
NSCL startup
- Go to the NSCL product directory: "om2m/org.eclipse.om2m/org.eclipse.om2m.site.nscl/target/products/nscl/<os>/<ws>/<arch>".
- Start the NSCL by executing the "start.bat" script on windows or "start.sh" on Linux and Mac OS.
- Once the NSCL is started, you will see an OSGi console. You can type “ss” to report a summary status of all installed bundles. Type "exit" to shutdown.
- Open your browser and connect to the address "127.0.0.1:8080" to access the NSCL web interface.
- Enter username "admin" and password "admin" then click on login button to display the NSCL resource tree.
- After a successful authentication, the NSCL resource will be displayed. You can see the "nscl" SclBase sub-resources and attributes.
- You can disconnect by clicking on the "Logout" button.
GSCL startup
- Go to the GSCL product directory: "om2m/org.eclipse.om2m/org.eclipse.om2m.site.gscl/target/products/gscl/<os>/<ws>/arch>".
- Start the GSCL by executing the "start.bat" script on windows or "start.sh" on Linux and Mac OS.
- Once the GSCL is started, you will see an OSGi console. You can type “ss” to report a summary status of all installed bundles.
- The GSCL automatically authenticate to the remote NSCL specified in the gateway configuration file. If the NSCL is not already running, the GSCL keep sending authentication requests (A request each 10 seconds).
- After a successful authentication, the “gscl” resource is added to the “nscl/scls” collection, and respectively the “nscl” resource is added to the “gscl/scls” collection. You can now access the registered GSCL resource from the NSCL web interface under the “nscl/scls/gscl” uri.
- Using the NSCL web interface you can seamlessly access to all authenticated gateways. Open the "nscl/scls" resource to display available GSCLs . You notice the existence of one authenticated GSCL with id "gscl".
- Click on the "gscl" resource to display remote GSCL sub-resources and attributes. You can click on the “gscl” button of the “link” attribute to connect to the GSCL resources tree.
- The GSCL resource tree will be displayed. At this moment, the NSCL will act as a proxy to retarget your requests to the GSCL.
- Initially, also the GSCL contains the SclBase resource (id=gscl), the AccessRight resource (id=AR_ADMIN), and other empty collections.
Multiple gateways scenario
- Let's consider a simple M2M system composed of a server and two gateways as follows:
- Server IP: 192.168.0.2
- Gateway1 IP: 192.168.0.3
- Gateway2 IP: 192.168.0.4
- Of course, you can test the system locally in one machine by using the IP 127.0.0.1 for all products.
- After building the OM2M project normally, you will obtain 1 NSCL product and 1 GSCL product.
- You can configure the NSCL with the default configuration like this:
NSCL config.ini file:
org.eclipse.om2m.sclBaseId=nscl org.eclipse.om2m.sclBaseAddress=192.168.0.2 org.eclipse.equinox.http.jetty.http.port=8080
- Now, copy the GSCL product in another folder. You have now two separate GSCLs.
- Configure the first GSCL with the following configuration:
GSCL1 config.ini file:
org.eclipse.om2m.sclBaseId=gscl1 org.eclipse.om2m.sclBaseAddress=192.168.0.3 org.eclipse.equinox.http.jetty.http.port=8181 org.eclipse.om2m.remoteNsclId=nscl org.eclipse.om2m.remoteNsclAddress=192.168.0.2 org.eclipse.om2m.remoteNsclPort=8080
- Then, configure the second GSCL with the following configuration:
GSCL2 config.ini file:
org.eclipse.om2m.sclBaseId=gscl2 org.eclipse.om2m.sclBaseAddress=192.168.0.4 org.eclipse.equinox.http.jetty.http.port=8282 org.eclipse.om2m.remoteNsclId=nscl org.eclipse.om2m.remoteNsclAddress=192.168.0.2 org.eclipse.om2m.remoteNsclPort=8080
- You can start the system as follows:
- Start the NSCL product.
- Start the GSCL1 product.
- Start the GSCL2 product.
- Open the NSCL web interface on 192.168.0.2:8080.
- Go to the "nscl/scls" resource to see the authenticated gateways. You will find gscl1 and gscl2 authenticated.
- You can access now each authenticated GSCL by clicking on the GSCL (eg. nscl/scls/gscl1).
- Click on the "link" button to access remotely the gateway resource tree.