Raspberry PI上编译Alljoyn 14.12

来源:互联网 发布:奇葩网络 编辑:程序博客网 时间:2024/05/24 03:44

Raspberry PI上编译Alljoyn 14.12

本人初来乍到,本来是个默默无闻的程序猿,每天干着代码搬运工的活,从来不知道分享。

今天突然想来,写代码的,分享就是一个程序猿的品德,做到码如其人,品德高,码德就好。

回归主题,项目原因,我需要用树莓派做个中间件和Ajjoyn设备通讯,其中包裹设备状态信息的读取和设备控制两块。

我也是第一次接触Alljoyn,看到官网上写着开源支持各种编程语言,我幼稚的以为它码源是用纯JAVA写的,那么就不应该有移植问题。

可惜我把高通想太好了,俩面使用JNI调用了大量的C写的库文件。所以如果要在Linux上跑,编译是第一步。

我也是在网上找了不少资料才搞定的。

闲话少说。

  1. 第一步 下载AllJoyn
    打开网页你会找到AllJoyn的各个版本,就本文章写作的时候最新版本是15.04,但是刚出来的新版往往不如上一版本的稳定,因此我选择了14.12作为本次编译的对象。

  2. 第二步 将下载的AllJoyn代码源拷贝到Raspberry上
    关于将文件移动到Linux上的方法很多了啊,可以用windows自带的Ftp做个服务器,可以用Linux的samba做个文件共享,也可以用U盘挂载。

  3. 第三部 进入Raspberry PI 终端输入以下命令

    #sudo /bin/bash#tar -zxvf alljoyn-suite-14.12.00_beta-src.tar.gz -C /opt#cd /opt#mv alljoyn-suite-14.12.00_beta-src alljoyn-14.12#chown -R pi:pi alljoyn-14.12/#export AJ_ROOT=/opt/alljoyn-14.12#apt-get update#apt-get install build-essential#apt-get install scons#apt-get install git#apt-get install curl#apt-get install openssl#apt-get install libssl-dev#apt-get install libjson0#apt-get install libjson0-dev#apt-get install junit4 #export JAVA_HOME=/usr/lib/jvm/jdk-7-oracle-armhf#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/usr/share/java/junit4-4.10.jar#export PATH=$JAVA_HOME/bin:$PATH#ln -s /usr/bin/gcc /usr/bin/arm-angstrom-linux-gnueabi-gcc#ln -s /usr/bin/g++ /usr/bin/arm-angstrom-linux-gnueabi-g++#cd $AJ_ROOT#scons CPU=arm WS=off BINDINGS=c,cpp,java CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-

    然后就是漫长的编译时间。。
    直到出现以下画面
    编译结束
    恭喜你,已经编译成功。

  4. 第四部 测试AllJoyn
    这时候,打开编译后的AllJoyn码源文件夹的build/linux/arm/debug/dist/java,你会发现有jar和lib两个目录
    类库文件
    lib中是jni调用所需要的c库文件 liballjoyn_java.so。
    先将这个文件在/lib和/user/lib里各复制一个。
    然后进入jar目录下将alljoyn.jar在/lib和/user/lib里各复制一个。
    最后分别运行 java -jar JavaSDKDocAboutServer.jar和Java -jar JavaSDKDocAboutClient.jar不报错就说明你的Raspberry PI可以成功运行Alljoyn库相关的程序了。
    运行结果如下
    Alljoyn Server
    Alljoyn Client

到此本文就结束了,下一步我准备尝试写篇如何用java实现与现有的Alljoyn设备(Lifx智能灯, Powertech的SmartPlug插座)通信的文章,欢迎各位大神对我的文章提出批评和问题。

0 0
原创粉丝点击