智能家居实训项目(Linux平台)
智能家居实训项目(Linux平台)
项目
Github
地址:SmartHome
。
项目准备
本项目是一个基于Ubuntu22.04
版本开发的智能家居项目,采用Windows
下CLion
远程连接虚拟机开发。在项目开始前,我们先做好以下准备。
- 使用
VMware Workstation Pro
安装Ubuntu22.04
虚拟机。 - 安装相关编译与开发工具:
vim
,cmake
,clang
,ninja-build
,net-tools
,openssh-server
,madplay
。
驱动安装
打开虚拟机,驱动文件存放在项目主目录/driver
文件夹下。
首先安装模拟屏幕的驱动:进入
/mmp_drv
文件夹下,使用make clean
,make
命令编译驱动文件,然后使用sudo insmod mmp_drv.ko
安装驱动,安装完成后可使用ls /dev/ubuntu_lcd
命令查看(黑底橙字)。在当前目录下使用命令sudo ./VTSLcd
运行虚拟屏幕可能会出现以下提示:sudo: ./VTSLcd:找不到命令
,使用ls -l VTSLcd
查看文件权限:意味属主和同组人有读写权限,其他人只有读的权限,所以需要修改权限,使用命令
chmod o+x VTSLcd
(赋予其他人可执行权限),再次查看该文件权限,此时已可以执行该程序:sudo ./VTSLcd
执行该程序后,输出以下信息:提示我们缺少相关库文件,使用
ldd ./VTSLcd
查看缺少哪些库文件:可以看到缺少的文件都是Qt相关依赖项,我们使用
sudo apt-get install libqt5widgets5
安装即可。安装完后重新运行sudo ./VTSLcd
,即可见黑色窗口弹出。接着我们依次安装实现模拟触摸的驱动
/event_drv
,模拟烟雾传感器的驱动/smoke_drv
,模拟环境温湿度光照等信息的驱动/GY39_drv
。安装完成后可使用命令ls /dev/ubuntu_event && ls /dev/ttySAC1 && ls /dev/ttySAC2
查看驱动装载情况。
项目部署
使用git clone https://github.com/AeonJh/SmartHome.git
命令拉取项目到本地(建议为你的CLion
工作区文件夹)如:CLionProjects/
。打开CLion
,选中本项目并打开,双击左SHIFT
键搜索Toolchains并打开,选择Add
—Remote Host
,按如图配置好开发环境,并将其设置为首选(移至置顶):
之后打开项目配置,指定工作目录,勾选以管理员权限运行。
项目运行
在虚拟机中打开本项目目录下的driver/
目录,运行sudo ./VTSLcd
,弹出黑色窗口。切换回CLion
,点击项目主目录中的CMakeLists.txt
文件,右键选择Load CMake Project
,按Shift + F10
运行。项目运行成功。