IoTGateway/AllJoyn

From ESS-WIKI
Revision as of 07:02, 2 February 2016 by Daniel.hung (talk | contribs)
Jump to: navigation, search

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.