文档章节

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

wwhai
 wwhai
发布于 2016/11/24 18:04
字数 1109
阅读 133
收藏 2
点赞 0
评论 0

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

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

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

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

1

2

3

sudo apt-get upgrade

sudo apt-get update

sudo apt-get install qtcreator

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

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

1

sudo apt-get install xorg

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

1

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程序的地方,开始执行这三个命令:

1

2

3

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

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

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

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

播放器源代码在这里 http://pan.baidu.com/s/1byG5Xk 

© 著作权归作者所有

共有 人打赏支持
wwhai
粉丝 12
博文 15
码字总数 18651
作品 1
福州
程序员
树莓派3B的Qt交叉编译环境搭建

转自: http://blog.csdn.net/shenhuan1104/article/details/53486619 http://blog.csdn.net/shenhuan1104/article/details/53500829 本文永久地址:https://my.oschina.net/bysu/blog/1557......

不最醉不龟归
2017/10/27
0
0
Banana PI 开源硬件项目启动

Banana PI M1是为了配合Elastos.org 开源OS推广而推出开源硬件平台,BananaPI M1是一款比树莓派更强悍的双核Android4.2产品。BananaPI 支持 Android系统,,Debian linux系统,Ubuntulinux系统...

sinovoip
2014/05/06
0
0
树莓派摄像头VLC网络监控

备忘 树莓派有网口,又有摄像头可以用,当然不能浪费资源,下面我就用红外摄像头来做个昼夜均可使用的摄像头监控~ 连接好树莓派的CSI摄像头,我用的是带有红外灯的,并且有光感控制的,只有在...

乐_然
03/11
0
0
用树莓派通过Java实现远程控制电灯

用树莓派通过Java实现远程控制电灯 本文章由 亓根火柴 原创,转载请注明出处:http://blog.csdn.net/qigenhuochai/article/details/17661845 传说,女娲娘娘炼就七根火柴,来帮助人类度过第一个...

亓根火柴
2014/01/02
0
0
玩转树莓派- RaspBerry,Qt5交叉编译移植

Raspberry Pi (BCM2835): Device Information Architecture ARMv6 CPU ARM11 RAM 256MB OR 512MB since October 2012 (shared with GPU) GPU VideoCore IV OpenGL OpenGL ES 2.0 Multimedia ......

openthings
2015/03/20
0
0
其他主流开源硬件简介BeagleBone Black快速入门

其他主流开源硬件简介BeagleBone Black快速入门 1.3 其他主流开源硬件简介 开源硬件种类繁多,但主要有两款开源硬件常与BeagleBone比较。它们就是Arduino和Raspberry Pi(即树莓派)。之所以...

大学霸
2015/02/13
0
0
Banana Pi VS Raspberrry Pi,是敌是友?

现在开源硬件,已经成为了一种潮流,很多开源硬件项目不断推出各自的开源硬件产品. 市场上主流的有: raspberrry Pi, arDuino,Pcduino, CubieBoard, 在各自的发展过程中,大家都在维护各自的社区...

sinovoip
2014/07/31
0
0
用树莓派构建你自己的微型服务器,可以外网访

第一,你得有一个路由器,否则下面的内容都无法实现了。 第二,你得申请一个免费的动态域名解析,由于我用的是TP-LINK的路由器,只支持花生壳,所以我申请了花生壳的动态域名解析。 申请花生...

maweitao
2014/07/25
0
4
远距离赏秋香,DIY树莓派望远镜

编者注:本项目来自Instructables,原作者为joshdont,转载请注明。 就像很多人说的,创客做的东西很多时候并没有什么用处,你甚至已经可以在市面上买到更便宜、更轻巧、功能更强大的成品,还...

吴攀
2015/12/07
0
0
[翻译完成] 树莓派搭建Google TV

Google TV是啥玩意 ? Google TV是支持自选图像、宽带网络、传统电视信号的综合平台,更附带电视节目搜索功能. 谷歌公布了其新版电视的两个版本, 第一个叫做Buddy Box, 由索尼代工的电视盒并且...

八宝粥
2013/07/03
0
7

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周一乱弹 —— 如果是你喜欢的女同学找你借钱

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @guanglun :分享Michael Learns To Rock的单曲《Fairy Tale》 《Fairy Tale》- Michael Learns To Rock 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
31分钟前
7
3
NNS域名系统之域名竞拍

0x00 前言 其实在官方文档中已经对域名竞拍的过程有详细的描述,感兴趣的可以移步http://doc.neons.name/zh_CN/latest/nns_protocol.html#id30 此处查阅。 我这里主要对轻钱包开发中会用到的...

暖冰
今天
0
0
32.filter表案例 nat表应用 (iptables)

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例: ~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我...

王鑫linux
今天
0
0
shell中的函数&shell中的数组&告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

影夜Linux
今天
0
0
Linux网络基础、Linux防火墙

Linux网络基础 ip addr 命令 :查看网口信息 ifconfig命令:查看网口信息,要比ip addr更明了一些 centos 7默认没安装ifconfig命令,可以使用yum install -y net-tools命令来安装。 ifconfig...

李超小牛子
今天
1
0
[机器学习]回归--Decision Tree Regression

CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值;当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很...

wangxuwei
昨天
1
0
Redis做分布式无锁CAS的问题

因为Redis本身是单线程的,具备原子性,所以可以用来做分布式无锁的操作,但会有一点小问题。 public interface OrderService { public String getOrderNo();} public class OrderRe...

算法之名
昨天
11
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意:给一个链表,将这个列表分成前后两部分,后半部分反转,再将这两分链表的节点交替连接成一个新的链表 思路 :先将链表分成前后两部分,将后部...

yysue
昨天
1
0
数据结构与算法1

第一个代码,描述一个被称为BankAccount的类,该类模拟了银行中的账户操作。程序建立了一个开户金额,显示金额,存款,取款并显示余额。 主要的知识点联系为类的含义,构造函数,公有和私有。...

沉迷于编程的小菜菜
昨天
1
0
从为什么别的队伍总比你的快说起

在机场候检排队的时候,大多数情况下,别的队伍都要比自己所在的队伍快,并常常懊悔当初怎么没去那个队。 其实,最快的队伍只能有一个,而排队之前并不知道那个队快。所以,如果有六个队伍你...

我是菜鸟我骄傲
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部