Giter Site home page Giter Site logo

wangyoufeng8889 / liblwm2m Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intel/liblwm2m

0.0 0.0 0.0 1.01 MB

liblwm2m is an implementation of the LWM2M protocol from the Open Mobile Alliance.

License: BSD 3-Clause "New" or "Revised" License

CMake 0.59% C 99.41%

liblwm2m's Introduction

***

liblwm2m is now wakaama (https://github.com/eclipse/wakaama). This repo is no longer updated. Please use https://github.com/eclipse/wakaama instead

***


liblwm2m is an implementation of the Open Mobile Alliance's LightWeight M2M
protocol (LWM2M).


Source Layout
-------------

-+- core                (the LWM2M engine)
 |    |
 |    +- er-coap-13     (Erbium's CoAP engine from
 |                       http://people.inf.ethz.ch/mkovatsc/erbium.php, modified
 |                       to run on linux)
 |
 +- tests               (example and test application)
      |
      +- client         (a command-line LWM2M client with two test objects)
      |
      +- server         (a command-line LWM2M server)
      |
      +- TLV            (application decoding two hard-coded TLV buffers)
      |
      +- utils          (utility functions for connection handling and command-
                         line interface)


Compiling
---------

Despite its name, liblwm2m is not a library but files to be built with an
application. liblwm2m uses CMake. Look at tests/server/CMakeLists.txt for an
example of how to include it. 
Two compilation switches are used: LWM2M_CLIENT_MODE and LWM2M_SERVER_MODE.
Define LWM2M_CLIENT_MODE to enable LWM2M Client interfaces. Define
LWM2M_SERVER_MODE to enable LWM2M Server interfaces. Both can be defined at the
same time.


Testing
-------

To compile the test server
 - - - - - - - - - - - - -

In the any directory, run the following commands:
    cmake [liblwm2m directory]/tests/server
    make
    ./lwm2mserver

The lwm2mserver listens on UDP port 5684. It features a basic command line
interface. Type 'help' for a list of supported commands.


To compile the test client
 - - - - - - - - - - - - -
  
In the any directory, run the following commands:
    cmake [liblwm2m directory]/tests/client
    make
    ./lwm2mclient

The lwm2mclient features four LWM2M objects:
    - Server Object (id: 1) provided by the core.
    - Device Object (id: 3) containing hard-coded values from the Example LWM2M
    Client of Appendix E of the LWM2M Technical Specification.
    - FirmwareUpdate Object (id: 5) as a skeleton.
    - a test object (id: 1024) with the following description:
    
                           Multiple
          Object |  ID  | Instances | Mandatoty |
           Test  | 1024 |    Yes    |    No     |
         
           Ressources:
                       Supported    Multiple
           Name | ID | Operations | Instances | Mandatory |  Type   | Range |
           test |  1 |    R/W     |    No     |    Yes    | Integer | 0-255 |
           exec |  2 |     E      |    No     |    Yes    |         |       |
    
The lwm2mclient opens udp port 5683 and tries to register to a LWM2M Server at
127.0.0.1:5684. It features a basic command line interface. Type 'help' for a
list of supported commands.

liblwm2m's People

Contributors

domedambrosio avatar fab13n avatar jvermillard avatar sbernard31 avatar passific avatar kartben avatar

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.