开发工具

• scons:一个 Python写的自动化构建工具,是对 gnu make 改进的替代工具

• D-Feet:一个D-Bus调试工具

• C++ Code Generator Tool (ajcppgen)
– 根据 service interface 定义自动生成 C++ 框架代码的工具
– 输入是XML文件,描述 service object(s) and interface(s)
– 输出是C++ 文件,包括 service 端和 client 端

Ubuntu下 AllJoyn源码编译方法

• 预先准备工作:
– 成功编译过的完整 Android源码,假设路径为 /home/zhuangwf/android/
– 安装 JDK 1.6,假设安装到 /usr/java/jdk1.6.0_30/
– 设置如下环境变量(可加到 /etc/profile 或 ~/.bashrc 中):
export JAVA_HOME=/usr/java/jdk1.6.0_30
export CLASSPATH=JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:/home/zhuangwf/android/out/host/linux-x86/framework/junit.jar
export PATH=JAVAHOME/bin:PATH
– 安装 Android NDK r7,假设安装路径为 /home/zhuangwf/android-ndk-r7/
– 安装 scons:apt-get install scons
– 安装 uncrustify (版本0.57 is OK)
– AllJoyn源码,假设路径为 /home/zhuangwf/alljoyn/

• 编译源码的命令:
scons OS=android CPU=arm ANDROID_NDK=/home/zhuangwf/android-ndk-r7/ ANDROID_SRC=/home/zhuangwf/android/ ANDROID_TARGET=generic WS=off

Ubuntu下AllJoyn sample app编译和运行方法

• 预先准备工作:
– 安装 eclipse 和 Android SDK

• 编译 sample应用程序:
– sample app 有C++写的(带java写的UI) 也有纯 Java 写的,其中 Java sample app 源码位于 /home/zhuangwf/alljoyn/alljoyn_java/samples/android/,经实际验证OK
– 用 eclipse 编译 sample app

• 运行 sample app方法:
– 安装 sample app 之 .apk 到各设备上
– adb push /home/zhuangwf/alljoyn/build/android/arm/debug/dist/bin/alljoyn-daemon
到各设备上
– 各设备连接 WiFi
– 在各设备 adb shell 下运行:alljoyn-daemon –internal –fork
– 在各设备上运行 sample app

AllJoyn应用案例

• NearVerse 公司,在其产品 LoKast 的 Android 版本上 使用了 Alljoyn 技术

• Aliph公司,音乐共享软件JamJoyn

• 一些 multi-player游戏:例如 QwikDraw、Spudball

• 国内公司:
– Tencent QQ Chat & Contact Share
– A-One Gaming
– Tapas Business Card Sharing
– DuoMi Music
– AliPay by Alibaba

• 此外,高通已在其参考设计 Qualcomm Reference Design (QRD)上将 AllJoyn集成到 Android中,作为 缺省的功能提供给设备制造商和应用开发者

存在的问题

• AllJoyn只 供了一个基本的通用的P2P框架,没有供针对特定应用类型的profile,例如象 DLNA 那样专门面向媒体应用的框架或者象 bluetooth 那样供各种应用profile,需应用程序自己实现

• AllJoyn框架中未定义类似于 UPnP 的设备 述、服务 述机制,service的命名、方法的定义等也都没有统一 的规范和标准,均需由应用程序自行约定(因此 service端和 client端应用程序需由同一开发者开发维 护)

• 在企业办公环境中因 WiFi AP 往往被设为禁止转发 IP 组播包,因而 AllJoyn 设备发现失效(其他类似技术例 如UPnP也存在同样问题)

• AllJoyn 主要解决设备发现和连接,比较适合基于简单 数据传输的控制类应用,不适合实时大数据量传输应用 (例如流媒体),对这类应用需与其他技术相结合。

Alljoyn 概述(3)的更多相关文章

  1. Alljoyn 概述(2)

    AllJoyn 基本概念 • 总线(Bus) – 实现P2P通信的基础 – AllJoyn 的底层协议类似于D-Bus,相当于是跨设备分布式的 D-Bus • 总线附件(Bus Attachment) ...

  2. Alljoyn 概述(1)

    Alljoyn Overview Feb. 2012- AllJoyn 是什么? • 2011年2月9日发布,由 QuiC(高通创新中心)开发维护的开源软 件项目,采用 Apache license ...

  3. AllJoyn 了解

    AllJoyn是一个中性平台系统,旨在简化邻近异构分布式移动通信网络系统.这里的异构性不仅表示不同的设备,而且可以是具有不同操作系统和不同类型的设备(例如个人电脑.手机.平板电脑和消费性电子产品),并 ...

  4. 【AR实验室】ARToolKit之概述篇

    0x00 - 前言 我从去年就开始对AR(Augmented Reality)技术比较关注,但是去年AR行业一直处于偶尔发声的状态,丝毫没有其"异姓同名"的兄弟VR(Virtual ...

  5. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  6. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

  7. .Net 大型分布式基础服务架构横向演变概述

    一. 业务背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支持用户,订单,采购,物流,配送,财务等多个项目的协作,便于后续运营报表,分析,便于运维及监控. 二. 基础 ...

  8. [C#] 进阶 - LINQ 标准查询操作概述

    LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...

  9. 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

随机推荐

  1. lc面试准备:Partition List

    1 题目 Given a linked list and a value x, partition it such that all nodes less than x come before nod ...

  2. PL/SQL 异常处理

    SQL> set serveroutput on SQL> declare   name varchar2(10); begin   select ename into name from ...

  3. 在ubuntu14.04 64位中使用jd-gui

    使用时提示缺少库,输入命令sudo apt-get install libgtk2.0-0:i386 libxxf86vm1:i386 libsm6:i386 lib32stdc++6 参考:http ...

  4. 大型系统OA--技术

    OA办公自动化系统--技术 1.由于涉及企业的流程控制与规则管理.所以系统对于规范要求的严谨性,导致在小型开发组在进行开发时必须基于成熟的技术架构.开源的lemon OA,采用了如下技术细节: mys ...

  5. HDFS Block Replica Placement实现原理

    1. 背景   Block Replica Placement——数据块复本存储策略,HDFS Namenode以此为依据选取数据块复本应存储至哪些HDFS Datanodes,策略的设计需要权衡以下 ...

  6. Eclipse C/C++环境配置

    一.C/C++环境配置: Window - Preferences - C/C++ 1. Editor - Content Assist - Auto-Activation - Delay(ms),原 ...

  7. gcc编译器参数使用及解决

    gcc -c CStringAndPointer.c -o CStringAndPointer.o 执行时出现问题: ./CStringAndPointer.o bash: ./CStringAndP ...

  8. Linux学习笔记6——映射虚拟内存

    使用到两个函数mmap:用于分配内存:munmap:用于释放内存. mmap的原型如下: void *mmap(    void *start,   //指定映射的虚拟地址 0由系统指定开始位置    ...

  9. 低压差稳压器AMS1585

    (1)高效线性稳压. (2)输出高达4.6A,最高输入电压15V,推荐最低压差1.5V(最低1.35V),最大压差12V. (3)两种封装:TO220(直插式),TO230(贴片). 典型电路如下图所 ...

  10. 向MyEclipse中导入项目要注意的问题

    如何导入 修改项目名称(路径) 修改类库 如何导入: 右键Package Explorer -> Import 如果是把别人的项目拷贝到自己的工程中,而且又改了项目名称,那么发布之前一定要改一个 ...