[AllJoyn] 2, IoT open source software framework AllJoyn Research (ii)--Preliminary understanding

Source: Internet
Author: User

The AllJoyn SDK Concepts[alljoyn application exposes its functionality to objects through APIs, and most applications expose only one object, and sometimes the parent object is automatically generated (when the applied object is not root) ; object can inherit one or more interfaces]

Exposing functionality
AllJoyn applications expose their functionality via APIs implemented in objects
–most applications would expose only a single object
–object hierarchies is supported if required by appli cation model
? AllJoyn would create parent objects automatically if Application object is not the root
objects implement one or More Interfaces
–these is the APIs that can is discovered using about
interfaces is composed of Members, which fall to three categories
–methods–classic OO object Interaction
–signals–asynchrono US event notification
? Can be broadcast, multicast, or point-to-point
? Can also send a sessionless signal:a broadcast Signal that doesn ' t require an application session to be delivered
–PR Operties–data members
? These is accessed by built-in Get/set methods
All of the information can be introspected remotely


AllJoyn SDK Concepts

Bus Attachment is required to interact with/over the bus
–they is the application ' s presence on the AllJoyn Bus
–they provide the root (/) of the object hierarchy
Objects is published to local Bus Attachment
–object path names look like file paths
? e.g./games/chess
Proxy Objects
–local representation of a remote object
Signal handlers is registered with the Bus Attachment
–registered by applications to take action when a signal is
Received
Sessions
–flow Controlled connections between applications
–can be point-to-point or multipoint



AllJoyn SDK Concepts

Method Calls and Signals
Method Calls is made by using Proxy Objects
–this results in a method call message being sent to the object the proxy object represents
–method handler is invoked to execute Method and generate the reply
, Haven method Reply is sent by the object back to the proxy object
Signals is emitted by Objects and consumed by Signal handlers
–sessionless signals work the same-to-the-a-do-not require the application to create a session
? They is broadcast and is delivered to any apps interested in receiving sessionless signals
? Only a single instance of a signal would be sent, i.e. if the same signal was emitted multiple times, only the last would be Delivered
–useful for sending isochronous data, such as state updates

AllJoyn SDK Concepts

Object Model
As stated earlier, the Object model is similar for all language bindings
–create a busattachment to connect to the bus
–create businterface(s) that'll be implemented by Busobjects
–create and register busobject(s) with the busattachment
busobjects handle remote method calls and emit signals
–applications call methods on remote objects using proxybusobjects
–applications register Signal handlers with busattachment

Security Concepts

Design of Security Framework

authentication and encryption are designed to be App-to-app
–trust Relationship established Betwee n the applications*
? There is no trust relationship established on the device level
, Haven Router are not involved other than to route the MES Sages
–device pairing not required unless the transport requires it
Security is enabled per Interface
–authentication and key exchange initiated on demand
–applications can has a mixture of secured interfaces an D Open Interfaces
security-enabled interface
–authentication is required to make method calls
–authentication required to receive signals
–all messages is encrypted
? Regardless of authentication mechanism, encryption always uses same AES-128 CCM algorithm
* Applications could Be firmware of embedded device

Security Model Authentication and Encryption

Built-in authentication mechanisms

four mechanisms supported
–mechanism negotiated using SASL protocol
–mechanism chosen by APPL Ication developer
–most mechanisms adapted from TLS protocols per RFC 5256
simple Pin-code pairing
–specifically for Thin Client applications, lack resources to support big-number arithmetic
pin-code S RP
–pairing with a single-use password using Secure Remote password protocol
Logon SRP –user name and password using Secure Remote password protocol
–password required every time peers connect
certificate-based
–rsa Public key authentication and certificate-based
–trust relationship Lasts while certificate valid

Base Services
AllJoyn Base Services for fundamental use cases
• Standard AllJoyn building blocks for generically useful services
–onboarding
–notifications
–control Panel
–config
accelerate application and device development


Onboarding Service

Onboarding
Provides a standard-to-get devices onto a WiFi Network
–onboarder is an application running on a smart device
–onboardee is the device to being added to the WiFi network
Basic Flow
–onboarder discovers device, needs to be onboarded
–connects to it, and provides configuration information
–onboardee verifies it can connect
? Informs Onboarder that it had been successful or not

Onboarding Service



Notification Service Framework
AllJoyn notifications Service Framework
simple, standardized interface for Sending and receiving human-readable messages
–contents is text
? Possible To reference image, audio, video:application can fetch media using reference
–works across devices, Operatin G Systems and connection types
? WiFi, Ethernet, PLC, etc ...
–producer (Sender) can assign-notification
–consumer (receiver) can configure preferences on types of Notifications it receives
Examples
–refrigerator could send a notification that freezer door have been left open for more than 2 minutes
? This could is rendered on any producer:mobile device, TV, set top box, etc ...
–washing Machine can send a notification if wash cycle is complete

Notification Service

Control Panel Service Framework
Control Panel Service Framework
Infrastructure for exposing user interfaces for devices remotely
–model is there is a controller and a Controllee
–controlee exposes it ' s UI using the framework,
–controller renders the UI and sends control commands back to Controllee base on UI input
–defined such that any control application using the framework can render a Controllee exposed UI
? That's a generic app can control any of the type of devices that exposes controls using the This framework
Examples
–after receiving a notification that the oven have been on broil for 5 minutes a user could bring up the ovens
Control Panel and change the setting to ' bake at ' to keep the food warm
–a user could check the current values of A refrigerator (including current temperature) and modify the
Settings to make things hotter or colder as needed.


Control Panel Service Framework Example

Control Panel Service High Level Architecture

[Genuine Please search: beautifulzzzz (see the Landlord Blog Park Official blog, enjoy a high quality of life)]

[If you also like the smart hardware things, can make a friend ~]

[If you are ambitious, can unite each hero's heroes, can also leave a message ~]

AllJoyn Continuous Update ... \ (^o^)/~

[AllJoyn] 2, IoT open source software framework AllJoyn Research (ii)--Preliminary understanding

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.