树莓派智能家居:外围系统搭建

作者: lushitao 分类: 智能家居 发布时间: 2017-08-25 16:44

最近对智能家居的控制中心选用Socket框架上做了研究。首先在Java语言中,Apache MINA和Netty是比较常用的SOCKET通信框架,它们之间各有优劣,本次控制中心最终决定选用的Java版SOCKET框架为Netty,下面对两者的区别做一下讲述。

从使用角度来讲MINA更简单,它将输入输出流进行了统一的封装,我们只需要通过获取IoSession就能进行读写操作,但是也正是这种IO一致封装导致我们无法单独对输入流或者输出流进行额外的解码。相反,Netty就灵活的多了,我们完全可以拿出输入流或者输出流单独的处理,此外,Netty的解码包库相当完善,我们可以轻松的实现RTSP协议,SCTP协议甚至Socks5协议。

选定了框架,下一步就是外围系统的搭建过程了。前期测试我们暂时不需要外网服务器,但是后来如果需要在室外通过手机进行控制,就需要一台外网服务器进行数据转接。基本的架子,树莓派上装载一个Java应用(可以使用Tomcat+Spring框架)作为总控制中心,管理室内各个控制点。外网服务器一个Spring的Web应用,功能有二:其一,作为室外控制的转发系统,其二,搭建一个HTTP的H5应用,用来实现在web端进行控制,H5的兼容性,可使我们无需单独开发安卓和IOS应用。但是呢,为了进一步拓展,我决定还是开发安卓版本的控制客户端,IOS开发成本太高,直接使用H5页面。

话不多说,直接理一理具体需要配置的过程。

外网服务器:

在这里我想分享一下如何只需要9块9购买一个月的阿里云服务器。阿里云学生机的优惠是9.9元一个月,直到学生毕业。找一个大一的学弟学妹,去阿里云注册一个账号,让他们去进行实名认证和学生认证,随后进入云翼计划的页面,选择云服务器,立即购买,选定一年的118元,购买成功后,只要在学生有效期,都可以以9.9元价格续费。云服务器的配置为:2GB内存,40GB磁盘,1MB带宽,1核CPU。这对我们的应用来说足够了。

Nginx/PHP/Mysql搭建:

有了外网服务器,通过SSH登录后,如果单独安装这些软件,确实很麻烦,所以,现在我们可以使用LNMP直接安装。输入命令:

wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp

随后程序会自动运行,根据提示分别选择合适的PHP、MySQL、Nginx版本,一般来讲,选择默认的即可。

树莓派智能家居:外围系统搭建

接下来经过漫长的等待,直到程序提示安装完成。

树莓派智能家居:外围系统搭建

Tomcat环境:

外网服务器这些环境搭建完毕后,那么还需要搭建Tomcat环境,Tomcat依赖Java环境,所以首先执行命令:

yum install openjdk-1.8.0*

等待jdk安装完毕后,我们cd到合适的目录,比如 cd /home,然后执行命令:

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz

我选择的是Tomcat8.5的版本,当然大家版本可以去Tomcat官网任意选择。

等待下载完毕后,解压:

tar –zxvf apache-tomcat-8.5.20.tar.gz

解压完毕后,会生成一个apache-tomcat-8.5.20文件夹,先给这个文件夹内所有文件设置可运行权限,执行命令:

chmod +X apache-tomcat-8.5.20 –R

然后cd到该目录的bin文件夹,执行命令:

sh startup.sh

Tomcat便运行起来了,此时用浏览器访问http://你的外网服务器IP:8080,便能看到一个页面,表示Tomcat已经成功。

Tomcat安装完了,那ftp也需要安装,便于我们上传文件,执行命令:

yum install vsftpd

安装完成后,设置登录方式:

vim /etc/vsftpd/vsftpd.conf

将anonymous_enable=NO设置为NO,然后新增用户:useradd ftpname -s /sbin/nologin,随后设置密码:passwd ftpname,根据提示输入密码即可。

这样我们可以通过ftpname账号来登录ftp服务器。

我的个人服务器上搭建的东西,要分享的很多,比如关于Nginx的配置,Socks5代理,VPN,GIT仓库,SVN,私人云盘,这个因为跟智能家居相关性不大,所以随后单独整理成附件形式。

编后语:

首先非常感谢一些亲爱的读者专门发来私信咨询项目进展和树莓派相关的问题,这让我非常感动,激励我不论熬夜多晚都要把项目熬下去,对自己说一声:Come On!

最近一段时间公司的事情也是忙得焦头烂额,所以在智能家居方面有些延迟,在这里给各位读者致以歉意,希望大家能够谅解。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注