GithubHelp home page GithubHelp logo

openmobilealliance-archive / oma-lwm2m-devkit Goto Github PK

View Code? Open in Web Editor NEW
126.0 31.0 49.0 609 KB

Public - OMA Lightweight M2M repository for developing a LWM2M Client/Server tutorial

License: ISC License

JavaScript 97.89% CSS 2.11%

oma-lwm2m-devkit's Introduction

OMA LWM2M DevKit

OMA LwM2M Logo

About

The OMA LWM2M DevKit is an add-on for the Mozilla Firefox Web browser. It adds support for the OMA Lightweight M2M protocol and enables manual interaction with a LWM2M Server directly from the Web browser. This way, developers and users can interactively explore and comprehend the new protocol for machine-to-machine communication.

GUI

Features

  • OMA Lightweight M2M 1.0
  • Virtual LWM2M Clients
  • 8 OMA-label Objects with descriptions
  • Object Instance and Resource editing
  • Registration Interface
  • Device Management and Service Enablement Interface
  • Information Reporting Interface
  • Logging and visualization of LWM2M operations and their CoAP messages
  • Interactive guide

Installation

Release version

The OMA LWM2M DevKit is published on the Mozilla Add-ons for Firefox Web site, which provides direct installation.

Developer version

The developer version uses a cloned Git repository to directly inject the source code. This allows for the latest snapshot versions and customizations of the add-on. The installation process is as follows:

  1. Get the sources from Github: clone git://github.com/OpenMobileAlliance/OMA-LWM2M-DevKit.git
  2. Add a text file named [email protected] to your profile's extension directory. You can also use the Profile Manager to create a new profile for add-on development first.
  • Windows: C:\Users\<username>\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\extensions\
  • Linux: ~/.mozilla/firefox/xxxxxxxx.default/extensions/
  • MacOS: ~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/extensions/
  1. Write the path to the DevKit sources (i.e., the directory that contains install.rdf and chrome.manifest) into that file.
  2. Since Firefox 43 you need to allow unsigned add-ons by opening about:config and setting xpinstall.signatures.required to false.
  3. (Re-)start Firefox and allow the installation of this add-on.

Usage

Launching the OMA LWM2M DevKit

  • The launcher: After installation, a button with the OMA logo is added to your toolbar. It will open the launcher where you can enter the URI of a LWM2M Server:

    Launcher

  • The addressbar: You can also directly enter the URI of an LWM2M Server into the addressbar of the browser:

    Web browser addressbar

    Note that here the pseudo scheme coap+lwm2m is used to distinguish the call from raw CoAP handling, for which Copper (Cu) can be used. Technically, LWM2M still uses coap URIs!

Organization of the GUI

GUI

  1. If the LWM2M Server responds to CoAP ping, this button turn green. When clicking on it, the LWM2M Client address is shown.
  2. All CoAP messages are logged here. The first entries show the CoAP ping exchange (CON-EMPTY/RST-EMPTY).
  3. This button opens a menu to load the the virtual LWM2M Client. Once the DevKit is aligned with the LabKit, it will allow the creation of custom LWM2M Clients and Objects. Use the hotkey E to directly load the Example Client.
  4. This area will show the Objects provided by the LWM2M Client. Currently, the eight OMA-label Objects are supported.
  5. This area will either show the Object definitions when selecting an Object at (4) or the Resources when selecting an Instance at (4).
  6. The Bootstrap Interface is always disabled. The address of the LWM2M Server is entered by the user, which logically corresponds to a factory bootstrap.
  7. The Register Interface allows to register, update, and de-register the Client. The menu also takes input for the registration parameters. The hotkey Rdirectly registers the client one it was loaded.
  8. The Device Management & Service Enablement Interface menu provides a log of all operations executed by the LWM2M Server. When selecting a log entry, the corresponding CoAP messages are shown.
  9. The Information Reporting Interface menu shows the active observe relationships. Below all corresponding operations are logged and can be inspected like in (8).
  10. The last button opens the preferences to configure the GUI features and the protocol behavior.

How to get started

The OMA LWM2M DevKit will provide tooltips that guide through the process. When lost and there is no tooltip showing, press H to display the current tooltip.

