System Collaboration and Information Sharing Through Internet of Things

Total Page:16

File Type:pdf, Size:1020Kb

System Collaboration and Information Sharing Through Internet of Things System collaboration and information sharing through Internet of Things Mälardalens Högskola School of Innovation, Design and Engineering Maja Grubisic [email protected] Tina Marsic [email protected] Thesis for the Degree of Master of Computer Science – Software Engineering 30.0 credits June, 2015. Examiner: Ivica Crnkovic Supervisors: Hongyu Pei-Breivold Mälardalens Högskola Kristian Sandström ABB AB, Corporate Research Larisa Rizvanovic ABB AB, Corporate Research Abstract The focus of this thesis is realization of system collaboration and information sharing between devices through Internet of Things. Internet of Things is a network of things, where a thing can be any device capable of acquiring an IP address. Internet of Things has been discussed in many domains. Companies are exploring the full potential of it, with the purpose of automating their services and optimizing their productivity. In this thesis we have conducted a systematic research review to investigate the existing Internet of Things solutions with respect to system collaboration and information sharing through Internet of Things. We have also implemented a prototype, using Arduino microprocessors and NUCs, to illustrate system collaboration and information sharing between the two systems. II Table of Contents 1 Introduction ............................................................................................................................................. 1 1.1 Internet of Things ......................................................................................................................... 1 1.2 Motivation and research questions ....................................................................................... 2 1.3 Summary of research results ................................................................................................... 3 1.4 Thesis outline ................................................................................................................................. 3 2 Related work ............................................................................................................................................ 4 2.1 System collaboration................................................................................................................... 4 2.2 Information sharing .................................................................................................................... 8 2.2.1 Messaging patterns ................................................................................................................. 9 2.2.2 DDS ............................................................................................................................................. 10 2.3 Cloud computing ........................................................................................................................ 11 2.4 Big data .......................................................................................................................................... 12 2.5 Internet of Things architecture ............................................................................................ 12 2.6 Key characteristics of IoT ....................................................................................................... 14 2.7 Differences between IoT and M2M ..................................................................................... 14 2.8 Industrial IoT platforms.......................................................................................................... 14 2.8.1 mbed (ARM) ............................................................................................................................ 15 2.8.2 Oracle ........................................................................................................................................ 16 2.8.3 Predix (General Electric) ................................................................................................... 17 2.8.4 Vortex ........................................................................................................................................ 17 2.8.5 Intel IoT developer kit ........................................................................................................ 18 2.8.6 IoTSyS ........................................................................................................................................ 19 2.8.7 Ayla Networks ........................................................................................................................ 20 2.8.8 Kombridge Things ................................................................................................................ 20 2.8.9 SeeControl ............................................................................................................................... 20 2.8.10 SiteWhere ............................................................................................................................ 21 2.8.11 IzoT platform (Echelon) ................................................................................................ 22 2.8.12 Axeda .................................................................................................................................... 22 2.8.13 Arduino ................................................................................................................................ 23 2.8.14 Conclusions regarding Industrial IoT platforms ................................................. 23 3 Research method ................................................................................................................................ 25 3.1 Identifying objectives............................................................................................................... 25 3.2 Identifying relevant publications ........................................................................................ 25 3.3 Assessing the quality of each publication ........................................................................ 28 3.4 Validity discussion .................................................................................................................... 29 4 Research analysis ................................................................................................................................ 30 4.1 Synthesizing the findings ....................................................................................................... 30 4.2 General statistics ....................................................................................................................... 30 4.3 System collaboration related publications analysis .................................................... 31 4.3.1 ROA based publications ..................................................................................................... 31 4.3.2 SOA based publications ...................................................................................................... 38 4.3.3 Ungrouped publications ..................................................................................................... 46 4.3.4 Quality attributes .................................................................................................................. 48 4.4 Information sharing related publications analysis ...................................................... 49 4.4.1 Computer networking ......................................................................................................... 50 4.4.2 Protocols .................................................................................................................................. 53 4.4.3 Network service .................................................................................................................... 58 4.4.4 Security ..................................................................................................................................... 59 III 5 System architecture and implementation ................................................................................. 61 5.1 Event scenario ............................................................................................................................ 61 5.2 System architecture .................................................................................................................. 62 5.2.1 Hardware ................................................................................................................................. 62 5.2.2 Software ................................................................................................................................... 65 5.3 Steps of implementation ......................................................................................................... 65 5.3.1 Patching Ubuntu kernel with RT .................................................................................... 65 5.3.2 Zero-configuration networking set-up on NUCs ...................................................... 66 5.3.3 Zero-configuration networking set-up on Arduinos ............................................... 70 5.3.4 Set-up OpenSplice DDS on NUCs ..................................................................................... 72 5.3.5 Programming the Arduinos .............................................................................................. 75 5.3.6 Collaboration between System1 and System2 .........................................................
Recommended publications
  • Linux Foundation to Host Meego Workgroup
    Linux Foundation To Host MeeGo Workgroup New Open Source Software Platform Backed by Intel and Nokia will Power the Next Generation of Computing Devices SAN FRANCISCO, February 15, 2010 – The Linux Foundation, the nonprofit organization dedicated to accelerating the growth of Linux, today announced it will host the MeeGo project, the open source software platform for the next generation of computing devices. MeeGo combines Intel’s Moblin™ and Nokia’s Maemo projects into one Linux-based platform. MeeGo, announced today in a joint release by Intel and Nokia, will be deployed across many computing device types - including pocketable mobile computers, netbooks, tablets, mediaphones, connected TVs and in-vehicle infotainment systems, and brings together the leaders in computing and mobile communications as the project’s backers. MeeGo is designed for cross-device, cross-architecture computing and is built from the ground up for a new class of powerful computing devices. The workgroup will be hosted by the Linux Foundation as a fully open source project, encouraging community contributions in line with the best practices of the open source development model. The Linux Foundation expects MeeGo to be adopted widely by device manufacturers, network operators, software vendors and developers across multiple device types and for many organizations and developers to participate in the workgroup. “With MeeGo, you have the world’s leader in computing – Intel – uniting with the world’s leader in communications – Nokia – in a true open source project hosted at the Linux Foundation,” said Jim Zemlin, executive director at the Linux Foundation. “MeeGo has been built from the ground up for rich, mobile devices and will deliver choice to consumers without lock-in.
    [Show full text]
  • Creating a Custom Embedded Linux Distribution for Any Embedded
    Yocto Project Summit Intro to Yocto Project Creating a Custom Embedded Linux Distribution for Any Embedded Device Using the Yocto Project Behan Webster Tom King The Linux Foundation May 25, 2021 (CC BY-SA 4.0) 1 bit.ly/YPS202105Intro The URL for this presentation http://bit.ly/YPS202105Intro bit.ly/YPS202105Intro Yocto Project Overview ➢ Collection of tools and methods enabling ◆ Rapid evaluation of embedded Linux on many popular off-the-shelf boards ◆ Easy customization of distribution characteristics ➢ Supports x86, ARM, MIPS, Power, RISC-V ➢ Based on technology from the OpenEmbedded Project ➢ Layer architecture allows for other layers easy re-use of code meta-yocto-bsp meta-poky meta (oe-core) 3 bit.ly/YPS202105Intro What is the Yocto Project? ➢ Umbrella organization under Linux Foundation ➢ Backed by many companies interested in making Embedded Linux easier for the industry ➢ Co-maintains OpenEmbedded Core and other tools (including opkg) 4 bit.ly/YPS202105Intro Yocto Project Governance ➢ Organized under the Linux Foundation ➢ Split governance model ➢ Technical Leadership Team ➢ Advisory Board made up of participating organizations 5 bit.ly/YPS202105Intro Yocto Project Member Organizations bit.ly/YPS202105Intro Yocto Project Overview ➢ YP builds packages - then uses these packages to build bootable images ➢ Supports use of popular package formats including: ◆ rpm, deb, ipk ➢ Releases on a 6-month cadence ➢ Latest (stable) kernel, toolchain and packages, documentation ➢ App Development Tools including Eclipse plugin, SDK, toaster 7
    [Show full text]
  • Ofono Open-Source Telephony
    oFono Open-source telephony R´emiDenis-Courmont Aki Niemi Nokia Devices R&D Maemo Software Maemo summit 2009 - October 10th 2009 R´emiDenis-Courmont Nokia oFono Outline 1 A brief history of Linux telephony 2 Nokia N900 3 oFono R´emiDenis-Courmont Nokia oFono A brief history of Linux telephony Nokia N900 oFono Outline 1 A brief history of Linux telephony 2 Nokia N900 3 oFono R´emiDenis-Courmont Nokia oFono voice calls Short Message Service (SMS) location supplementary services General packet radio service (GPRS) ... A brief history of Linux telephony Nokia N900 oFono What's (cellular) telephony? network status network selection SIM security (PIN, PUK. ) SIM phone book R´emiDenis-Courmont Nokia oFono A brief history of Linux telephony Nokia N900 oFono What's (cellular) telephony? network status network selection SIM security (PIN, PUK. ) SIM phone book voice calls Short Message Service (SMS) location supplementary services General packet radio service (GPRS) ... R´emiDenis-Courmont Nokia oFono designed in the seventies. originally for 300 bauds fixed serial line ASCII awkward multiplexing PPP (binary) for backward-compatibility A brief history of Linux telephony Nokia N900 oFono The standard (?) Hayes commands set ITU V.250 3GPP 27.007 better known as AT commands R´emiDenis-Courmont Nokia oFono awkward multiplexing PPP (binary) for backward-compatibility A brief history of Linux telephony Nokia N900 oFono The standard (?) Hayes commands set ITU V.250 3GPP 27.007 better known as AT commands designed in the seventies. originally for 300 bauds fixed serial line ASCII R´emiDenis-Courmont Nokia oFono A brief history of Linux telephony Nokia N900 oFono The standard (?) Hayes commands set ITU V.250 3GPP 27.007 better known as AT commands designed in the seventies.
    [Show full text]
  • Understanding D-Bus
    Meetup Toulouse, May 2016 Understanding D-Bus Myl`eneJosserand [email protected] © Copyright 2004-2018, Bootlin. embedded Linux and kernel engineering Creative Commons BY-SA 3.0 license. Corrections, suggestions, contributions and translations are welcome! - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/1 What is this talk about? I D-Bus generality & IPC I The D-Bus principles I Differents tools and libraries with demo I Different projects using D-Bus I A short use case with Connman and Ofono - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/1 Understanding D-Bus D-Bus generality - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 D-Bus I Created in 2002 I Is part of the freedesktop.org project I Maintained by RedHat and the community I Is an Inter-process communication mechanism I Initiated to standardize services of Linux desktop environments - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 4/1 Inter-Process Communication (IPC) I Mechanisms allowing processes to communicate with each other I Shared memory: read/write into a defined memory location I Memory-mapped file: same as shared memory but uses a file I Pipe: two-way data stream (standard input / output) I Named pipe: same as pipe but uses a file (FIFO) I Socket: communication even on distant machines I and others - Kernel, drivers and embedded
    [Show full text]
  • Wind River Linux Release Notes, 5.0.1
    Wind River Linux Release Notes, 5.0.1 Wind River® Linux RELEASE NOTES 5.0.1 Copyright © 2013 Wind River Systems, Inc. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means without the prior written permission of Wind River Systems, Inc. Wind River, Tornado, and VxWorks are registered trademarks of Wind River Systems, Inc. The Wind River logo is a trademark of Wind River Systems, Inc. Any third-party trademarks referenced are the property of their respective owners. For further information regarding Wind River trademarks, please see: www.windriver.com/company/terms/trademark.html This product may include software licensed to Wind River by third parties. Relevant notices (if any) are provided in your product installation at one of the following locations: installDir/product_name/3rd_party_licensor_notice.pdf installDir/legal-notices/ Wind River may refer to third-party documentation by listing publications or providing links to third-party Web sites for informational purposes. Wind River accepts no responsibility for the information provided in such third-party documentation. Corporate Headquarters Wind River 500 Wind River Way Alameda, CA 94501-1153 U.S.A. Toll free (U.S.A.): 800-545-WIND Telephone: 510-748-4100 Facsimile: 510-749-2010 For additional contact information, see the Wind River Web site: www.windriver.com For information on how to contact Customer Support, see: www.windriver.com/support Wind River Linux Release Notes 5.0.1 4 Apr 13 Contents 1 Overview ...................................................................................................... 1 1.1 Introduction ...................................................................................................................... 1 1.2 Navigating these Release Notes ................................................................................... 1 1.3 Features ............................................................................................................................
    [Show full text]
  • The Buildroot User Manual I
    The Buildroot user manual i The Buildroot user manual The Buildroot user manual ii Contents I Getting started 1 1 About Buildroot 2 2 System requirements 3 2.1 Mandatory packages.................................................3 2.2 Optional packages...................................................4 3 Getting Buildroot 5 4 Buildroot quick start 6 5 Community resources 8 II User guide 9 6 Buildroot configuration 10 6.1 Cross-compilation toolchain............................................. 10 6.1.1 Internal toolchain backend.......................................... 11 6.1.2 External toolchain backend.......................................... 11 6.1.2.1 External toolchain wrapper.................................... 12 6.2 /dev management................................................... 13 6.3 init system....................................................... 13 7 Configuration of other components 15 8 General Buildroot usage 16 8.1 make tips....................................................... 16 8.2 Understanding when a full rebuild is necessary................................... 17 8.3 Understanding how to rebuild packages....................................... 18 8.4 Offline builds..................................................... 18 8.5 Building out-of-tree.................................................. 18 The Buildroot user manual iii 8.6 Environment variables................................................ 19 8.7 Dealing efficiently with filesystem images...................................... 19 8.8 Graphing the dependencies
    [Show full text]
  • Extended Bluetooth Profiles on Ccpilot Displays
    UPTEC F 17017 Examensarbete 30 hp Maj 2017 Extended Bluetooth Profiles on CCpilot displays Alexander Johnson Abstract Extended Bluetooth Profiles on CCpilot displays Alexander Johnson Teknisk- naturvetenskaplig fakultet UTH-enheten Bluetooth is used in modern cars to connect smartphones to stream music, to access internet and for phone services such as phone book Besöksadress: contacts and making calls. Similar features are now requested by Ångströmlaboratoriet Lägerhyddsvägen 1 customers of maximatecc's products, e.g. display computers, for off- Hus 4, Plan 0 road vehicles. This thesis is aimed to investigate what is needed to support these features in maximatecc's Linux based displays and how Postadress: the features can be used in a Qt application. Box 536 751 21 Uppsala For instance, the connectivity features in personal cars most Telefon: commonly utilizes the Bluetooth profiles: 018 – 471 30 03 Telefax: Advanced Audio Distribution Profile (A2DP) 018 – 471 30 00 Audio/Video Remote Control Profile (AVRCP) Personal Area Network (PAN) Profile Hemsida: Hands Free Profile (HFP) http://www.teknat.uu.se/student Phone Book Access Profile (PBAP) Message Access Profile (MAP). In Linux operating system the Bluetooth stack Bluez is used in the lower level implementation. Open source software components recommended to implement the above profiles includes: Obexd (for MAP and PBAP) PulseAudio (for A2DP and HFP) oFono (for HFP) Connman (for PAN) all of which help to implement the top level profiles of the Bluetooth stack needed, easily controlled by a Qt application through DBus. Most of the external software components were not possible to add to the Linux image on the CCpilot VA display during the period of the thesis.
    [Show full text]
  • The Ubports Project
    The Ubports project Ubuntu for Phones raises from the ashes Alberto Mardegan, Luxoft (and formerly Nokia, Canonical) Linux-based phones SailfishOS ubuntu touch ubports 2005 ... 2010 2011 2012 2013 2014 2015 2016 2017 2018 Ubports: just Ubuntu Applications Qt apps QML apps HTML apps Gtk+ apps SDL apps Middleware Location service Accounts & SSO Content hub QtPim Trust store Telepathy Pulseaudio BlueZ EDS oFono Base platform Mir display glibc Hybris upstart D-Bus server Kernel Convergence Same OS on multiple devices Convergence The same device powers the user experience in different form factors Adaptive user interface On tablets Unity 8 ● QML ● Scalable Dual SIM Container model Old container model New container model Android kernel Android kernel Android system Ubuntu OS Container running Ubuntu Container running Android services App App App App App App App App Security model ● Applications are confined by AppArmor ● Manifest file to declare { "policy_groups": [ "calendar", required resources "contacts", "location" ● ], Resources are granted by ... the user at the time when they are needed ● Applications exchange data by using the ContentHub Data sharing between applications Power management ● Applications are stopped (yes, SIGSTOP!) while in the background ● Need to use platform services to perform long- running tasks (MediaHub, DownloadManager) click packaging format ● dpkg-like, but without scripts ● Depend on a single framework (e.g. ubuntu-sdk-16.04-qml) ● All extra dependencies must be included New in Ubports: clickable: a Docker-based
    [Show full text]
  • Novatooth Project Requirements Document V2
    NovaTooth Project Requirements Document v2 Men-in-the-Middle: Kevin Chan (Project Lead) ● [email protected] Trevor Morris (Scribe) ● [email protected] Robert Stosick ● [email protected] Henry Yu ● [email protected] Albert Chen ● [email protected] Revision History: ● 10/28/2016 Initial Draft ● 11/12/2016 Updated Appendix & Glossary of Terms ● 11/18/2016 Added System Models ● 11/27/2016 Added Tests -> GitHub Commits/Issues Introduction: Bluetooth is a widely-used wireless standard that operates on the unlicensed 2.4 GHz band. Bluetooth is ubiquitous in both the corporate environment as well as in consumer products, and it can be found in everything from automobiles to phones, medical devices, keyboards, and hundreds of other applications. Over 25,000 companies are a member of the Bluetooth Special Interest Group, the organization responsible for the maintenance of the Bluetooth standard. Although Bluetooth’s universal deployment is an asset, it also creates liabilities. One problem that companies who employ Bluetooth devices face is how to audit the security of their Bluetooth devices, and how to handle the security implications of their Bluetooth usage. This problem is compounded by the lack of commercially-available tools for Bluetooth security analysis and penetration testing. Our team’s research discovered that there are no such devices available on the open market, and furthermore there is no code available to facilitate such analysis. The problem our team seeks to solve is to develop a discrete, portable Man-in-the-Middle (MITM) device that will be able to attack Bluetooth connections, and thus eavesdrop on connections between Bluetooth headsets and Bluetooth-enabled phones.
    [Show full text]
  • Meego Job Interview Questions and Answers
    MeeGo Job Interview Questions And Answers Interview Questions Answers https://interviewquestionsanswers.org/ About Interview Questions Answers Interview Questions Answers . ORG is an interview preparation guide of thousands of Job Interview Questions And Answers, Job Interviews are always stressful even for job seekers who have gone on countless interviews. The best way to reduce the stress is to be prepared for your job interview. Take the time to review the standard interview questions you will most likely be asked. These interview questions and answers on MeeGo will help you strengthen your technical skills, prepare for the interviews and quickly revise the concepts. If you find any question or answer is incorrect or incomplete then you can submit your question or answer directly with out any registration or login at our website. You just need to visit MeeGo Interview Questions And Answers to add your answer click on the Submit Your Answer links on the website; with each question to post your answer, if you want to ask any question then you will have a link Submit Your Question; that's will add your question in MeeGo category. To ensure quality, each submission is checked by our team, before it becomes live. This MeeGo Interview preparation PDF was generated at Saturday 6th February, 2021 You can follow us on FaceBook for latest Jobs, Updates and other interviews material. www.facebook.com/InterviewQuestionsAnswers.Org Follow us on Twitter for latest Jobs and interview preparation guides. https://twitter.com/InterviewQA If you need any further assistance or have queries regarding this document or its material or any of other inquiry, please do not hesitate to contact us.
    [Show full text]
  • Jolla Developer Story
    Jolla Developer Story Qt Developer Days 2012 Vesa-Matti Hartikainen [email protected] Twitter: @veskuh "We develop Sailfish OS together with alliance, friends and community, license the OS and make our own Jolla devices" - Jolla Jolla UX Components Input Methods Homescreen Settings Applications UX Nemo tracker maliit lipstick mcompositor grilo contextkit qml-plugins MW Mer gstreamer connman Qt Mobility Qt Ofono X11 PulseAudio Core OS HW Adaptations x86 Armv7hl Armv7l ... Sailfish SDK structure Sailfish SDK image QtCreator IDE 1.0 x86 target 1.0 armv7hl target VirtualBox 2.0 armv7hl target Device ... Sailfish SDK ● Sailfish SDK will be used for developing applications to Jolla devices ● Qt Creator IDE ● Complete target Sailfish OS environment ● Linux, Windows, and Mac OS X ● Features – Compile, package, deploy to device or virtual machine – Management capabilities are built in; Upgrades, New Targets, New architectures – Tools in the SDK are can be used to develop all parts of Sailfish ● Technology preview soon available at http://sailfishos.org Sailfish, Jolla & Open Source ● Sailfish is based on Mer – “Mer is an open, mobile-optimised, core distribution aimed at device manufacturers; powered by Qt/QML and HTML5 - openly developed, inclusive, and meritocratically governed.” - merproject.org ● Sailfish utilizes parts of Nemo Mobile – “Nemo Mobile is a Linux distribution for mobile devices. Nemo uses Mer as core and the UX is based on MeeGo Handset UX. The Nemo Mobile project continues the work started in the MeeGo Community Edition to create open community driven OS and apps.” - Nemo wiki ● Both Mer and Nemo are developed in the open – Contributions are more than welcome ● Jolla contributes heavily to both and the related upstream projects.
    [Show full text]
  • Bringing to Your Connected Devices Using the Yocto Project
    Connected Bringing to your connected devices using the Yocto Project. Leon Anavi Philippe Coval Konsulko Group Samsung Open Source Group / SRUK [email protected] [email protected] [email protected] 2016 -01-31 FOSDEM 1 https://wiki.tizen.org/wiki/Yocto Agenda • Introduction to Tizen • Building Tizen using Yocto/OE • Connected device with IoTivity • Showcases • Contributing to Tizen 2 Tizen • Free and open source software platform • Uses mainline Linux Kernel • Introduces a profile concept • Multiple architectures (32/64 bits, ARM/x86) • Cross graphics system (Wayland/X11) • Supports native applications (EFL) • or HTML5 web apps 3 Tizen 3 Profiles • Tizen:Common • IVI (automotive) • Wearable • Mobile • TV • Micro (headless) 4 How to build Tizen from scratch? • GBS (Git Build System) • Supported workflow : GBS, MIC … • Uses tizen Infra (OBS) • Yocto / OpenEmbedded (OE) • Alternative build system • Standalone 5 The Yocto Project Linux foundation collaborative project • create custom Linux-based systems • for embedded devices • use OpenEmbedded framework • Industry & community support 6 Tizen on Yocto Project which aims at building Tizen images using the tools provided by the Yocto Project Tizen distribution layer (meta-tizen) for Yocto/OpenEmbedded Easy to setup for ARM or Intel 7 Building Tizen Yocto/OE (1/3) • Download tizen-distro git clone git://review.tizen.org/scm/bb/tizen-distro cd tizen-distro • Download meta layers: • with board support packages (BSP) • Initialize build environment source ./tizen-common-init-build-env build-common 8 Building Tizen Yocto/OE (2/3) • Configure conf/local.conf MACHINE ??= "intel-corei7-64" PARALLEL_MAKE ?= "-j 8" BB_NUMBER_THREADS ?= "8" ... • Add BSP meta layer(s) to conf/bblayers.conf ..
    [Show full text]