QT+树莓派实现一个简单的播放器

说起树莓派,买了也有一段时间了,但是始终都没有做出什么好玩的设备出来,恰好最近在学C++,看到树莓派放在墙角吃了一年多灰,为何不利用它来学一下编程呢?
先给我的工作台来个特写:
20160526205558894-0
说干就干,在经历了一番折腾以后,先准备所需的器材和必要的零部件,在这里我简单的罗列一下:
先是树莓派的硬件配置:
20160526205558698-0

  • 树莓派B+一款+16G内存卡一个
  • 网线一根(如果有无线网卡也可以)
  • HDMI线一根
  • 显示器一个(我用的是7寸显示屏+驱动板)

如果条件允许的话,可以带个小键盘,为了方便调试,不是必须的。

接下来是软件部分的安装
我用的是树莓派无图形界面的那个版本-Lite版,在官网可以下载到它的ISO镜像,在这里我就不贴出来了。
然后是将系统用16G的内存卡烧录进去,安装在树莓派上,接上显示器看看有没有输出,如果有输出的话,说明准备工作已经做好了。
用pi账号登陆进去,装qt开发环境:


sudo apt-get upgrade

sudo apt-get update

sudo apt-get install qtcreator

可能有点慢,耐心的等待一下;等到安装完了以后,在命令行输入:qmake,看看是否有反应,如果有反应,那么恭喜你,你已经成功了一半!
20160526205558924

因为我们的Lite版本的系统是没有图形界面的,为了让它支持窗口图形界面显示,我们要给它安装X-server,关于X-server是什么,可以去网络上了解一下,这里简单的把它理解为让操作系统显示图形界面必须的条件即可,具体的命令为:

sudo apt-get install xorg

因为播放器用的是mplayer的API,所以,要安装mplayer,关于Mplayer,大家也可以去互联网详细了解,知道它是个多媒体播放器就可以了,具体的命令:

sudo apt-get install mplayer

20160526205558841

接下来我们联网,将树莓派通过网线,或者无线网卡连接到当前的局域网里面,这样就可以用远程SSH来操作树莓派了,具体的连接方式在这里我不重复,教程在网络上有很多。

到这里,已经具备了所有的条件,就差开发出软件开始运行了。好了具体要怎么开发呢?那就要在电脑上来搭建平台了,先下载QT,Qt有好多个版本,我这里用的是3.0.1这个版本。关于怎么在电脑上安装qt,我想大家应该都会,故不再重复提。
20160526205558106-0

接下来就是开发工作了,源码在文末下载,在电脑上调试好以后,确定没有BUG(注意一下,版本有时候会导致出错,安装的时候一定细心观察)以后,用FTP工具,我用的是FileZilla,传到树莓派里面,最好是新建一个文件夹,我的是/home/pi/player这个路径。
20160526205558738-0

好了,接下来就到了激动的时候:编译软件。目录切换到你FTP进qt程序的地方,开始执行这三个命令:


qmake -project #这个命令是用来构建qt工程的;

qmake #qt编译器初始化项目;

make #命令大家都很熟悉了,不多解释。

这个过程很慢,不用心急,玩玩手机,大概1分钟左右,看到如果没有BUG输出,那么恭喜你,你成功了!那就赶紧来试试能不能运行呢?ls一下,看看有没有一个.o的文件,如果看到这个文件说明已经生成了软件先来测试一下:输入./player(这个是生成的名字,当然你可以自己定义),如果屏幕上出现了窗口,你应该激动了,没错,你已经成功的做出一个简单的嵌入式的作品。
我们要让他开机启动,那就修改rc.local脚本文件,把启动的代码加进去,当你再次重启的时候,就会发现显示器出现了一个播放器的界面。
20160526205558561-0

感谢树莓派实验室B群小二的投稿,播放器源代码在这里 http://pan.baidu.com/s/1byG5Xk 欢迎关注~

这是一篇发布于 8年 前的文章,其中的信息可能已经有所发展或是发生改变,请了解。


8 评论

  1. 树莓派无图形界面的那个版本-Lite版,给个链接或名称好嘛,我也要装这个。另外,这个QT支持QSS吗?

  2. “树莓派无图形界面的那个版本-Lite版”给个链接或名称,谢谢。另外这个版本的QT支持Q S S吗。

  3. 执行Play后,有界面,但点播放就退出了。命令窗口执行play则出现
    Player: cannot connect to X server
    这是哪里错了?

  4. 楼主,请问,那个“树莓派无图形界面的那个版本-Lite版”的系统能不能分享一下啊,我的树莓派3B(2017-04-10Lite版)的好像不能按你的步骤来,,求救!(^.^)

  5. 我按照方法去操作,进行到make的时候,出错了:
    mainwindow.h:5:10: fatal error: QMainWindow: No such file or directory
    是否有解决方式呢?

发表评论

你的邮件地址不会公开


*