<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">之所以要些这篇文章,是因为本人之前一直在用arduino系列的实验板做智能家居的实验,然而,随着硬件价格越来越便宜,arduino的价格优势并不是那么明显了,而她的性能一直是其短板,有些任务其实可以不传到远端处理,直接在硬件上运算会更加方便和使用。树莓派,Raspberry Pi(以下就简称Pi),发展到写本文时已经是2b型号,1G4核CPU,2G内存,已经可以进行一些稍微复杂的计算了,而成本估计可以控制在一百元左右,所以非常有竞争力,可以作为智能家居的终端使用。而高通的Alljoyn作为一个发展多年有大量接口和用户群的物联网智能家居开源协议也是非常好用的。那么,废话不多说,Let's start.</span>
安装系统
首先拿到一个空Pi,和一个大于等于16G的sd卡。你需要从pi的官网(https://www.raspberrypi.org/downloads/noobs/)下载系统。
之后解压zip,将所有内容直接拷贝到根目录,注意:不是拷贝文件夹,而是将文件夹中的所有内容直接拷贝到sd卡的根目录!
然后将sd卡插入pi,连接电源,显示器以及键盘鼠标,接通电源,按照提示安装,等待10分钟左右即可按照完成。
配置网络
直接插网线的同学可以跳过这一步,笔者是觉得很麻烦,所以使用无线网卡,型号是“EDUP USB无线网卡”,在X宝和jd上都可以买到。
配置也非常简单,找到 /etc/network/interfaces 这个文件,按照下面改一下:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "YOUR WIFI ID"
wpa-psk "YOUR WIFI PASSWORD"
注意修改ID和password为你wifi的。
之后sudo reboot重启即可。(当然只重启服务也可)
下载alljoyn源码并编译
然后解压tar.gz这个压缩包
然后:
修改权限:
进入core目录:
安装依赖库和软件
sudo apt-get install build-essential
sudo apt-get install scons
sudo apt-get install vim
sudo apt-get install git
sudo apt-get install curl
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install libjson0
sudo apt-get install libjson0-dev
sudo apt-get update && sudo apt-get install oracle-java7-jdk
配置环境
下载junit包
新建一个文件
vim ~/alljoyn_env
export AJ_ROOT=/opt/alljoyn
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/junit-4.12.jar
export PATH=$JAVA_HOME/bin:$PATH
export CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
export TARGET_CPU=arm
export LD_LIBRARY_PATH=$AJ_ROOT/core/alljoyn/build/linux/$TARGET_CPU/debug/dist/cpp/lib:$AJ_ROOT/core/alljoyn/build/linux/$TARGET_CPU/debug/dist/about/lib:$AJ_ROOT/core/alljoyn/build/linux/$TARGET_CPU/debug/dist/config/lib:$AJ_ROOT/core/alljoyn/build/linux/$TARGET_CPU/debug/dist/services_common/lib:$AJ_ROOT/core/alljoyn/build/linux/$TARGET_CPU/debug/dist/audio/lib:$LD_LIBRARY_PATH
export longpath=/opt/alljoyn/core/alljoyn/build/linux/arm/debug/dist/
source /home/pi/alljoyn_env
配置交叉编译环境:
编译!!
scons OS=linux CPU=arm WS=off BINDINGS=cpp,java OE_BASE=/usr SERVICES="about,notification,controlpanel,config,onboarding,sample_apps"