香橙派开机自启动QT交叉编译的可运行文件
Orange Pi4 在 PC 机上 QT5 开发环境的搭建-------linux 设置开机启动脚本的 3 种方法-----。
香橙派开机自启动QT交叉编译的可运行文件
准备:
1.香橙派
2.配置文件
3.vscode 环境:需要安装 ssh 插件
4.键盘
5.qt交叉编译的linux可执行文件
6.装好系统的 8g 存储卡
7.参考网址:
Orange Pi4 在 PC 机上 QT5 开发环境的搭建-------https://blog.csdn.net/sehanlingfeng/article/details/108662072
linux 设置开机启动脚本的 3 种方法-----https://blog.csdn.net/jinking01/article/details/126878417
开始:
1.插入存储卡到香橙派
开始刷系统!
拔出sd卡
2.给香橙派连接 WiFi 方便后面 SSH 连接
首先先打开香橙派 连接 WIFI


得到 ip 之后记录好
3.用 VScode 跟香橙派之间进行 ssh 连接用以传输文件
点击“+”号
键入:ssh orangepi@192.168.5.26红色部分改为你记录的 ip
点击连接
输入密码:orangepi
点击打开文件夹
点击确定后再输入一遍密码文件夹出现 此步骤结束!
4.开始传输文件

把文件夹:orangepi-qt-file 下的文件全选 然后直接拖到 qt 文件夹内 等待文件传输完成
文件传输完成后 关闭窗口重新连接这次不点击打开文件夹,直接在终端操作
5.开始 qt 环境

这里是截图 要改成跟上面文件一样的解压文件名

按照图示输入,开始更改 profile

在下方添加下面的文字:
export QTEDIR=/home/orangepi/qt/qt5.12/
export LD_LIBRARY_PATH=/home/orangepi/qt/qt5.12/lib:
L
D
L
I
B
R
A
R
Y
P
A
T
H
e
x
p
o
r
t
Q
T
Q
P
A
P
L
A
T
F
O
R
M
P
L
U
G
I
N
P
A
T
H
=
LD_LIBRARY_PATH export QT_QPA_PLATFORM_PLUGIN_PATH=
LDLIBRARYPATHexportQTQPAPLATFORMPLUGINPATH=QTEDIR/plugins
export QT_QPA_PLATFORM=linuxfb
export QT_QPA_FONTDIR=/usr/share/fonts/
overlays=uart3
然后 reboot
接着开机后重新登录 在 qt 文件夹下输入 :./motor_test_host_system_demo_V1_8观察是否出现程序界面,到这一步如果出现 基本上就成功了后面就是配置文字和自启动
6.配置程序字体文件
前面我们配置了环境变量路径,但是我们的字体并不在/usr/share/fonts/里面所以我们需要把我们导入的字体
copy 过去
copy 过去以后输入
sudo mkfontscale
sudo mkfontdir
sudo fc-cache
之后字体就配置完成了,接下来再次启动程序试试!
7.配置串口
配置串口
然后reboot重启生效
8.配置香橙派自动登录
还是要 ssh 连接到香橙派,然后输入:su root 进入 root 模式
然后输入:cd ~ 切换到 ~#下

开始按照图片上的进行输入 可以试试复制下方的试试:
mkdir -p /etc/systemd/system/getty@.service.d/
mkdir -p /etc/systemd/system/serial-getty@.service.d/
cat <<-EOF>/etc/systemd/system/serial-getty@.service.d/override.conf
[Service]
ExecStartPre=/bin/sh -c 'exec /bin/sleep 10'
ExecStart=
ExecStart=-/sbin/agetty --noissue --autologin orangepi %I $TERM
Type=idle
EOF
cp /etc/systemd/system/serial-getty@.service.d/override.conf /etc/systemd/system/getty@.service.d/override.conf
然后重启试试看
9.配置香橙派开机自启动测试程序
直接在 qt 文件夹下建立一个脚本文件

可以命名为 test.sh
在里面添加如下字符:
#!/bin/bash
export QTEDIR=/home/orangepi/qt/qt5.12/
export LD_LIBRARY_PATH=/home/orangepi/qt/qt5.12/lib:
L
D
L
I
B
R
A
R
Y
P
A
T
H
e
x
p
o
r
t
Q
T
Q
P
A
P
L
A
T
F
O
R
M
P
L
U
G
I
N
P
A
T
H
=
LD_LIBRARY_PATH export QT_QPA_PLATFORM_PLUGIN_PATH=
LDLIBRARYPATHexportQTQPAPLATFORMPLUGINPATH=QTEDIR/plugins
export QT_QPA_PLATFORM=linuxfb
export QT_QPA_FONTDIR=/usr/share/fonts/
overlays=uart3
/home/orangepi/qt/motor_test_host_system_demo_V1_8
如图:

保存并退出
然后输入:sudo chmod 777 test.sh
给权限
之后退回到 #/ 下开始
输入:sudo vim etc/rc.local
在 exit 0 之前加上/home/orangepi/qt/test.sh
如图

保存并退出
10.完成 重启!!!
小结:
1.第 8 步中开机自启动方式
还有别的方式,试了不是很好用,开始了还要加延时
这个方式不好用,要加延时,而且会有一个光标一直闪!
2.程序配置
后期ip可能会变,当使用开机自启动后,会切不到终端页面看不到
要在程序里写关闭程序的操作,不然可能再也没办法重新配程序,所以又要重新装一遍,TvT
可以在qt程序里获取ip并显示出来,这样也可以方便后期ssh连接修改底层
用下面的程序便可以打印出来当前的ip,这里是终端打印,要把这个打印配到你程序里的edit里面去
QList<QNetworkInterface> listNiTmp = QNetworkInterface::allInterfaces();
QStringList slAllActiveIp;
foreach (QNetworkInterface niTmp, listNiTmp)
{
if (niTmp.flags().testFlag(QNetworkInterface::IsRunning))
{
QList<QNetworkAddressEntry> listAddressEntry = niTmp.addressEntries();
foreach (QNetworkAddressEntry addressentry, listAddressEntry)
{
if (addressentry.ip().protocol() == QAbstractSocket::IPv4Protocol
&& addressentry.ip() != QHostAddress::LocalHost)
{
slAllActiveIp.append(addressentry.ip().toString());
qDebug() << "ip:" << addressentry.ip().toString();
}
}
}
}
qDebug() << "slAllActiveIp:" << slAllActiveIp;
更多推荐



所有评论(0)