Iotivity and Iotivity-Lite • Resources for Getting Started

Total Page:16

File Type:pdf, Size:1020Kb

Iotivity and Iotivity-Lite • Resources for Getting Started Overview of IoTivity Projects Kishen Maloor, Intel June 2018 Agenda • What is IoTivity? • Structure of an OCF implementation • IoTivity and IoTivity-Lite • Resources for getting started 2 What is IoTivity? • Umbrella of projects for building IoT devices • Open-source, reference implementations of OCF specifications • Serve as starting point for developing and certifying OCF products Specifications Vertical Data Models Device Certification Strategy, Marketing Independent governance with coordinated efforts 3 Structure of an OCF implementation User space IoT Applications Outer functional blocks APIs & Language Security Manage on-boarding, Bindings Provisioning Provisioning credentials, Infrastructure Access-control lists OCF Resource Model Resource directory, Device High-level Services Wi-Fi Easy Setup, etc. Stack Security Flows Bridging to other Zigbee, Z-Wave, etc. IP Connectivity ecosystems Kernel space Network Interfaces OS & Kernel 4 IoTivity and IoTivity-Lite • IoTivity • Suitable only for more capable device classes • Runs on Linux, Windows, Android, macOS • Multiple language bindings: C, C++, Java, Node.js • IoTivity-Lite (formerly called IoTivity-Constrained) • Lightweight implementation of OCF specifications • Suitable for all device classes (including few constrained devices) • Runs on Linux, Windows, macOS, and multiple RTOSes • C APIs only 5 IoTivity Directory Structure auto_build.py NOTICE.md auto_build.sh plugins bridging prep.sh build_common README-building-and-running-remote-access-sample.txt cloud README.md CONTRIBUTING.md Readme.scons.txt examples resource extlibs run.bat extra_options.scons scons_script_how_to.txt gbsbuild.sh SConstruct iotivity.pc.in service java tools LICENSE.md 6 Building IoTivity and Samples • Sample app sources in <iotivity>/resource/examples/ • Install dependencies and run scons • Build output stored in <iotivity>/out/linux/x86_64/release/ • IoTivity shared libs stored in <iotivity>/out/linux/x86_64/release/ • IoTivity sample apps stored in <iotivity>/out/linux/x86_64/release/resource/examples/ • Need to set LD_LIBRARY_PATH so apps can find shared libs export LD_LIBRARY_PATH=<iotivity>/out/linux/x86_64/release • Run samples 7 Resources for getting started • IoTivity repository • https://github.com/iotivity/iotivity • IoTivity build instructions • https://github.com/iotivity/iotivity/blob/master/Readme.scons.txt • Build infrastructure uses scons • IoTivity-Lite repository and build instructions • https://github.com/iotivity/iotivity-constrained • Each OS adaptation (port) employs a build system native to its environment (E.g. Linux uses make, Windows uses VS projects, etc.) • IoTivity Wiki • https://wiki.iotivity.org/ 8 .
Recommended publications
  • Scons API Docs Version 4.2
    SCons API Docs version 4.2 SCons Project July 31, 2021 Contents SCons Project API Documentation 1 SCons package 1 Module contents 1 Subpackages 1 SCons.Node package 1 Submodules 1 SCons.Node.Alias module 1 SCons.Node.FS module 9 SCons.Node.Python module 68 Module contents 76 SCons.Platform package 85 Submodules 85 SCons.Platform.aix module 85 SCons.Platform.cygwin module 85 SCons.Platform.darwin module 86 SCons.Platform.hpux module 86 SCons.Platform.irix module 86 SCons.Platform.mingw module 86 SCons.Platform.os2 module 86 SCons.Platform.posix module 86 SCons.Platform.sunos module 86 SCons.Platform.virtualenv module 87 SCons.Platform.win32 module 87 Module contents 87 SCons.Scanner package 89 Submodules 89 SCons.Scanner.C module 89 SCons.Scanner.D module 93 SCons.Scanner.Dir module 93 SCons.Scanner.Fortran module 94 SCons.Scanner.IDL module 94 SCons.Scanner.LaTeX module 94 SCons.Scanner.Prog module 96 SCons.Scanner.RC module 96 SCons.Scanner.SWIG module 96 Module contents 96 SCons.Script package 99 Submodules 99 SCons.Script.Interactive module 99 SCons.Script.Main module 101 SCons.Script.SConsOptions module 108 SCons.Script.SConscript module 115 Module contents 122 SCons.Tool package 123 Module contents 123 SCons.Variables package 125 Submodules 125 SCons.Variables.BoolVariable module 125 SCons.Variables.EnumVariable module 125 SCons.Variables.ListVariable module 126 SCons.Variables.PackageVariable module 126 SCons.Variables.PathVariable module 127 Module contents 127 SCons.compat package 129 Module contents 129 Submodules 129 SCons.Action
    [Show full text]
  • Life After Make - Building Software with Scons
    Life after Make - Building Software with SCons Joe VanAndel NCAR Atmospheric Technology Division Research Technology Facility November 20, 2003 SCons Slide 1 of 36 Audience survey • Do you enjoy using autoconf and make? (or do you just tolerate them!) • How frequently do you run “ make clean” - just to be safe! • What alternatives have you tried? November 20, 2003 SCons Slide 2 of 36 What's wrong with Make(1) • No built-in dependency tools • Quirky syntax – tabs matter – can't cut/paste text from makefiles! • Another “ little language” to learn. • Uses shell to extend Make's capabilities (shell is an awful programming language!) November 20, 2003 SCons Slide 3 of 36 include/linux/version.h: ./Makefile @expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \ (echo KERNELRELEASE \"$(KERNELRELEASE)\" exceeds $(uts_len) characters >&2; false) @echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" > .ver @echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver @echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))' >>.ver @mv -f .ver $@ November 20, 2003 SCons Slide 4 of 36 What's Wrong with Make(2) • Dependence on timestamps – – Clock skew in networked development systems – Fooled by restoring old source files • Make doesn't know that changing compiler flags builds different object files – Debug flags (-g) – Optimize flags (-02) – Pre-processor definitions (-DDEBUG_THIS) November 20, 2003 SCons Slide 5 of 36 What's Wrong with make(3) • Hard to build multi-directory projects
    [Show full text]
  • The WAF Build System
    The WAF build system The WAF build system Sebastian Jeltsch Electronic Vision(s) Kirchhoff Institute for Physics Ruprecht-Karls-Universität Heidelberg 31. August 2010 Sebastian Jeltsch The WAF build system 31. August 2010 1 / 19 The WAF build system Introduction WorkBuildflow Sebastian Jeltsch The WAF build system 31. August 2010 2 / 19 make = major pain What we expect from our build system: flexibility integration of existing workflows access to well established libraries extensibility power usability The WAF build system Introduction WorkBuildflow For us: low-level code many many layers Sebastian Jeltsch The WAF build system 31. August 2010 3 / 19 What we expect from our build system: flexibility integration of existing workflows access to well established libraries extensibility power usability The WAF build system Introduction WorkBuildflow For us: low-level code many many layers make = major pain Sebastian Jeltsch The WAF build system 31. August 2010 3 / 19 The WAF build system Introduction WorkBuildflow For us: low-level code many many layers make = major pain What we expect from our build system: flexibility integration of existing workflows access to well established libraries extensibility power usability Sebastian Jeltsch The WAF build system 31. August 2010 3 / 19 The WAF build system Introduction Autotools (GNU Build System) GNU Build System + few dependencies on user side (shell scripts) developer autoscan ed + generates standard make files + widely used configure.ac Makefile.am – platform dependent (bash aclocal autoheader automake scripts) aclocal.m4 config.h.in Makefile.in – autoconf-configure is slow autoconf Often: tconfigure >> tmake. – another scripting language configure Makefile make user Sebastian Jeltsch The WAF build system 31.
    [Show full text]
  • Demystifying Internet of Things Security Successful Iot Device/Edge and Platform Security Deployment — Sunil Cheruvu Anil Kumar Ned Smith David M
    Demystifying Internet of Things Security Successful IoT Device/Edge and Platform Security Deployment — Sunil Cheruvu Anil Kumar Ned Smith David M. Wheeler Demystifying Internet of Things Security Successful IoT Device/Edge and Platform Security Deployment Sunil Cheruvu Anil Kumar Ned Smith David M. Wheeler Demystifying Internet of Things Security: Successful IoT Device/Edge and Platform Security Deployment Sunil Cheruvu Anil Kumar Chandler, AZ, USA Chandler, AZ, USA Ned Smith David M. Wheeler Beaverton, OR, USA Gilbert, AZ, USA ISBN-13 (pbk): 978-1-4842-2895-1 ISBN-13 (electronic): 978-1-4842-2896-8 https://doi.org/10.1007/978-1-4842-2896-8 Copyright © 2020 by The Editor(s) (if applicable) and The Author(s) This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Open Access This book is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this book are included in the book’s Creative Commons license, unless indicated otherwise in a credit line to the material.
    [Show full text]
  • Empirical Comparison of Scons and GNU Make
    Großer Beleg Empirical Comparison of SCons and GNU Make Ludwig Hähne August 21, 2008 Technical University Dresden Department of Computer Science Institute for System Architecture Chair for Operating Systems Professor: Prof. Dr. rer. nat. Hermann Härtig Tutor: Dipl.-Inf. Norman Feske Dipl.-Inf. Christian Helmuth Erklärung Hiermit erkläre ich, dass ich diese Arbeit selbstständig erstellt und keine anderen als die angegebenen Hilfsmittel benutzt habe. Dresden, den 26. Juni 2008 Ludwig Hähne Abstract Build systems are an integral part of every software developer’s tool kit. Next to the well-known Make build system, numerous alternative solutions emerged during the last decade. Even though the new systems introduced superior concepts like content signa- tures and promise to provide better build accuracy, Make is still the de facto standard. This paper examines GNU Make and SCons as representatives of two conceptually distinct approaches to conduct software builds. General build-system concepts and their respective realizations are discussed. The performance and scalability are empirically evaluated by confronting the two competitors with comparable real and synthetic build tasks. V Contents 1 Introduction 1 2 Background 3 2.1 Design Goals . .3 2.1.1 Convenience . .3 2.1.2 Correctness . .3 2.1.3 Performance . .3 2.1.4 Scalability . .4 2.2 Software Rebuilding . .4 2.2.1 Dependency analysis . .4 2.2.1.1 File signatures . .4 2.2.1.2 Fine grained dependencies . .5 2.2.1.3 Dependency declaration . .5 2.2.1.4 Dependency types . .5 2.2.2 Build infrastructure . .6 2.2.3 Command scheduling . .6 2.3 Build System Features .
    [Show full text]
  • Scons User Guide 0.96.91
    SCons User Guide 0.96.91 Steven Knight SCons User Guide 0.96.91 by Steven Knight Revision 0.96.91.D001 (2005/09/08 09:14:36) Edition Published 2004 Copyright © 2004 Steven Knight SCons User’s Guide Copyright (c) 2004 Steven Knight Table of Contents Preface..................................................................................................................................... i SCons Principles ........................................................................................................... i A Caveat About This Guide’s Completeness........................................................... i Acknowledgements .................................................................................................... ii Contact.......................................................................................................................... ii 1. Building and Installing SCons........................................................................................1 Installing Python ..........................................................................................................1 Installing SCons From Pre-Built Packages................................................................1 Installing SCons on Red Hat (and Other RPM-based) Linux Systems .......1 Installing SCons on Debian Linux Systems ....................................................2 Installing SCons on Windows Systems............................................................2 Building and Installing SCons on Any System ........................................................2
    [Show full text]
  • Krawetz, Neal
    Response to DoC NTIA RFC No. 160331306­6306­01 Page 1 of 23 Response to the Department of Commerce National Telecommunications and Information Administration Request for Comment on Internet of Things The Benefits, Challenges, and Potential Roles for the Government in Fostering the Advancement of the Internet of Things RFC No. 160331306‐6306‐01 May 22, 2016 Neal Krawetz, Eric Schultz, Valerie Kaminsky, Bill Tucker, et al. Response to DoC NTIA RFC No. 160331306­6306­01 Page 2 of 23 The Department of Commerce (DoC) National Telecommunications and Information Administration (NTIA) issued a Request for Comments (RFC) in the Federal Register.1 This issuance requested feedback on the current policy and technological landscape related to the Internet of Things (IoT). This document includes responses to the following items: IoT Challenges Software Patches Unsupported Devices Personal Information Recycling and Safe Disposal Disposable Electronics Insecure Design Inherent Vulnerabilities Intentional Backdoors Network and Infrastructure Economic Impact Industry Recommendations Governmental Role Current Government Policies Recommended Government Policies Proposed Role for NTIA Contributors IoT Challenges Issue #1 in the NTIA RFC requested information related to the challenges and opportunities arising from IoT. In particular, how they are similar to existing challenges and what aspects are novel. This topic is further discussed in other issues, including #6 (technological issues), #16 (cybersecurity), and #17 (privacy). The challenges posed by the Internet of Things mirrors today’s existing issues with mobile devices in regards to security, application, and networking. However, the IoT amplifies all of these issues and brings them to a critical level. The IoT is positioned to become invasive and integral to businesses and consumers across America.
    [Show full text]
  • SCM: a Look at Scons and GNU Arch
    SCM: A look at SCons and GNU Arch ¡ ¢ £ ¤ ¥ Ben Leslie ¦ § ¡ ¨ © ¢ § ¨ ¡ © ¨ © 1 WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents WHAT IS SCM? 2 WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents No really, what is it ? WHAT IS SCM? 2-A WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents No really, what is it ? • Versioning WHAT IS SCM? 2-B WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents No really, what is it ? • Versioning • Building WHAT IS SCM? 2-C BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed BUILD SYSTEM – PURPOSE 3 BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed • Build everything required – correctness. BUILD SYSTEM – PURPOSE 3-A BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed • Build everything required – correctness. • Don’t build anymore then needed – performance. BUILD SYSTEM – PURPOSE 3-B BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed • Build everything required – correctness.
    [Show full text]
  • Writing a Reproducible Paper Using Latex and Madagascar
    Madagascar School of Reproducible Computational Geophysics Shanghai 2017 Writing a Reproducible Paper using LaTeX and Madagascar Jiubing Cheng & Yang Liu Acknowledgement Acknowledgement Acknowledgement Agenda Background & Motivations How to use SEGTeX Requirements Implement steps Rules Some tips An Example in RSFSRC/book/tutorial/authors Jiubing Cheng & Yang Liu 5 Agenda Background & Motivations How to use SEGTeX Requirements Implement steps Rules Some tips An Example in RSFSRC/book/tutorial/authors Jiubing Cheng & Yang Liu 6 The three branches of science From Euclid’s reasoning and Galileo’s experiments, it took hundreds of years for the theoretical and experimental branches of science to develop standards for publication and peer review. Computational science, rightly regarded as the third branch, can walk the same road much faster. Jiubing Cheng & Yang Liu What is science? When does computational research become scientific? “Science is the systematic enterprise of gathering knowledge about the universe and organizing and condensing that knowledge into testable laws and theories. The success and credibility of science are anchored in the willingness of scientists to independent testing and replication by other scientists. This requires the complete and open exchange of data, procedures and materials.” (See www.aps.org/policy/statements/99_6.cfm for more information.) Jiubing Cheng & Yang Liu Reproducible research The idea of a “replication by other scientists” in reference to computations is more commonly known as “reproducible research,” the term coined by Jon Claerbout, a geophysics professor at Stanford University. Soon after its inception in 2000, CiSE published a paper by Claerbout and his students on their experience with creating a reproducible research environment.
    [Show full text]
  • Scons User Guide 0.96.1
    SCons User Guide 0.96.1 Steven Knight SCons User Guide 0.96.1 by Steven Knight Revision 0.96.1.D001 (2004/08/23 09:55:29) Edition Published 2004 Copyright © 2004 by Steven Knight SCons User’s Guide Copyright (c) 2004 Steven Knight Table of Contents Preface..................................................................................................................................... i SCons Principles ........................................................................................................... i A Caveat About This Guide’s Completeness........................................................... i Acknowledgements .................................................................................................... ii Contact.......................................................................................................................... ii 1. Building and Installing SCons........................................................................................1 Installing Python ..........................................................................................................1 Installing SCons From Pre-Built Packages................................................................1 Installing SCons on Red Hat (and Other RPM-based) Linux Systems .......1 Installing SCons on Debian Linux Systems ....................................................2 Installing SCons on Windows Systems............................................................2 Building and Installing SCons on Any System ........................................................2
    [Show full text]
  • User Guide./ Plugins/ Input/ Shape/ Shapefile.Os
    ./ plugins/ input/ raster/ raster_info.os ./ plugins/ input/ raster/ raster_datasource.os ./ src/ font_engine_freetype.os ./ plugins/ input/ raster/ raster.input ./ src/ point_symbolizer.os ./ src/ scale_denominator.os ./ src/ envelope.os ./ src/ image_util.os ./ plugins/ input/ raster ./ src/ graphics.os ./ src/ text_symbolizer.os ./ plugins ./ src/ png_reader.os ./ src/ polygon_pattern_symbolizer.os ./ src/ map.os ./ src/ wkb.os ./ src/ line_pattern_symbolizer.os ./ src/ symbolizer.os ./ src/ plugin.os ./ plugins/ input/ raster/ raster_featureset.os ./ src/ layer.os ./ src/ proj_transform.os ./ src/ tiff_reader.os ./ src/ load_map.os ./ src ./ src/ datasource_cache.os ./ src/ save_map.os ./ plugins/ input ./ src/ libmapnik.so ./ plugins/ input/ shape/ shape.os ./ src/ color.os ./ src/ memory_datasource.os ./ src/ params.os ./ src/ placement_finder.os ./ src/ font_set.os ./ src/ libxml2_loader.os ./ plugins/ input/ shape/ shape_io.os ./ src/ arrow.os ./ src/ distance.os ./ plugins/ input/ shape ./ src/ agg_renderer.os ./ plugins/ input/ shape/ shape_index_featureset.os SCons 4.1.0 ./ src/ stroke.os ./ src/ memory.os ./ src/ projection.os ./ src/ image_reader.os ./ src/ unicode.os ./ plugins/ input/ shape/ shape.input ./ src/ shield_symbolizer.os ./ plugins/ input/ shape/ dbffile.os ./ src/ filter_factory.os User Guide./ plugins/ input/ shape/ shapefile.os ./ plugins/ input/ shape/ shape_featureset.os ./ agg/ src/ agg_trans_double_path.o The SCons./ agg/ src/ agg_sqrt_tables.o Development Team ./ bindings/ python/ mapnik_raster_symbolizer.os
    [Show full text]
  • Time-To-Provision Evaluation of Iot Devices Using Automated Zero
    Time-to-Provision Evaluation of IoT Devices Using Automated Zero-Touch Provisioning Ivan Boˇskov∗†, Halil Yetgin∗‡, MatevˇzVuˇcnik∗†, Carolina Fortuna∗, Mihael Mohorˇciˇc∗† ∗Department of Communication Systems, Joˇzef Stefan Institute, SI-1000 Ljubljana, Slovenia. †Joˇzef Stefan International Postgraduate School, Jamova 39, SI-1000 Ljubljana, Slovenia. ‡Department of Electrical and Electronics Engineering, Bitlis Eren University, 13000 Bitlis, Turkey. {ivan.boskov | halil.yetgin | matevz.vucnik | carolina.fortuna | miha.mohorcic}@ijs.si Abstract—The Internet of Things (IoT) is being widely adopted thus to avoid manual provisioning process [3]. Therefore, ZTP in today’s society, interconnecting smart embedded devices that enables accomplishing and providing remote device provision- are being deployed for indoor and outdoor environments, such ing, where even an end-user that does not have the technical as homes, factories and hospitals. Along with the growth in the development and implementation of these IoT devices, their knowledge can simply connect a non-provisioned device to simple and rapid deployment, initial configuration and out- the network [3]. Having reviewed the paucity of the literature of-the-box operational provisioning are becoming prominent and the industry perspectives, the characteristics of a typical challenges to be circumvented. Considering a large number of ZTP can be summarized as follows. heterogeneous devices to be deployed within next generation IoT networks, the amount of time needed for manual provisioning • Ease of Use - provisioning could be performed by anyone of these IoT devices can significantly delay the deployment and even without technical background. manual provisioning may introduce human-induced failures and • Interoperability - ZTP should be independent of vendors. errors. By incorporating zero-touch provisioning (ZTP), multiple • Security - during the provisioning process, credentials heterogeneous devices can be provisioned with less effort and without human intervention.
    [Show full text]