Tooltips

After the first run, tooltips are disabled. They can be re-enabled again through the preference menu or directly through hotkey H.

oma-lwm2m-devkit's People

Contributors

cmanset avatar github-oma avatar megan-oma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oma-lwm2m-devkit's Issues

Error: Host/network unreachable (originally by dmoranj)

@dmoranj: The second problem concerns the state of the plugin once the error has happened: from this moment on, each time it is opened the error "ERROR: Error: Host/network unreachable" is printed, and controls doesn't seem to work anymore. The error lasts for some time and then disappears (cleaning cache and cookies and restarting the browser doesn't seem to work). It would be nice feature to have a "Reset client" button to restore the client to an out-of-the-box state.

Installation Issue

There's an issue while installing this DevKit because when I try to manually add_on it after giving the path in the extension file of the default profile it says the file is corrupted. Neither is there any prompt from firefox side for the installation of the extension. Please kindly help for its smooth installation.

Problem with update operation

I am developing a Lightweight M2M library for Node.js, and starting to test it against the tools provided by the OMA-LWM2M-DevKit, and I'm facing some problems. The first problem is the return path of the updates from the client: when I register with the Mozilla Plugin against my local server, my server return a Location Path with value "/rd/1" (being 1 the id of the device in the server), and expects the updates and delete operations be sent to that same path, but they are sent to "/1" instead (section 8.2.3 of the specification). Is that the expected behavior?

The second problem concerns the state of the plugin once the error has happened: from this moment on, each time it is opened the error "ERROR: Error: Host/network unreachable" is printed, and controls doesn't seem to work anymore. The error lasts for some time and then disappears (cleaning cache and cookies and restarting the browser doesn't seem to work). It would be nice feature to have a "Reset client" button to restore the client to an out-of-the-box state.

Cancel Observation Test case commands are not working in DEVKIT

Steps to reproduce issue

1.Send Observation and Notification test command from server.
2.Observe that once the observation and notification commands are set on the DEVKIT
3. Try to send 'Cancel observation command'

Actual Result

Cancel observation is not working on DEVKIT client, still DEVKIT responds with notifications.

Unable to install

I tried installing it on firefox browser, I tried the add_on option manually to add the extension however I couldn't do so as It said that the file seems to be corrupted, any solution to this I have tried to create a new file and start the installation process from the beginning but nothing seems to work.

Not sure what steps to do next

I am just starting to play around with the dev kit, so this is a basic question. When I follow the help tips, I get to the point where it tells me "The client is registered. Check the LWM2M Server then click Device Management and Service Enablement." I click on the Device Management option, and another help tip pops up, that says that "requests from the LWM2M server are logged here..." But I can go no further. When I click on anything in the Device Management dialog, nothing happens.

What am I missing? What is the next step from that point?

Does the DevKit allow write operation?

I want to see my WRITE operation can really change the client resource value. So I tried send WRITE to the DevKit, it popup a window say "Error: Cannot write vector to normal Resource". but it return 2.04 Changed.

So does the DevKit do not support real WRITE operation?

Type:Float support on Devkit

Hi,

I am new DEVKIT, Can any one please let me know whether the DEVKIT supports type: float, if just create a new object resource with "type": "float", or do I need to change some other to make it work.

"11": {
"id": 11,
"name": "Client Hold Off Time",
"operations": "-",
"instancetype": "single",
"mandatory": true,
"type": "float",
"range": "",
"units": "s",

Regards,
Veerendra

Problems writing to Set Point object (3308)

Hello,
I am trying to use the LWM2M set point object to write parameters to my sensor.
I am using a Telit chip, and I am unable to write to the object both from the Telit HW and the Telit Portal.
I suspect that this is a problem with the Telit hardware/platform, but I am curious if any of you have tested the Set Point object? Is it working?

Fredrik

List of supported operations

Is there any way to know what operations are currently supported under which interface? E.g.: Are de Discovery operations supported? Or the WriteAttributes operation? I've been testing my implementation of LWM2M and seems to work fine with the registration operations, reads and writes, but have some problems testing the ones I mentioned. It would be great to have a table indicating the current state of work for each operation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.