开源项目 AllJoyn 基础服务

AllJoyn 基础服务主要包括 Onboarding,Notification 和 Control Panel三个大项。 这三个也是编写App的最基础的,最常用的部分。


Onboarding

提供了一种标准的让设备接入WiFi网络的方式。

这里定义了两个角色:

Onboarder(登录器):一个运行在智能设备上的App。

Onboardee(登陆者):准备添加到网络中的设备。

基本流程

  • Onboarder 发现设备需要登录到网络中
  • 连接,并提供配置信息
  • Onboardee验证是否可以登录到网络中,并通知Onboarder结果

Notifications

通知服务框架作用:通过简单并且标准的接口发送和接收人们可读的信息。

特点:

  • 其内容都是文本格式的
  • 它工作方式是跨设备,跨系统,跨连接方式的。
  • 发送端通知可以被划分优先级
  • 接收端可以配置接收通知的类型。

一个冰箱门没关的例子:

当冰箱门没关超过了5分钟,冰箱会将这个信息以通知的形式发送到电视上。



这是Notification的框架图示

这里可以比较清楚的看到Notification Service 在整个系统中所处的位置。它向上层App 可以提供接口,向下可以与Core通信,处于中间层的一个位置。


Control Panel

它主要是提供了设备远程接入的基础设施接口。

  • 其中系统中分为控制者和被控制者。
  • 被控制者通过 Control Panel Framework对外提供控制接口。
  • 控制者则使用这些接口向被控制者发送命令,并获得返回结果。

一个控制冰箱温度的例子

App向冰箱发出指令获得当前温度,冰箱返回当前温度,控制App发出指令改变冰箱温度。

Control Panel 的框架图示

从图中可以清晰的看到,Control Panel完全是定义在上层App中的,并且接口也是由App提供。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-03 23:43:28

开源项目 AllJoyn 基础服务的相关文章

开源项目 AllJoyn 初识

简介 AllJoyn 高通的一个开源项目,针对IoT的.光看到介绍第一个感觉就是高大上啊! 它要解决的问题是物联网中互联互通的问题,一个好大平台. 从它介绍的PPT的两张图比较一下就会比较清楚了. 第一张图中它描绘的是现状,各个设备厂商虽然都对外提供了物联网接口,云接口,但各个设备没有互联互通,各自为政,群雄割据.用户的手机上要装好多的APP. (图片引用来自AllJoyn 介绍 intro_to_alliance_3.10.2015_Brooks) 第二张图中描绘的已经是一个简洁的世界,各个设

开源项目 AllJoyn 框架

AllJoyn框架概述 AllJoyn实现的是一个"分布式软件总线" 总线为点对点模式 协议不依赖于网络 这三点是从介绍的PPT中翻过来的,但理解简单理解一下看以认为,这个框架是分布式的一个中间层通信框架,主要是支持点对点通信,并且由中间层屏蔽了底层物理网络的差异,对上层高级编程语言直接提供接口. 高层系统框架 此图摘自(AllJoyn - Tech Overview v3_for Brooks) 从高层的这个框架中可以看出系统中只有两种节点: Routing Nodes (RN) L

基础架构、基础服务、基础平台、基础中间件等等

前言 程序开发毕竟还不是搬砖这种无脑体力劳动,需要事先有标准,有架构,有设计,绝对不是新公司今天创立,明天就可以开始编码的.其实很多公司在起步的时候没有财力和资源建设独立的基础架构或平台架构部门,甚至运维团队都没有,但是这不妨碍我们心中有一个蓝图知道努力的方向,本文我们就简单聊聊平台架构相关的工作内容(或者说作为一个技术管理,应该去梳理.统一.明确的部分)的蓝图.由于本文覆盖的内容比较多,只能抛砖引玉大概提一些,无法一一展开太详细的东西.图中的数字是我认为的优先级,仅供参考. 规范 规范它虽然不

Github开源项目

日志组件: https://github.com/exceptionless/Exceptionless eshoponcontainer:https://github.com/dotnet-architecture/eShopOnContainers 分布式微服务框架,提供高性能RPC远程服务调用: https://github.com/dotnetcore/surging 基于Service fabric + Ocelot + Identity Server4 + 52ABP 的案例展示: 

我的开源项目-------远程布隆过滤器服务

由于项目需要 所有的downserver node 都需要访问一个公共的布隆过滤器 也就是要做一个跨网络挺供的布隆过滤器服务中间产品. 同时要保证非常非常高的实时性 所以在这里 所以现在必须要做一个这样的中间服务系统.主要实现如下功能: 1 客户端远程传入一个需要存入读或者写入布隆过滤器的string.服务器端提供一个布隆过滤器服务 通过N个哈希函数映射到相应的bit位写入或者读出函数. 2 拥有丰富的配置 [具体看开源项目需要] 3 要拥有主从服务配置和持久化模式[这2种可以借鉴REDIS服务

DIOCP开源项目-高效稳定的服务端解决方案(DIOCP + 无锁队列 + ZeroMQ + QWorkers) 出炉了

[概述] 自从上次发布了[DIOCP开源项目-利用队列+0MQ+多进程逻辑处理,搭建稳定,高效,分布式的服务端]文章后,得到了很多朋友的支持和肯定.这加大了我的开发动力,经过几个晚上的熬夜,终于在昨天晚上,DEMO基本成型,今天再加入了QWorkers来做逻辑处理进程,进一步使得逻辑处理进程更加方便和高效.今天特意写篇blog来记录我的心得与大家分享. [功能实现说明] 沿用上次的草图 目前DEMO图上的功能都已经实现.下面谈谈各部分的实现. 通信服务, 由DIOCP实现,担当与客户端的通信工作

关于Linux开源项目基础组件make编译流程

?? 关于Linux开源项目基础组件make编译流程 非常多Linux开源项目都会用到编译出可运行文件的make.这个是有一套流程的. 首先,GNU构建系统:https://en.wikipedia.org/wiki/GNU_build_system 使用Autotool来编译和管理整个产品的生产流程. 就是以下这张图: 这里面须要先了解make和makefile make:https://en.wikipedia.org/wiki/Make_(software) makefile:https:

【搜索引擎基础知识3】搜索引擎相关开源项目及网站

部分内容转自:http://blog.csdn.net/hguisu/article/details/8024799 一. 开源项目 1.Lucene全文检索系统 http://lucene.apache.org和 http://www.lucene.com.cn/ Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文

微服务开源项目ServiceComb

一.微服务开源项目ServiceComb全球最大的开源软件基金会Apache软件基金会(以下简称Apache)于北京时间10月24日宣布Apache ServiceComb 毕业成为Apache 顶级项目.二.有关下载,文档以及参与Apache ServiceComb的方法请访问http://servicecomb.apache.org/https://twitter.com/ServiceComb. 原文地址:http://blog.51cto.com/14042154/2309063