<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Eclipse Wakaama</title>
    <link rel="icon" type="image/png" href="img/Wakaama_Logo_Icon.png" />

    <!-- Bootstrap Core CSS - Uses Bootswatch Flatly Theme: http://bootswatch.com/flatly/ -->
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

    <!-- Custom CSS -->
    <link rel="stylesheet" href="css/leshan.css">

    <!-- Custom Fonts -->
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
    <link href="//fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
    <link href="//fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic" rel="stylesheet" type="text/css">

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
        <script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="//oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
        <![endif]-->
    </head>

    <body id="page-top" class="index">

        <!-- Navigation -->
        <nav class="navbar navbar-inverse navbar-default navbar-fixed-top" id="header">
            <div class="container">
                <!-- Brand and toggle get grouped for better mobile display -->
                <div class="navbar-header page-scroll">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand hidden-xs hidden-sm" href="index.html#page-top"><img class="img-responsive" src="img/Wakaama_Logo_long.png"></a>
                </div>

                <!-- Collect the nav links, forms, and other content for toggling -->
                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <ul class="nav navbar-nav navbar-right">
                        <li class="hidden">
                            <a href="index.html#page-top"></a>
                        </li>
                        <li class="page-scroll">
                            <a href="index.html#about">Overview</a>
                        </li>
                        <li class="page-scroll">
                            <a href="index.html#getting-started">Getting started</a>
                        </li>
                        <li class="page-scroll">
                            <a href="index.html#learn-more">Learn more</a>
                        </li>
                        <li class="page-scroll">
                        <a href="http://iot.eclipse.org">
                            <img class="img-responsive hidden-xs" src="img/iot-logo2.png" alt="Eclipse IoT"> 
                        </a>
                        </li>
                    </ul>
                </div>
                <!-- /.navbar-collapse -->
            </div>
            <!-- /.container-fluid -->
        </nav>

        <!-- Header -->
        <header>
            <div class="container">
                <div class="row">
                    <div class="col-lg-12">
                        <img class="img-responsive hidden-xs" src="img/Wakaama.png" alt="">
                        <div class="intro-text">
                            <span class="skills">OMA Lightweight M2M C implementation designed to be portable on POSIX compliant systems</span>
                        </div>
                    </div>
                </div>
            </div>
        </header>

        <!-- About Section -->
        <section id="about">
            <div class="container">
                <div class="row">
                    <div class="col-sm-6">
                        <h3>What is LWM2M?</h3>
                        <p>OMA Lightweight M2M is a protocol from the Open Mobile Alliance for M2M or IoT device management.
                            <ul>
                                <li>On top of CoAP</li>
                                <li>UDP and SMS transport layer support</li>
                                <li>Simple Object based resource model</li>
                                <li>Basic M2M functionalities: LWM2M Server, Access Control, Device, Connectivity, Firmware Update, Location, Connectivity Statistics</li>
                                <li>DTLS based security</li>
                            </ul>

                            <h3>Contact</h3>
                            <li>A problem? A missing feature? An idea? Contact the community.</li>
                            <div class="text-center button-links">
                                <a href="https://dev.eclipse.org/mailman/listinfo/wakaama-dev" target="_blank" class="btn btn-default btn-lg" role="button">
                                    <i class="fa fa-envelope"></i> Mailing list
                                </a>
                                <a href="https://github.com/eclipse/wakaama/issues" target="_blank" class="btn btn-default btn-lg" role="button">
                                    <i class="fa fa-bug"></i> Bug tracker
                                </a>
                                <a href="../security" target="_blank" class="btn btn-default btn-lg" role="button">
                                    <i class="fa fa-unlock-alt"></i> Security Vulnerabilities
                                </a>
                            </div>
                      </p>
                    </div>
                    <div class="col-sm-6">
                        <h3>What is Eclipse Wakaama?</h3>
                        <p>Wakaama is not a library but files to be built with an application. It is written in C and designed to be portable on POSIX compliant systems.</p>
                        <p>Two compilation switches are used: LWM2M_CLIENT_MODE and LWM2M_SERVER_MODE. Defining LWM2M_CLIENT_MODE enables the LWM2M Client interfaces. Defining LWM2M_SERVER_MODE enables the LWM2M Server interfaces. Both can be defined at the same time.</p>
                        <p>Wakaama is mono-threaded. An application can call a HandlePacket API to feed Wakaama with received LWM2M packets and a Step API to perform any pending LWM2M operations.</p>
                        <p>Wakaama provides APIs for a server application to send commands to registered LWM2M Clients. On client applications, Wakaama checks received commands for syntax and access rights and then dispatches them to the relevant objects.</p>

                   <div class="field field-name-field-project-licenses field-type-node-reference field-label-above"><div class="field-label">Licenses:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="https://projects.eclipse.org/content/eclipse-distribution-license-1.0-bsd" class="node-reference-hierarchy-0">Eclipse Distribution License 1.0 (BSD)</a></div><div class="field-item odd"><a href="https://projects.eclipse.org/content/eclipse-public-license-2.0" class="node-reference-hierarchy-0">Eclipse Public License 2.0</a></div></div></div><div class="field field-name-field-active-member-companies field-type- field-label-above">&nbsp;</div><div class="field-items"><div class="field-item even">Main companies supporting this project over the last three months.</div><div class="field-item odd"><ul class="project-active-members"><a href="http://eclipse.org/membership/showMember.php?member_id=843"><img src="//eclipse.org/membership/scripts/get_image.php?id=843&amp;size=small"/></a>
                        <a href="http://eclipse.org/membership/showMember.php?member_id=657"><img src="//eclipse.org/membership/scripts/get_image.php?id=657&amp;size=small"/></a>                        <a href="http://www.ioterop.com"><img src="img/Ioterop.png"/></a>
                    </article>
                </div>
            </div>
        </section>

        <!-- Getting started Section -->
        <section class="success" id="getting-started">
            <div class="container">
                <div class="row">
                    <div class="col-lg-12 text-center">
                        <h2>Getting started</h2>
                    </div>
                </div>
                <div class="row">
                    <div class="col-sm-4" id="tuto-desc">
                        <h3>Follow the examples </h3>
                        <p> Get the code by cloning the repository.
                        Wakaama provides sample clients and server in its 'examples' directory. To
                        try them just launch 'cmake' in any of its subdirectories then 'make'.
                        You can find detailled instructions in the README at the root of the repository.
                        You can try the wakaama sample client with the [Leshan Sandbox] by running:
                        <h5>"./lwm2mclient -4 -h leshan.eclipse.org"</h5>
                        </p>
                        <div class="text-center button-links">
                            <a href="https://github.com/eclipse/wakaama" target="_blank" class="btn btn-default btn-lg" role="button">
                                <i class="fa fa-github"></i> Source Code & Examples
                            </a>
                        </div>

                    </div>
                </div>
            </div>
        </section>

        <!-- Learn more Section -->
        <section id="learn-more">
            <div class="container">
                <div class="row">
                    <div class="col-lg-12 text-center">
                        <h2>Learn more</h2>
                    </div>

                    <div class="col-lg-6">
                        <h4>Eclipse Leshan</h4>
                        <p>Leshan provides libraries that help people develop their own Lightweight M2M server and client</p>

                        <div class="text-center button-links">
                            <a href="https://eclipse.org/leshan" target="_blank" class="btn btn-default btn-lg" role="button">
                                <i class="fa fa-home"></i> Website
                            </a>

                            <a href="https://github.com/eclipse/leshan" target="_blank" class="btn btn-default btn-lg" role="button">
                                <i class="fa fa-github"></i> Source Code
                            </a>
                        </div>
                    </div>

                    <div class="col-lg-6">
                        <h4>Leshan &amp; Wakaama in action</h4>
                        <iframe width="560" height="315" src="//www.youtube.com/embed/YOF9QSAmu7U" frameborder="0" allowfullscreen></iframe>
                    </div>
                </div>


                </div>
            </div>
        </section>

        <!-- Footer -->
        <footer>
            <div class="footer-above">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 hidden-print">
                            <h4>Eclipse Foundation</h4>
                            <ul class="nav">
                                <li><a href="../org">About us</a></li>
                                <li><a href="../org/foundation/contact.php">Contact Us</a></li>
                                <li><a href="../donate">Donate</a></li>
                                <li><a href="../org/documents">Governance</a></li>
                                <li><a href="../artwork">Logo and Artwork</a></li>
                                <li><a href="../org/foundation/directors.php">Board of Directors</a></li>
                            </ul>
                        </div>
                        <div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 hidden-print">
                            <h4>Legal</h4>
                            <ul class="nav">
                                <li><a href="../legal/privacy.php">Privacy Policy</a></li>
                                <li><a href="../legal/termsofuse.php">Terms of Use</a></li>
                                <li><a href="../legal/copyright.php">Copyright Agent</a></li>
                                <li><a href="../legal/epl-2.0">Eclipse Public License</a></li>
                                <li><a href="../legal">Legal Resources</a></li>
                            </ul>
                        </div>
                        <div class="clearfix visible-sm"></div>
                        <div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 hidden-print">
                            <h4>Useful Links</h4>
                            <ul class="nav">
                                <li><a href="https://github.com/eclipse/wakaama/issues">Report a Bug</a></li>
                                <li><a href="https://github.com/eclipse/wakaama/blob/master/CONTRIBUTING.md">How to Contribute</a></li>
                                <li><a href="https://dev.eclipse.org/mailman/listinfo/wakaama-dev">Mailing Lists</a></li>
                            </ul>
                        </div>
                        <div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 hidden-print">
                            <h4>Other</h4>
                            <ul class="nav">
                                <li><a href="../ide">IDE and Tools</a></li>
                                <li><a href="../projects">Community of Projects</a></li>
                                <li><a href="../org/workinggroups">Working Groups</a></li>
                            </ul>
                        </div>
                        <div id="copyright" class="col-xs-12 col-sm-12 col-md-12 col-lg-12 hidden-print">
                            <div class="row">
                                <div class="col-xs-12 cols-sm-6 col-md-3 col-lg-3">
                                    <span class="hidden-print">
                                        <img src="//projects.eclipse.org/sites/all/themes/solstice/public/images/logo/eclipse-logo-bw-800x188.png" alt="Eclipse.org black and white logo" width="166" height="39" class="logo-eclipse-white">
                                    </span>
                                </div>
                                <div class="col-xs-12 col-sm-9 col-md-9 col-lg-9">
                                    <p id="copyright-text">Copyright © 2015 The Eclipse Foundation. All Rights Reserved.</p>
                                </div>  
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </footer>

        <!-- Scroll to Top Button (Only visible on small and extra-small screen sizes) -->
        <div class="scroll-top page-scroll visible-xs visible-sm">
            <a class="btn btn-primary" href="index.html#page-top">
                <i class="fa fa-chevron-up"></i>
            </a>
        </div>



        <!-- jQuery -->
        <script src="js/jquery.js"></script>

        <!-- Bootstrap Core JavaScript -->

        <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>


        <!-- Plugin JavaScript -->
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
        <script src="js/classie.js"></script>
        <script src="js/cbpAnimatedHeader.min.js"></script>

        <!-- Custom JavaScript -->
        <script src="js/leshan.js"></script>


    </body>

    </html>
