Difference between revisions of "IoTGateway/AllJoyn"

From ESS-WIKI
Jump to: navigation, search
Line 38: Line 38:
 
AllJoyn Standard Core Library (AJSCL) are designed to run on general-purpose computers which usually have significant amounts of memory and power. Othe other hand, AllJoyn Thin Core Library (AJTCL) is designed for embedded systems.
 
AllJoyn Standard Core Library (AJSCL) are designed to run on general-purpose computers which usually have significant amounts of memory and power. Othe other hand, AllJoyn Thin Core Library (AJTCL) is designed for embedded systems.
 
A Thin Core Library is completely interoperable with AJSCL. Since the AllJoyn network wire protocol is completely implemented on both types of such a system, AJSCL can be completely unaware of the fact that they are talking to Thin Core Libraries, and vice versa.
 
A Thin Core Library is completely interoperable with AJSCL. Since the AllJoyn network wire protocol is completely implemented on both types of such a system, AJSCL can be completely unaware of the fact that they are talking to Thin Core Libraries, and vice versa.
 +
 +
==Core Framework==
 +
===Session & Port===
 +
===Bus Attachment & BusObject===
 +
===D-Bus (Distributed Bus)===
 +
===Well Known Name, Interface & Port===
 +
===Advertisement & Discovery===
 +
 +
==SUSI Alljoyn Service==
 +
 +
==Demo==
 +
*[https://www.youtube.com/watch?v=kX4TTAsMERk ADF 2015 - Alljoyn Demo]
 +
*[https://www.youtube.com/watch?v=jYDRW6tsoI8 Alljoyn SUSI Service Demo]
 +
 +
==References==
 +
*[https://allseenalliance.org/developers/learn Alljoyn Official-Site]
 +
*[https://developer.qualcomm.com/software/alljoyn AllJoyn Proximal Connectivity Platform]
 +
*[http://cdn.oreillystatic.com/en/assets/1/event/61/Peer-to-Peer%20Technology_%20Driving%20Innovative%20User%20Experiences%20in%20Mobile%20Presentation.pdf Peer-to-Peer Technology: Driving Innovative User Experiences in Mobile (PDF)]
 +
*[https://events.linuxfoundation.org/images/stories/pdf/lf_abs12_lioy.pdf The AllJoyn™ Open Source Project (PDF)]
 +
*[https://allseenalliance.org/framework/documentation/develop/tutorial/thin-app#set-up-remote-access Build an Application Using the Thin Library]
 +
*[https://allseenalliance.org/framework/documentation/develop/api-guide/about/c-thin Thin Core API Guide - About]
 +
*[https://allseenalliance.org/framework/documentation/develop/api-guide/config/c-thin Thin Core API Guide - Config]
 +
*[https://allseenalliance.org/framework/documentation/develop/api-guide/controlpanel/c-thin Thin Core API Guide - ControlPanel]
 +
*[https://allseenalliance.org/docs/api/thin-client/index.html Thin Core API Reference]

Revision as of 07:24, 2 February 2016

A software framework that provides proximity-based P2P network management.

History

Alljoyn is launched on Feb. 9, 2011 by QuIC (Qualcomm Innovation Center, Inc.). Until Jun. 2015, it's over 160 members such as Qualcomm, Microsoft, LG, Sony, Sharp, Panasonic, etc. The design goal is to easily allow developers to create apps and services that leverage P2P connectivity.

Supported Features

  • Transports
    • Wi-Fi, Ethernet, Serial, Power Line (PLC)
  • Bindings
    • C, C++, Objective-C, Java
  • Platforms
    • RTOS, Arduino, Linux, Android, iOS, Windows, Mac
  • Security
    • peer-to-peer encryption (AES128) and authentication (PSK, ECDSA)

Architecture

The AllJoyn framework comprises AllJoyn Apps and AllJoyn Routers. Apps can only communicate with other Apps by going through a Router. Alljoyn arch.png

Alljoyn Standard Application

Alljoyn app.png

Alljoyn application consists of 3 parts: App Code, Service Framework Libraries & AllJoyn Core Library.

  • AllJoyn App Code
    • It can be programmed to either the AllJoyn Service Frameworks Libraries or the AllJoyn Core Library.
  • AllJoyn Service Framework Libraries
    • Implement a set of common services, like onboarding, notification, or control panel.
  • AllJoyn Core Library
    • Provides the lowest level set of APIs to interact with the AllJoyn network, such as advertisements and discovery, session creation, etc.
  • AllJoyn Router
    • Routes AllJoyn messages between AllJoyn Routers and Applications

Alljoyn Thin Application

Alljoyn thin.png

AllJoyn Standard Core Library (AJSCL) are designed to run on general-purpose computers which usually have significant amounts of memory and power. Othe other hand, AllJoyn Thin Core Library (AJTCL) is designed for embedded systems. A Thin Core Library is completely interoperable with AJSCL. Since the AllJoyn network wire protocol is completely implemented on both types of such a system, AJSCL can be completely unaware of the fact that they are talking to Thin Core Libraries, and vice versa.

Core Framework

Session & Port

Bus Attachment & BusObject

D-Bus (Distributed Bus)

Well Known Name, Interface & Port

SUSI Alljoyn Service

Demo

References