基于Linux的智能家居的设计(4)

3 开发环境的搭建

本次课题使用的开发环境比较特殊,没有一个现成的集成开发环境,需要自己一步一步的搭建开发环境,开发环境的搭建的过程十分复杂,而且如果没有这个开发环境本次课题就无法进行。因此,在进行设计时,必须要进行开发环境的搭建。

3.1 虚拟机安装和系统安装

在PC机上安装VMware workstation 10.0虚拟机,将虚拟网络改为桥接模式,,在虚拟机中安装Ubuntu12.04的系统,然后安装VM-tools。

在windows下面的创建共享目录G:/share,实现windows和Linux之间的文件相互拷贝,方便开发,只要将想要复制的文件(arm-linux-gcc-4.3.2)放在G:/share下面,在Linux的终端下面只要使用cp /mnt/hgfs/arm-linux-gcc-4.3.2/home就可以将文件复制到虚拟机中的/home文件夹下面。

3.2 安装arm-linux-gcc交叉编译器

具体的步骤如下:

⑴ 在Ubuntu12.04下面打开终端(Ctrl+Alt+T快捷键)输入以下命令:

#cd /home (进入home目录)

#mkdir /usr/local/arm (创建/usr/local/arm目录)

#tar –zxvf arm-linux-gcc-4.3.2.tgz –C/ (将编译器arm-linux-gcc解压到/usr/local/arm)

⑵ 添加环境变量的在终端输入命令:

#vim /etc/profile

添加以下的的内容到文件中

export PATH=/usr/local/arm/4.3.2/bin:$PATH

export TOOLCHAIN=/usr/local/arm/4.3.2

export TB_CC_PREFIX=arm-linux

export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi

保存(wq),退出。

⑶ 执行命令:source /etc/profile(让交叉编译器的环境变量生效)

测试交叉编译环境在终端输入arm-后按Table键是否会出现一堆关于arm-linux-之类的。或者使用arm-linux-gcc –v命令会出现交叉编译器相关的信息说明交叉编译环境已经安装成功了。

3.3 安装TFTP服务

TFTP 协议是简单文件传输协议,基于用户数据报(UDP) 协议,不需要考虑连接请求、连接终止与流量控制等特性,是一个实时性很强的通信协议[13]。TFTP 分为服务器端程序和客户端程序,在主机上通常同时配置有TFTP 服务端和客户端。

默认安装的Ubuntu系统没有包含TFTP 的服务端和客户端,可以通过命令行来下载安装,命令如下:

#apt-get install tftp (安装客户端)

#apt-get install tftpd (安装服务端)

#apt-get install xinetd (安装xinetd)

xinetd 是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求。

在“/”目录下创建一个tftpboot,把属性改成777。

命令#chmod –R777 /tftpboot

设置/etc/xinetd.d/tftp使用#vim /etc/xinetd.d/tftp进行配置

service tftp

{

socket_type = dgram

protocol = udp

wait =yes

user =root

server =/usr/sbin/in.tftpd

server_args = -s /tftpboot

disable = no

per_source =11

cps =100 2

flags =IPv4

}

#Service xinetd.d reload(重新加载xinetd 进程)

#ufw disable(禁用防火墙)

3.4 安装NFS服务

NFS即Network FileSystem的缩写,功能是可以通过网络让不同的机器、不同的操作系统可以共享文件(share files)[14]。本课题将它看为一个文件系统服务器,可以让ARM板或者远程PC机上的客户端共享远程的文件服务器。用起来十分的方便,本次课题的NFS主机共享目录与客户端挂载结构图如图3-1所示:

图3-1 NFS主机共享目录与客户端挂载结构图

具体的步骤如下:

⑴ 准备NFS文件系统目录

⑵ 启动nfs 服务之前,必须在Ubuntu12.04 上准备好NFS 共享目录。

例如,本课题采用Ubuntu的“/nfsroot”作为NFS 共享目录,就需要将FileSystem-Yaffs2.tar.gz 压缩文件拷贝到这个目录下,然后解压缩,得到根文件系统所需要的目录。

⑶ 在Ubuntu12.04 上打开一个终端,输入以下命令:

#mkdir /nfsroot

⑷ 将FileSystem-Yaffs2.tar.gz 文件拷贝到该目录下,解压:

#tar –zxf FileSystem-Yaffs2.tar.gz

⑸ 设置主机IP

这里我们将Ubuntu的IP 设置为192.168.12.18,命令为:

#ifconfig eth0 192.168.12.18

#ifconfig eth0 up

⑹ 配置NFS服务

在Ubuntu 上新建一个终端,依次输入以下命令:

#apt-get install portmap

#apt-get install nfs-kernel-server

#vim /etc/exports

在弹出的文本编辑器中编辑exports文件,在最后一行添加:

/nfsroot/FileSystem-Yaffs2192.168.12.*(rw,sync,no_root_squash)

这里的通配符表示在192.168.12.1~192.168.12.255之间的任何一个ipv4的地址,rw表示的是可读可写的权限,no_root_squansh的意思是登入NFS主机使用共享目录的用户,如果是root身份,那么对于这个共享目录来说,它就是具有root的权限。

⑺ 启动NFS服务

#/etc/init.d/portmap restart

#/etc/init.d/nfs-kernel-server restart

3.5 将开发板挂载到文件系统上

成功挂载的效果应该是能够共享Linux下面的/nfsroot/FileSystem-Yaffs2目录下面的所有文件,ok6410开板上的目录与服务器上的目录一致,如图3-2、3-3所示:

图3-2 客户端ok6410上的文件

图3-3 服务器上的文件

3.6 搭建QT开发环境

穷则思变,差则思勤!没有比人更高的山没有比脚更长的路。

基于Linux的智能家居的设计(4)

相关文章:

你感兴趣的文章:

标签云: