您的位置:首页 > 编程语言 > ASP

Raspberry PI上编译Alljoyn 14.12

2015-06-26 16:23 801 查看
Raspberry PI上编译Alljoyn 14.12

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

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

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

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

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

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

闲话少说。

第一步 下载AllJoyn

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

第二步 将下载的AllJoyn代码源拷贝到Raspberry上

关于将文件移动到Linux上的方法很多了啊,可以用windows自带的Ftp做个服务器,可以用Linux的samba做个文件共享,也可以用U盘挂载。

第三部 进入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-


然后就是漫长的编译时间。。

直到出现以下画面



恭喜你,已经编译成功。

第四部 测试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库相关的程序了。

运行结果如下





到此本文就结束了,下一步我准备尝试写篇如何用java实现与现有的Alljoyn设备(Lifx智能灯, Powertech的SmartPlug插座)通信的文章,欢迎各位大神对我的文章提出批评和问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息