二、QT和驱动模块实现智能家居-----4、编译Qt程序并运行

一、编译QT程序

第1步 修改界面:

双击左侧的 Forms 里的 mainwindow.ui 文件,打开 Design 视图。

然后如下图所示,从左侧Display Widgets 栏目下,拖动 Label 和 PushPutton到中间的区域。

第2步 添加测试代码:

第3步 构建:

点击菜单栏Build -> Build Project LED_and_TempHumi,开始编译、构建项目。 在构建过程中,会在左下侧是"Compile Output"窗口打印构建信息。如果有错误,请 根据提示出错信息修改,然后重新构建。

第4步 查看构建结果:

项目构建成功后,编译好的二进制文件存放在刚刚设置的目录中,可以使用 file 命令查看该 APP 是否被编译为 ARM 架构:

二、运行QT程序

1、手工运行

使用ADB把可执行程序LED_and_TempHumi放到到开发板上:

在开发板上执行如下命令:

// 1. 关闭原来的GUI 
mv /etc/init.d/*lvgl* /root 
mv /etc/init.d/*hmi* /root 
reboot 
// 2. 禁止LCD黑屏 
echo -e "\033[9;0]" > /dev/tty0 
// 3. 设置QT运行环境 
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1 
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0 
export QT_QPA_FONTDIR=/usr/lib/fonts/ 
// 4. 运行QT程序 
/root/LED_and_TempHumi

不熟悉mv指令的看这篇文章:

Linux mv 命令-CSDN博客

在屏幕上可以看到如下界面:

点击LED按钮,可以在控制台看到如下输出信息:

2、自动运行

创建一个文件:/etc/init.d/S99myqt

mkdir /etc/init.d/S99myqt
vi S99myqt

内容如下:

mkdir使用方法:Linux mkdir 命令-CSDN博客

vi编辑器使用方法:vi编辑器的使用(内附快捷键的使用)(超详细)-CSDN博客

#!/bin/sh 
 
start() { 
echo -e "\033[9;0]" > /dev/tty0 
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1 
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0 
export QT_QPA_FONTDIR=/usr/lib/fonts/ 
 
psplash-write "PROGRESS 95" 
psplash-write "QUIT" 
/root/LED_and_TempHumi  & 
} 
 
stop() { 
    killall LED_and_TempHumi 
} 
 
case "$1" in 
    start) 
        start 
        ;; 
    stop) 
        stop 
        ;; 
    *) 
        echo "Usage: $0 {start| stop|restart}" 
        exit 1 
esac 
 
exit $?

然后reboot重启即可

相关推荐
武昌库里写JAVA15 分钟前
【Redis学习】Redis Docker安装,自定义config文件(包括RDB\AOF setup)以及与Spring Boot项目集成
java·开发语言·spring boot·学习·课程设计
原来是猿21 分钟前
蓝桥备赛(六)- C/C++输入输出
c语言·开发语言·c++
程序猿阿伟28 分钟前
《HarmonyOS Next × ArkTS框架:从AI模型压缩到智能家居控制的端侧开发指南》
人工智能·智能家居·harmonyos
coderSong256841 分钟前
【零基础C语言】第四节 数组
c语言·开发语言
蟹至之1 小时前
类和对象(6)——Object类、内部类
java·开发语言·接口·深拷贝与浅拷贝·内部类·object类
原来是猿1 小时前
蓝桥备赛(七)- 函数与递归(中)
开发语言·数据结构·c++·算法
m0_748257181 小时前
最新Java面试题,常见面试题及答案汇总
java·开发语言
不能只会打代码1 小时前
六十天前端强化训练之第一天到第七天——综合案例:响应式个人博客项目
开发语言·前端·rust·响应式个人博客项目
coooliang1 小时前
swift 开发效率提升工具
开发语言·ios·swift
千里码aicood2 小时前
[含文档+PPT+源码等]精品基于Python实现的vue3+Django计算机课程资源平台
开发语言·python·django