树莓派应用系列讲座
©CICET 2014.6
运行树莓派的演示程序 此处是演示树莓派能力的一些示例程序。为了运行这些程序,你需要 处于命令行模式下。如果你的树莓派已经启动到命令行模式下(此时要进 入桌面需要键入
startx ),直 接 做 就 好 了 。否 则 先 从 开 始 按 钮 处 登 录 出 桌
面。下面是命令行的提示: pi@raspberrypi ~ $
要开始演示,键入以下命令进入存储所有演示的
hello_pi
文件夹:
cd /opt/vc/src/hello_pi
提示:当键入命令时,你可以使用
TAB
键自动补全余下的部分。
此 时 命 令 提 示 显 示 如 下 ,其 中 蓝 色 的 部 分 表 明 你 现 在 处 于 树 莓 派 文 件 系统的何处。 pi@raspberrypi /opt/vc/src/hello_pi $
如果键入
ls
并 回 车 ,你 会 看 到 一 个 文 件 夹 的 列 表 ,每 个 演 示 对 应 一 个
文件夹。在运行演示之前,必须进行编译。不必为不理解为何这样做的原 因而操心,只要遵循指令做就行了。 在
hello_pi
文 件 夹 中 , 有 一 个 称 为 rebuild.sh 的 脚 本 , 它 将 为 你 做 编
译工作。键入以下命令运行这个脚本,先不用管那些乱七八糟的的信息! ./rebuild .sh
现在我们已经准备好运行一些演示了!
HELLO WORLD 演 示 首先,我们做一个快速的测试,以保证前面的编译步骤正确完成。 这 个相当无趣的程序只是显示文本
Hello world!
,但如果它工作无误,我
们就会知道所有其它的演示也会正常工作。键入以下命令进入 hello_world
文件夹并列出文件: cd hello_world ls
你会注意到
.bin
文件是以绿色显示的,这是因为它是一个可执行文
件 。这 意 味 着 它 是 那 个 我 们 用 于 启 动 程 序 的 文 件 。使 用 以 下 命 令 运 行 演 示 , 你需要用
./
来 说 明 当 前 目 录 ,否 则 的 话 ,Linux 会 在 系 统 文 件 夹 中 搜 索 你
键入的文件名。 ./hello_world .bin
1
树莓派应用系列讲座
©CICET 2014.6
高清视频回放 这 个 演 示 将 播 放 一 个 15 秒 长 无 声 音 的 全 高 清 1080p 视 频 , 目 前 是 演 示视频解码及回放能力。你将会看到视频非常流畅!
键入以下命令进入到
hello_video
文件夹并列出文件:
cd .. cd hello_video ls
你仍会看到
.bin
文件。你运行这个演示时,需要告诉程序播放什么
样 的 视 频 文 件 ,此 处 必 须 是 此外,你仍然需要用
./
test.h264
文 件( h264 是 一 种 视 频 编 码 类 型 )。
指定当前目录:
./hello_video .bin test.h264
旋转的立方体 这个演示显示一个旋转的立方体,每个面上都有不同的图像,其意图 是 演 示 OpenGL ES 渲 染 的 能 力 。 OpenGL 是 一 个 处 理 3D 图 形 的 开 源 程 序 库。键入以下命令进入到
hello_triangle
文件夹并列出文件:
cd .. cd hello_triangle ls
这个演示不需要任何视频输入文件,因此你可以直接运行
.bin
:
./hello_triangle.bin
演 示 将 永 远 运 行 下 去 ,知 道 你 觉 得 退 出 程 序 。要 退 出 演 示 ,键 入 + C
。
2
Ctrl
树莓派应用系列讲座
©CICET 2014.6
分形演示 这 个 演 示 也 是 为 了 展 示 OpenGL ES 的 渲 染 能 力 , 显 示 两 个 相 互 叠 加 的 分 形 , 这 是 著 名 的 Mandelbrot 分 形 。 运 行 以 下 命 令 :
cd .. cd hello_triangle2 ls ./hello_triangle2 .bin
现在四处 移动鼠 标,你会看到 分形在 改变 。试试 你能否 设法得 到一个 完备的圆,这有点难度,但的确能做到。为退出演示,键入
Ctrl + C
。
旋转的茶壶 这个演示显示一个旋转的茶壶,而来自视频片段
hello_video
的纹理
映 射 到 其 表 面 上 。 令 人 印 象 非 常 深 刻 ! 如 果 你 稍 微 熟 悉 一 个 叫 做 Blender 的 软 件 ,你 可 能 认 出 这 个 茶 壶 模 型 。这 个 演 示 同 时 展 示 了 OpenGL ES 渲 染 和 视 频 解 码 /回 放 能 力 。
3
树莓派应用系列讲座
©CICET 2014.6
cd .. cd hello_teapot ls ./hello_teapot.bin
当你运行这个演示时,可能会收到下列错误信息: Note: ensure you have sufficient gpu_mem configured eglCreateImageKHR :
failed to create image for buffer 0x1 target 12465
error 0x300c eglCreateImageKHR failed .
此时也不 要着急 ,你 只需要改 变一处 设置 就能使之 工作 。这个 错误的 意 思 是 GPU( 图 形 处 理 单 元 )没 有 足 够 的 内 存 运 行 演 示 。在 屏 幕 上 绘 制 3D 图 形 时 ,是 GPU 在 做 那 些 繁 重 的 计 算 工 作 ,这 有 点 像 游 戏 PC 中 的 图 形 卡 。 树 莓 派 在 CPU 和 GPU 之 间 分 享 内 存 , 而 且 默 认 情 况 下 只 分 配 64MB 内 存 给 GPU。 如 果 你 把 这 部 分 增 加 到 128MB 就 可 以 解 决 这 个 问 题 。 要做到这一点,你需要键入下列命令: sudo raspi-config
这会在一个蓝色的背景上开启一个菜单,依次实施下列动作:
转 到 Advanced Options.
进 入 Memory Split.
删除
转 到 下 面 的 Finish.
选 择 Yes 重 新 启 动 .
64
并键入替代的
128 , 按 回 车 .
重新注册进入后,键入下列命令进入
hello_teapot
演示:
cd /opt/vc/src/hello_pi/hello_teapot
4
树莓派应用系列讲座
©CICET 2014.6
现在尝试再运行一次,你应该能够运行了。 ./hello_teapot.bin
音频演示 这个演示展示声音输出能力,它播放正弦波 形,听起来是某种“嗡嗡 嗡”的声音。 cd .. cd hello_audio ls ./hello_audio .bin
这 样 将 会 通 过 树 莓 派 上 的 耳 机 插 孔 播 出 声 音 。如 果 你 用 的 是 HDMI 显 示 器 , 也 可 以 让 它 通 过 HDMI 输 出 声 音 , 方 法 是 在 命 令 后 面 加 上 ./hello_audio .bin 1
5
1
: