树莓派QT开发小技巧

3B&+

树莓派QT开发小技巧_第1张图片

一、串口开启

https://blog.csdn.net/aguangg_6655_la/article/details/54985423

开启板载uart串口模式后,蓝牙模块不可使用

1、查看串口信息

ls -l /dev/*serial*

会显示/dev/serial1 ->ttyAMA0

1.下载pi3-miniuart-bt-overlay文件,解压出pi3-miniuart-bt-overlay.dtb文件,并将dtb文件拷贝到/boot/overlays/目录下

2.编辑/boot目录下的config.txt文件

sudo nano /boot/config.txt

添加下面两行:

dtoverlay=pi3-miniuart-bt-overlay
force_turbo=1

3.编辑/boot目录下的cmdline.txt文件

sudo nano /boot/cmdline.txt

内容修改参照:

dwc_otg.lpm_enable=0 console=serial1,115200  console=tty1 root=/dev/mmcblk0p2  kgdboc=serial1,115200 rootfstype=ext4 elevator=deadline fsck.repair=yes  rootwait

保存退出

关闭板载蓝牙的方法:

1.SSH登录树莓派3后,输入下面命令关闭hciuart使用uart0.

sudo systemctl disable hciuart

2.编辑/lib/systemd/system/hciuart.server 将 “ttyAMA0”修改为“ttyS0”

sudo nano /lib/systemd/system/hciuart.service

将 “ttyAMA0”修改为“ttyS0”,保存退出。

3.更新并重启

sudo apt-get update
sudo apt-get upgrade
sudo reboot

 

二、使用摄像头建立RSTP

https://blog.csdn.net/u013062192/article/details/80210166

首先需要进入树莓派配置

sudo raspi-config  —— Interfacing Options —— Camera——Yes,重启后板载摄像头接口就可以使用了

 step1. 安装live555

    获取live555最新源码  
    wget http://live555.com/liveMedia/public/live555-latest.tar.gz  
    解压编译安装  
    tar -zxvf live555-latest.tar.gz  
    cd live  
    sudo ./genMakefiles linux  
    sudo make  
    sudo make install  

step2. 安装库文件

  • sudo apt-get update  
  • sudo apt-get install libavcodec54   #版本可能会变化
  • sudo apt-get install libswscale2  #版本可能会变化
  • sudo apt-get install libx264-142  #版本可能会变化

或者

         sudo apt-get install libavcodec-dev

         sudo apt-get install libswscale-dev 

          sudo apt-get install libavutil-dev

下载源码后,copy到/opt/vc/src/hello_pi/

https://gitee.com/secho1997/live_camera_linux

根据/hello_pi/下的README编译安装iclient库

    cd live_camera_linux  
    sudo make  
    sudo make install  //可能会报错,不管,只要生成了zk_v4l2_x264_source 的执行程序就行
    sudo ./zk_v4l2_x264_source  

若出现

    [2464] WebcamOndemandMediaSubsession .... calling  
    using url "rtsp://192.168.1.102:9554/webcam"  

则成功实现
 

三、声卡设置

1、查看声音录入和输出

aplay -l
arecord -l

查看USB声卡的card 号,我的是1

2、设置USB声卡为默认声卡。

#创建配置文件

sudo nano /etc/asound.conf
sudo nano ~/asound.conf

#设置声卡1为默认,

则写入以下内容

defaults.ctl.card 1 

defaults.pcm.card 1 

defaults.timer.card 1

 

 

 

 

 

 

 

树莓派 libEGL warning: DRI2:failed to authenticate

参见:https://blog.csdn.net/u011471873/article/details/95534196

 

 

 

写录音程序出现“using null input device, none available”无法录音

这个问题我也遇上了,按以下步骤解决:
1 下载alsa的开发包并安装  先查看内核中alsa driver版本:alsactl -v. 再到官方网站www.alsa-project.org/下载对应的开发包 开发包在ftp://ftp.alsa-project.org/pub/lib/  解压后

sudo ./configure 

sudo make

sudo make install

直接就可以安装上
2 重新编译qt库, ./configure -multimedia -v > out.txt   configure完之后在文件out.txt中查看有无这一行字Alsa support ........... yes    如果为yes,则步骤1中的开发包装成功了的,如果为no,则步骤1可能有问题        楼主出现的问题是因为没有执行步骤1.        之后make make install都是一样的
各位好运

在树莓派下对多个串口转USB设备进行设备名称绑定操作

引用:https://www.cnblogs.com/mangojun/p/10820481.html

1、查看USB串口设备系统的名称

ls /dev | grep 'ttyUSB'

2.根据串口号,查询串口设备的详细信息
 

udevadm info /dev/ttyUSB0
udevadm info /dev/ttyUSB1

3、创建规则

sudo nano /etc/udev/rules.d/99-com.rules

在文件的最后添加规则 ,可以根据/dev/ttyUSB0、/dev/ttyUSB1的信息找到特定的标识符设定相应的规则,我用的是USB TTL,因此根据特定的ID进行设定

ENV{ID_VENDOR_ID}=="0483",ENV{ID_MODEL_ID}=="5740",SYMLINK+="ttyUSB_RFID",MODE:="0777"
ENV{ID_VENDOR_ID}=="1a86",ENV{ID_MODEL_ID}=="7523",SYMLINK+="ttyUSBCH340",MODE:="0777"
ENV{ID_VENDOR_ID}=="1a86",ENV{ID_MODEL_ID}=="7523",SYMLINK+="ttyUSBCH340",MODE:="0777"

4 设备重启reboot ,重启之后,自定义命名规则将生效。插拔USB串口设备,显示特定的名称。

reboot、reboot、reboot重要的说三遍,有人说用重启服务(sudo /etc/init.d/udev restart),没用!!!

QT之应用程序打包发布

参考:https://blog.csdn.net/Mr_robot_strange/article/details/105531660

https://www.cnblogs.com/visionsl/p/9263923.html

这里说linux下:

1、创建一个目录

2、将编译好的应用程序复制到这个目录中

3、执行命令查看应用所需的库

ldd /home/pi/Downloads/release/smartscreen

4、创建脚本协助我们解决这些库的提取工作

#!/bin/sh

echo 参数1 - 发布的程序名称
echo 参数2 - 发布的程序所在的路径
echo example:./qt-pack.sh smartscreen /home/pi/Downloads/release/
echo 本脚本需要与待发布的程序放在同一个目录下执行
echo 脚本功能:自动拷贝程序锁需要支持库到【发布的程序所在的路径】

exe="$1"
des="$2"
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des

5、通过运行脚本运行新打包的程序,注意【脚本的名称需要与应用名称一致】,如应用名smart,则脚本名为smart.sh

#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"

6、把整个目录复制到需要运行的环境中即可

后面是最重要的:

1、如果调用MYSQL,则可以直接安装
sudo apt-get install  libqt5sql5-mysql 
2、如果调用多媒体,则可以直接安装
sudo apt-get install qtmultimedia5-dev 
sudo apt-get install libqt5multimedia5-plugins

我偷懒了,因为时间紧,后面再逐步补充吧。

你可能感兴趣的:(树莓派,QT)