AeonJh
文章4
标签6
分类2
智能家居实训项目(Linux平台)

智能家居实训项目(Linux平台)

智能家居实训项目(Linux平台)

项目Github地址:SmartHome

项目准备

本项目是一个基于Ubuntu22.04版本开发的智能家居项目,采用WindowsCLion远程连接虚拟机开发。在项目开始前,我们先做好以下准备。

  1. 使用VMware Workstation Pro安装Ubuntu22.04虚拟机。
  2. 安装相关编译与开发工具:vimcmakeclangninja-buildnet-toolsopenssh-servermadplay

驱动安装

打开虚拟机,驱动文件存放在项目主目录/driver文件夹下。

  1. 首先安装模拟屏幕的驱动:进入/mmp_drv文件夹下,使用make cleanmake命令编译驱动文件,然后使用sudo insmod mmp_drv.ko安装驱动,安装完成后可使用ls /dev/ubuntu_lcd命令查看(黑底橙字)。在当前目录下使用命令sudo ./VTSLcd运行虚拟屏幕可能会出现以下提示:sudo: ./VTSLcd:找不到命令,使用ls -l VTSLcd查看文件权限:

    img

    意味属主和同组人有读写权限,其他人只有读的权限,所以需要修改权限,使用命令chmod o+x VTSLcd(赋予其他人可执行权限),再次查看该文件权限,此时已可以执行该程序:

    img

    sudo ./VTSLcd执行该程序后,输出以下信息:

    img

    提示我们缺少相关库文件,使用ldd ./VTSLcd查看缺少哪些库文件:

    img

    可以看到缺少的文件都是Qt相关依赖项,我们使用sudo apt-get install libqt5widgets5安装即可。安装完后重新运行sudo ./VTSLcd,即可见黑色窗口弹出。

  2. 接着我们依次安装实现模拟触摸的驱动/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并打开,选择AddRemote Host,按如图配置好开发环境,并将其设置为首选(移至置顶):

img

之后打开项目配置,指定工作目录,勾选以管理员权限运行。

项目运行

在虚拟机中打开本项目目录下的driver/目录,运行sudo ./VTSLcd,弹出黑色窗口。切换回CLion,点击项目主目录中的CMakeLists.txt文件,右键选择Load CMake Project,按Shift + F10运行。项目运行成功。

项目功能实现

本文作者:AeonJh
本文链接:https://aeonjh.top/2023/05/31/%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E5%AE%9E%E8%AE%AD%E9%A1%B9%E7%9B%AE(Linux%E5%B9%B3%E5%8F%B0)/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
×