简介
AllJoyn,由高通公司主导的高通创新中心(Qualcomm Innovation Center)所开发的开放源代码专案,主要用于近距离无线传输,透过Wifi或蓝牙技术,进行定位与点对点档案传输。这个专案在2012年对外公开。官方网站:https://www.alljoyn.org/announcement
一.下载:
我是在ubuntu上下载的AllJoyn项目,首先安装了git工具
$ sudo apt-get install git
然后用git命令下载整个项目,整个项目下载后并不大,里面都是源代码。
$ git clone https://git.allseenalliance.org/gerrit/p/All-Projects.git
二.在Windows 7 系统下的编译
用Git下载完之后,我们需要对源代码进行编译
1.编译工具
a.在Windows 7上安装Python2.7环境,并配置环境变量
b.安装scons工具,下载之后,在cmd中切换到安装目录,然后执行
> python setup.py install
c.下载并安装Visual Studio 2012,主要是使用VC11编译器
2.在cmd下,将目录切换到AllJoyn的core目录下,如下图
3.使用scons -h命令,检查环境
scons: Reading SConscript files ...
BULLSEYE_BIN not specified
Using CNG crypto libraries
GTEST_DIR not specified skipping common unit test build
BULLSEYE_BIN not specified
GTEST_DIR not specified skipping alljoyn_core unit test build
scons: done reading SConscript files.
V: Build verbosity
default: 0
actual: 0
OS: Target OS (winxp|win7|win8|android)
default: win7
actual: win7
CPU: Target CPU (x86|x86_64|arm)
default: x86
actual: x86
VARIANT: Build variant (debug|release|Debug|Release)
default: debug
actual: debug
BD: Have bundled daemon built-in for C++ test samples (on|off)
default: on
actual: on
DOCS: Output doc type. Setting the doc type to "dev" will produce HTML
output that includes all developer files not just the public API.
(none|pdf|html|dev|chm|sandcastle)
default: none
actual: none
WS: Whitespace Policy Checker (check|detail|fix|off)
default: check
actual: check
GTEST_DIR: The path to Google Test (gTest) source code ( /path/to/GTEST_DIR )
default: None
actual: None
BULLSEYE_BIN: The path to Bullseye Code Coverage ( /path/to/BULLSEYE_BIN )
default: None
actual: None
MSVC_VERSION: MSVC compiler version - Windows (9.0|10.0|11.0|11.0Exp)
default: 11.0
actual: 11.0
OBJDIR:
default: build/${OS}/${CPU}/${VARIANT}/obj
actual: build/win7/x86/debug/obj
DISTDIR:
default: #build/${OS}/${CPU}/${VARIANT}/dist
actual: #build/win7/x86/debug/dist
TESTDIR:
default: #build/${OS}/${CPU}/${VARIANT}/test
actual: #build/win7/x86/debug/test
WIN7_MSI: Build the .MSI installation package (false|true)
default: false
actual: false
OPENSSL_BASE: Base OpenSSL directory (windows only) ( /path/to/OPENSSL_BASE )
default: None
actual: None
ICE: Enable ICE Transport (on|off)
default: off
actual: off
4.正式编译
在命令行中输入:scons
大约需要几分钟的时间,才能编译完,编译结束后,文件大小将变成1个G那么大。
5.编译alljoyn_java
在cmd中将目录切换到alljoyn_java目录下,然后执行scons编译,编译时间需要几分钟的时间。编译完成后,我们主要需要使用的是:alljoyn_java.dll
注:编译alljoyn_java时需要系统已经安装了JDK,并新建了JAVA_HOME环境变量
三.移动平台Android和iOS
对于android和ios,alljoyn提供了完善的sdk和demo。不需要额外编译了。
下载地址:https://www.alljoyn.org/docs-and-downloads
6.Chat应用举例:
编译完成后,在路径F:\AllJoyn\All-Projects\alljoyn\alljoyn_c\build\win7\x86\debug\dist\cpp\bin\samples下有Chat.exe可执行文件, 我们就可以试运行如下:
1)打开2个cmd窗口,切换到该目录下
$ cd /d F:\AllJoyn\All-Projects\alljoyn\alljoyn_c\build\win7\x86\debug\dist\cpp\bin\samples
2)在第一个窗口中运行
$ chat -s ROOM (建立一个名为ROOM的聊天室)
在另外一个CMD中加入这个名为ROOM的聊天室。
$ chat -j ROOM
随后就可以聊天了。安卓客户端也可以参与聊天了。
谢谢大家