Raspberry PI上编译Alljoyn 14.12
来源:互联网 发布:奇葩网络 编辑:程序博客网 时间:2024/05/24 03:44
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插座)通信的文章,欢迎各位大神对我的文章提出批评和问题。
- Raspberry PI上编译Alljoyn 14.12
- 树莓派(Raspberry Pi)编译AllJoyn源代码
- 在raspberry Pi上编译安装Nginx服务器
- Raspberry Pi平台上编译XBMC的方法
- Raspberry PI上安装OpenWRT
- 解决Windows上交叉编译qt gdb for raspberry pi报错
- 在Ubuntu 16.04上为树莓派(RaspBerry Pi 3)编译Android 7(Nougat)
- [raspberry pi] 树莓派 Kernel 编译笔记
- 编译Raspberry Pi的Linux Kernel
- 交叉编译Raspberry Pi 内核记
- 为Raspberry Pi 2编译内核模块
- 【Raspberry Pi 3试用体验】+编译opencv
- raspberry pi 3 编译安装kernel
- Raspberry Pi上成功安装Redmine
- Raspberry Pi上源码安装FusionPBX
- Raspberry Pi上源码安装FreeSwitch
- 在Raspberry Pi上安装ArchLinux
- Raspberry Pi 上的 Pidora 中文化
- ThinkPHP中的或,且结合查询方法
- 打电话,发邮件(UIApplication使用小技巧)
- 构建简易网络与网络设备的简单配置(Cisco Packet Tracer)第三弹:动态路由协议配置
- C++中字符串字面值和字符相加
- 微软100题第3题:求子数组的最大和
- Raspberry PI上编译Alljoyn 14.12
- WAS(websphere application server)发布web工程对web.xml的影响(strus配置文件无法生效)
- Java 线程池学习
- OS X - 使用 SSSiS 搜索于 Safari
- 如何破解GRE填空的7种方法?
- SharePoint 2013 开发——发布SharePoint应用程序
- MySQL配置优化(一)——慢查日志
- 【算法学习】AVL平衡二叉搜索树原理及各项操作编程实现(C++)
- AlertDialog.Builder(各种对话框实现)