项目简介
本项目是一个名为xmppconn的工具,其主要功能是桥接两个AllJoyn网络。通过XMPP协议,xmppconn能够在AllJoyn网络之间建立连接。它可以与执行相同功能的程序(如另一个xmppconn实例或使用Java编写的Android程序)进行连接,让移动设备即便未直接连接WiFi网络,也能通过WiFi继续连接AllJoyn网络。
项目的主要特性和功能
- AllJoyn与XMPP桥接:实现AllJoyn和XMPP之间的桥接,使AllJoyn设备能通过XMPP协议与其他AllJoyn设备通信。
- 多平台支持:支持与执行相同功能的程序连接,如其他xmppconn实例或Android程序。
- 移动设备通信:允许移动设备在未直接连接WiFi网络时,仍能与本地AllJoyn网络通信。
- 事件监听:提供
CommonBusListener
类用于监听总线事件和会话事件。 - 会话管理:提供
SessionTracker
类用于管理会话的跟踪和状态。 - 工具类:实现
xmppconnutil
工具类,可进行XML字符串的转换、清理、压缩、解压缩,以及AllJoyn BusObject信息的获取和解析。 - XMPP通信:提供
XmppTransport
类,处理与XMPP服务器的连接、断开连接、消息收发、Presence和Roster状态处理。
安装使用步骤
1. 获取并安装依赖库
- libxml2:用于XML解析。
- libstrophe:用于XMPP协议的实现。
- RapidJSON:用于JSON处理。
2. 编译xmppconn项目
bash
export CPU=x86
export OS=linux
export VARIANT=release
export ROOTPATH=~/src
mkdir -p $ROOTPATH
安装libxml2
bash
sudo apt-get update
sudo apt-get install libxml2-dev
安装libstrophe
bash
cd $ROOTPATH
cd libstrophe
./bootstrap.sh
./configure --with-libxml2 --prefix=/usr
make
sudo make install
安装RapidJSON
bash
cd $ROOTPATH
sudo cp -r rapidjson/include/rapidjson /usr/include/
3. 编译xmppconn
bash
cd $ROOTPATH
git clone https://bitbucket.org/affinegy/xmppconn.git
cd xmppconn
scons BINDINGS=cpp OS=$OS CPU=$CPU VARIANT=$VARIANT WS=off POLICYDB=on USE_GATEWAY_AGENT=off
4. 配置xmppconn
创建并配置xmppconn_factory.conf
文件:
bash
mkdir -p $ROOTPATH/gateway/xmppconn/build/conf
cp $ROOTPATH/gateway/xmppconn/conf/xmppconn_factory.conf $ROOTPATH/gateway/xmppconn/build/conf/
编辑xmppconn_factory.conf
文件,设置必要的信息如ProductID
、SerialNumber
等。
5. 运行xmppconn
作为正常AllJoyn应用运行
bash
sudo service alljoyn start
sudo mkdir -p /etc/xmppconn
sudo cp $ROOTPATH/gateway/xmppconn/build/conf/xmppconn_factory.conf /etc/xmppconn/
cd $ROOTPATH/build/bin
sudo ./xmppconn
作为AllJoyn Gateway Connector应用运行
bash
sudo mkdir -p /opt/alljoyn/apps/xmppconn/acls
sudo mkdir -p /opt/alljoyn/apps/xmppconn/bin
sudo mkdir -p /opt/alljoyn/apps/xmppconn/lib
sudo mkdir -p /opt/alljoyn/apps/xmppconn/store
sudo mkdir -p /opt/alljoyn/apps/xmppconn/etc
sudo chown -R xmppconn /opt/alljoyn/apps/xmppconn
sudo chgrp -R xmppconn /opt/alljoyn/apps/xmppconn
sudo cp $ROOTPATH/gateway/xmppconn/Manifest.xml /opt/alljoyn/apps/xmppconn
sudo cp $ROOTPATH/gateway/xmppconn/build/conf/xmppconn_factory.conf /opt/alljoyn/apps/xmppconn/etc/
sudo service alljoyn-gwagent start
6. 验证xmppconn
通过XMPP协议,连接和通信AllJoyn设备。可以使用CHARIOT Join等工具验证设备间的通信。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】