Category: Raspberry Pi

framebuffer VNC客户端 fbvnc-v1.0.2

本文同步自(最佳显示效果请点击):https://zohead.com/archives/fbvnc-v1-0-2/ 由于在 Raspberry Pi 上习惯使用 framebuffer 进行普通使用的关系,在需要用 VNC 连接其它机器上,一下想到还是用 framebuffer 下的程序来实现。网上也有别人写的 framebuffer VNC 客户端程序,但普遍有些问题,有些则没有考虑在类似 Raspberry Pi 这种 ARM linux 环境下使用的情况,为此我基于已有的 fbvnc 项目重新弄了个 framebuffer 下 VNC 客户端的程序。 原有 fbvnc 项目地址:http://repo.or.cz/w/fbvnc.git 我的 fbvnc 新项目的 github 地址:https://github.com/zohead/fbvnc 现在已经更新到 1.0.2 版本,相对原始的 fbvnc 的主要改进为: 解决在 16 位及 32 位 framebuffer 下显示不正确的问题; 增加帮助信息和参数选项(fbvnc -h 查看帮助信息); 支持简单的 VNC 用户名密码验证(基于 RFB 协议的 3.3 版本); 支持将 VNC 密码加密保存到密码文件; 支持以命令行参数的形式从密码文件中读取密码,方便自动运行方式; 连接远程 VNC 主机时增加远程 VNC 服务器信息输出,方便调试; 从 VNC 服务器获取版本信息前先发送客户端版本号(3.3 版本),解决某些非常严格的 VNC 服务器(例如:droid VNC server)出现拒绝访问的问题; 连接远程 VNC 主机时检查 VNC 版本是否确定以 “RFB ” 开头,如果版本不符合要求则出错退出; 解决在 ARM linux 系统(例如:Raspberry Pi)中鼠标无法正确移动的问题; 连接和断开 VNC 服务器时增加清屏和显示/隐藏光标的处理,防止终端界面紊乱。 此程序已在 Windows/Linux/Android 等不同系统的 VNC 服务器环境下测试过,需要注意的是此 fbvnc 客户端只支持 RFB 3.3 版本的 VNC 服务器,如果使用的是比较新的 RealVNC 服务器(我测试的是最新的 RealVNC 4.6.3 版本),请在服务器设置中修改 VNC 协议版本为 3.3。 请自行到上面的 github 项目地址中检出代码进行编译安装,Raspberry Pi 系统则提供了已经编译好的版本 ^_^。 使用方式很简单,运行: fbvnc 192.168.1.xxx 如果需要密码会提示你输入,完成后就可以看到远程 VNC 主机的画面,其中 192.168.1.xxx 为 VNC 服务器的主机地址,另外也可以增加参数指定 VNC 服务器的端口号(如果不是默认的 5900 端口),运行 fbvnc -h 可以查看帮助信息。 连接上 VNC 服务器之后的操作: 快捷键 操作 Ctrl + 空格 暂停/恢复 图像更新绘制 Ctrl + Alt + C 断开连接并退出 适用于 Raspberry Pi Debian Whezzy 系统的 fbvnc 程序下载链接: http://github.com/downloads/zohead/fbvnc/fbvnc-raspberry-pi-v1.0.2.7z 此程序纯粹为我基于其它项目做个人修改使用的,其中有任何问题请提出指正哦 ^_^

发布PPTV XBMC视频插件v1.0

本文同步自(最佳显示效果请点击):https://zohead.com/archives/pptv-xbmc-plugin/ 最近认识一位朋友想要在 XBMC 多媒体中心软件(http://www.xbmc.org/)上观看 PPTV(http://www.pptv.com/) 视频网站上的视频,看到有 Windows 上的 XBMC PPTV 插件,但都没法在我的 Raspberry Pi 微型电脑板上(板子虽小也支持播放 1080p 高清视频哦)运行,于是想着自己写个能够跨平台的 PPTV 视频的 XBMC 插件,顺便也拿这个练练 Python,HOHO。 既然要跨平台,那首先考虑必须全部用 XBMC 自带的 Python 脚本实现,不能调用 Windows 上 DLL 之类的鬼玩意,而且 Raspberry Pi 的 armhf 系统上也几乎不可能有 PPTV 的动态库可以用的。 基本原理: 通过 Python 插件发送 HTTP 请求时伪装成 iPad 客户端从 PPTV 网站上获取频道列表、视频列表、查询视频,并得到视频的实际 m3u 和 m3u8 地址。后来发现此方法得到的 m3u 和 m3u8 视频地址在 Raspberry Pi 系统中播放有问题,而且不太好直接解决。没办法,咱拿起 Wireshark 抓包神器,终于发现了 PPTV 未公开的 API 方法(其实 PPTV 一直从未公开,哈哈)得到网页 Flash 方式播放的视频地址。不过其中有个视频 key 的问题,没什么太好办法在 Python 中直接得到。最终想到通过 [硕鼠] 网站解决,硕鼠网站得到的 PPTV 视频地址明显有问题,但有个可用之处就是他能通过 Flash 得到 PPTV 的视频 key,那就省点事从硕鼠得到视频 key,从 PPTV 未公开 API 构造视频链接和分段信息(用过 Python 自带的 json 库),最终得到真实的视频地址。 有关 XBMC 的插件编写详细请参考这些链接: http://wiki.xbmc.org/index.php?title=HOW-TO:Write_plugins_for_XBMC http://wiki.xbmc.org/index.php?title=Python_development http://wiki.xbmc.org/index.php?title=Add-on_development 其中遇到的一个问题就是 HTML 的解析问题,刚开始使用的是比较成熟好用的一个 Python 插件:Beautiful Soup。这个插件的最大优势就是对不标准的 HTML 的容错性做的非常好,而且各种查找 HTML DOM 结构的函数也很强大。那就按照 Beautiful Soup 的要求解析 PPTV 的 HTML DOM,结果顺利取得,不久就发现一个问题,在 Raspberry Pi 这种比较弱的嵌入式板子上,下载 HTML 倒挺快,通过 Beautiful Soup 解析查找 HTML DOM 竟然要用去 15 秒左右的时间,这完全无法忍受,可以寻找替代品。 最终在 XBMC 的论坛里发现了比较好的 HTML parser 替代品:Parsedom XBMC Add-on。这是直接包含在 XBMC 库中的一个简单的 HTML DOM 解析扩展,import 之,下载 HTML 然后按照 class、按照 id 解析 HTML 的速度都在 1-2 秒之间,非常满意。后来使用中又发现 Parsedom 中存在的一些问题,查找原因并修正之后无伤大雅,想到干脆去掉 Parsedom 中一些我用不到的代码,直接集成到我的 py 文件中使用 ^_^。 略加奋战,终于在 XBMC 界面上能正常显示了,能显示频道列表了,也能进入频道显示视频列表,结果播放时发现悲剧了,iPad 的 m3u 被 XBMC 自己给分段解析然后尝试播放了,造成文件路径不对无法播放。后来使用手工修改路径的方式,尽管能播放,但造成的“效果”就是每 5-6 秒钟就需要切换一下视频,这对于 Raspberry Pi 这种暂时无法调用外部播放器的系统来说简直没法用。 PPTV 视频 XBMC 插件 1.0 版本功能: 支持 www.pptv.com 上基本所有直播和点播视频; 支持在插件设置中选择视频质量(与实际 PPTV 视频片源对应),暂时支持:标清、高清、超清、蓝光、iPad 超清; 支持按影片类型、时间、更新时间、热度等条件选择过滤视频,并且所有过滤条件全部实时从 PPTV 网站获取,插件中不保存分类; 视频列表支持翻页处理(具体每个连续剧的集数列表没有翻页,默认全部列出来,主要感觉 1-40 集这种列表还弄分页没什么必要); 不依赖任何 PPTV 的 Windows 程序和库,理论上可以在任何 XBMC 系统上使用 由于 XBMC 不能原生支持中文输入等原因,暂时未支持视频搜索功能,后续将会改进。 备注: 本插件默认的视频质量为高清格式,需要超清或蓝光格式的在插件设置界面中进行修改即可。iPad 超清视频和直播视频分别是特殊的 m3u 和 m3u8 格式(指向 mp4 视频),需要XBMC 系统能正常播放 PPTV m3u 和 m3u8 视频(Windows 下的 XBMC 系统应该可以配置使用外部播放器来支持,不过偶懒得安装木有测试过)。 声明: 此插件只是从 PPTV 网站获取视频内容,所有视频版权均与此网站有关,本插件一概不负责。另外由于 PPTV 网站将来会有变化,我不保证能马上修复并解决可能出现的问题,因为说不定 PPTV 就完全把未公开的 API 给禁用了。 插件介绍的截图: 插件设置界面: 视频列表界面: 具体视频播放界面(放的正是 《麦兜》 哈 ^_^): 本 XBMC 插件的 github 源代码库地址: https://github.com/zohead/pptv4xbmc 下载 PPTV 视频 XBMC 插件: http://github.com/downloads/zohead/pptv4xbmc/plugin.video.pptv-v1.0.zip 下载之后拷贝到 XBMC 系统,然后到 XBMC 系统设置中选择压缩包安装即可。我正在申请将此款插件加入 XBMC 的中文插件库,顺利的话安装此插件将会更加简单,并且在以后修改时可以直接在线更新。 各位在使用 PPTV 视频 XBMC 插件中如果发现任何问题,欢迎提出指正哦,另外有问题时最好能描述清楚,能附上看的是哪个视频或者哪个频道下面的话更好。 ^_^

有关Raspberry Pi 32位framebuffer的问题

本文同步自(最佳显示效果请点击):https://zohead.com/archives/raspberry-pi-32bit-fb-color/ 之前写过一篇 Raspberry Pi(以下简称 RPI) 下使用 fbpdf 即 framebuffer 模式下的 PDF 阅读器的文章(详情请点击 [这里]),文中提到需要修改 config.txt 开启 RPI 的 32 位 framebuffer 支持,但需要注意的是 RPI 的 32 位 framebuffer 并不是真正的 32 位的,其实只有 20120615 种颜色,而且实际上还需要忽略 alpha 位,这在使用 fbpdf 软件看 PDF 时似乎没有太大的问题。 但今天用看图的软件看一张 32 位的桌面截图时,有点傻眼了,效果如下: 大家也能看出来,其实这就是 Windows 7 默认的浅蓝色桌面壁纸图片,但实际的显示颜色完全不对了,而去掉 config.txt 中的 32 位 framebuffer 支持则没问题。 另外据 RPI 上 XBMC 媒体中心软件 Raspbmc 的开发人员介绍,32 位的 framebuffer 下 XBMC 软件也会存在问题,由此看来 RPI 默认将 framebuffer 的颜色深度设置为 16 位是有其道理的。 上面的 fbpdf 文章中的 fbpdf 程序已经更新为 16 位 framebuffer 的版本,如果对此有不同见解的欢迎提出指正哦。 ^_^

Raspberry Pi framebuffer PDF阅读器 - fbpdf

本文同步自(最佳显示效果请点击):https://zohead.com/archives/raspberry-pi-fbpdf/ 最近拷了几个 PDF 电子书到 Raspberry Pi 树莓派小主板系统上,准备小充下电,结果在 Debian Wheezy Raspbian 的 Linux X11 系统下用以前用的 xpdf 软件看 PDF 的不爽:由于 Raspberry Pi 的 CPU 是 ARMv6 700MHz 的,性能一般,而且内存只有 256MB,所以跑 Linux X11 虽然没什么问题,但老感觉看大一点的 PDF 有点拖顿。 后来装了比较小巧的 mupdf 软件(Raspbian 系统的话直接用 apt-get install mupdf 命令就可以安装)之后在 X11 环境下看 PDF 电子书似乎情况好了很多,mupdf 功能很简单,甚至都没有独立的启动方式,直接双击 PDF 文件运行,或者通过命令行方式运行,主界面也没有工具栏之类的多余东西,操作全部键盘来完成,浏览 PDF 的速度也很快,对中文支持也很好。关于 mupdf 的介绍请参考其官网:http://www.mupdf.com/。 后来想到平时用 Raspberry Pi 主要还是用命令行模式,我对 Linux X11 一向比较反感 ^_^,感觉是不是可以直接用 framebuffer 的形式看 PDF,结果还真找到一个 fbpdf 软件。 fbpdf 是基于 mupdf 的代码基础上实现的纯 framebuffer 下的 PDF 阅读器,和 mupdf 的功能基本相当,用这个可以省去 X11 和 GTK+ 等一堆臃肿的玩意,在 framebuffer 上看不仅速度快而且占用内存也小,并且可以充分利用 Raspberry Pi 上 framebuffer 的硬件加速。但不幸的是 Raspberry Pi 的 Raspbian 源中没有 fbpdf 包,看来只能自己编译了。 fbpdf 的 Git 版本库地址(可以直接用 git clone 命令弄下来哦): http://repo.or.cz/w/fbpdf.git 首先到 mupdf 官网下载 mupdf 源代码和 mupdf-thirdparty 第三方程序的源代码: http://www.mupdf.com/download/mupdf-1.1-source.tar.gz http://www.mupdf.com/download/mupdf-thirdparty.zip 需要说明的是我的编译环境是 armhf 的 Raspbian 默认开发环境。编译 mupdf 之前需要先安装 libfreetype6-dev、libjbig2dec0-dev、libjpeg8-dev 等开发软件包。mupdf 编译安装好之后会产生 fitz 库的头文件和静态库文件 libfitz.a,libfitz.a 在编译 fbpdf 时需要用到。 特别需要注意的是 mupdf 和 fbpdf 使用的是修改过的 openjpeg-1.5.0 版本的 openjpeg 库,不能直接使用 Raspbian 系统中的 libopenjpeg2 库,因此需要先编译 mupdf-thirdparty 中的 openjpeg-1.5.0 库,为了防止和 Raspbian 默认的 openjpeg 库冲突,建议将 openjpeg-1.5.0 库安装到自定义的目录(非 /usr/lib、/usr/local/lib 等系统默认使用的目录),然后编译 fbpdf 时直接使用 openjpeg-1.5.0 产生的静态库文件 libopenjpeg.a。 在 Raspberry Pi 编译 fbpdf 时会有一些小报错,需要修改下代码和 Makefile,编译 fbpdf 时由于要使用 libfitz.a 静态库,因此生成的 fbpdf 可执行文件也会比较大(我编译产生的将近 6MB)。 在 Raspbian 系统的默认 framebuffer 文本终端下运行 fbpdf /home/xxx.pdf (/home/xxx.pdf 为 PDF 文件的路径)就可以查看 PDF 文件了,你的 Raspberry Pi 在用 fbpdf 打开 PDF 时很可能会遇到这个错误直接退出:fbpdf: fbval_t doesn’t match fb depth。 简单说明下这个错误的原因: fbpdf 程序中默认使用的 framebuffer 颜色数(BPP)是 32 位的,但 Raspberry Pi 默认的 framebuffer 只使用 16 位颜色(也就是下面的 framebuffer_depth 默认为 16),这样 fbpdf 程序运行时检查 framebuffer 参数发现不匹配就会报上面的错误,我尝试过跳过这项检查可以不报错,但 PDF 文件的显示渲染效果相当差。 解决方法也是必须要有的: 注意:不建议使用此方法,建议直接使用最下面的 16 位 framebuffer 版本。 打开启动分区下的 config.txt 配置文件(路径为:/boot/config.txt),加入下面两行然后重启系统就可以解决: framebuffer_depth=32 framebuffer_ignore_alpha=1 第一行 framebuffer_depth=32 指定 Raspberry Pi 的 framebuffer 使用 32 位颜色,第二行 framebuffer_ignore_alpha=1 是在使用 32 位颜色时才需要指定的,表示忽略 ARGB 颜色中的 alpha 通道。需要说明的是即使 config.txt 配置文件中指定了使用 32 位实际上也只有 20120615 种颜色的哦,不过对使用上没有影响的。 有关 Raspberry Pi 的 config.txt 配置文件的详细说明请参考这里:http://elinux.org/RPi_config.txt。 把上面的配置文件修改好重启之后,下面是用我编译好的 fbpdf 程序查看一个 5MB 的 PDF 电子书的截图,在 Raspberry Pi 这样的微型板上速度是相当之快的: 从截图中可以看到图片和中文都是可以正常显示的哦。 framebuffer 模式下的 fbpdf 也是全部通过键盘操作,不过快捷键和 mupdf 是不同的,将常用的快捷键简单介绍如下(注意是 J、K 等单按键是区分大小写的哦),大多数快捷键都可以在前面加数字指定次数之类的(深得 VI 的精髓啊,哈哈)。具体请参考 fbpdf 代码中的 README 说明文档: 快捷键 操作 Ctrl + F 或 J 下一页(5J 跳至下面第 5 页,6J 类推) Ctrl + B 或 K […]

Raspberry Pi十六进制编辑器wxHexEditor

本文同步自(最佳显示效果请点击):https://zohead.com/archives/raspberry-pi-wxhexeditor/ 最近在 Raspberry Pi 编程时需要对文件进行十六进制编辑,原来一直用的 vim 配合 xxd 来实现的,但用起来还是各种不方便,在切换到 X11 界面时,想着能不能直接装个图形的编辑器来方便操作。 简单搜索之后发现 Linux 环境下好用的十六进制编辑器确实太少了,原来用的 Ghex 软件由于必须要 GNOME 环境支持果断放弃,UltraEdit 软件已经移植到 Linux 下,但由于是闭源的只有 X86 下的版本。装了这个 Bless Hex Editor 软件,是基于 Mono 实现的,但发现有一些非正常退出的 bug,还是弃用之。 最后发现的 wxHexEditor 看起来很不错,基于 wxWidgets 实现,因此实现了 Windows、Linux、Mac OS X 跨平台,而且速度也挺好,不会一下装载整个文件,这对编辑大文件非常有用,填补了 Linux 上缺少好的十六进制编辑器的空白,看看 Linux 上的运行截图: 想直接在线安装 wxHexEditor 发现有问题了,Raspberry Pi 的默认 Debian Wheezy 发行版中没有这个软件,需要自己来编译了,首先到其官网下载源代码包:http://www.wxhexeditor.org/。 首先 Raspberry Pi 需要相对完整点的开发环境,gcc、make、g++、autoconf、libtool 等一些开发工具包都是需要安装的。准备好之后使用 apt-get install libwxgtk2.8-dev 命令先在 Raspberry Pi 系统中安装 wxWidgets 的最新版本的库文件(自动依赖并安装)和开发包。然后进入解压缩出来的 wxHexEditor 源代码目录,运行 make OPTFLAGS=”-fopenmp” 命令就可以进行编译,粗略估计编译需耗时 15 分钟左右(有点汗…)。 不想自己的编译的童鞋欢迎使用我编译好的版本哦,解压缩把 wxHexEditor 文件拷到 /usr/bin 之类的路径即可,要运行此程序最少要安装 wxWidgets 运行库哦(apt-get install libwxgtk2.8-0),需要注意此文件只在 Raspberry Pi 的 Debian Wheezy hardhf 版本系统中可用: http://miseal.googlecode.com/files/wxHexEditor-v0.20.7z

修改XBMC LiveStreams Python插件以支持中文

本文同步自(最佳显示效果请点击):https://zohead.com/archives/xbmc-livestreams-cn-patch/ 最近在闲时捣鼓下 Raspberry Pi 微型电脑板上的开源 XBMC 应用准备看看 HTPC 媒体中心的效果,发现 Raspberry Pi 在安装了 XBian 系统之后可以比较好的实现 XBMC 的基本功能,虽然由于 Raspberry Pi 没有购买一些视频格式的软件解码授权而导致 WMV 或者 MMS 之类的格式无法播放,但对于常用的一些 H264 的高清视频已经足以应付,接上网线之后看高清在线视频点播和直播的效果都还可以。 有关 Raspberry Pi 请参考 [之前] 的文章,有关 XBian 之一专门为 Raspberry Pi 优化的 XBMC 系统可以访问其官网:http://xbian.org/。 注:Raspberry Pi 上除了 XBian 之外,还有 Raspbmc、Openelec 等其它合适的 XBMC 系统可供选择的。而且这些都是基于标准 XBMC 程序修改的,标准插件之类的基本可以通用。 前两天找到一个不错的在线电视直播的 XBMC 插件:LiveStreams,此插件可以由用户自己修改 XML 配置文件增加在线直播的地址,根据实际硬件配置不同,可支持 MMS、RTSP、RTMP 等各种不同的流媒体协议。有关 LiveStreams 的介绍和配置请参考这些链接(特别第二个链接中有详细的截图介绍): http://forum.xbmc.org/showthread.php?tid=97116 http://www.xbmchub.com/blog/2012/04/26/adding-custom-xml-files-to-the-live-streams-addon/ 最新版本的 LiveStreams 插件可以到这里下载:http://code.google.com/p/divingmules-repo/。 在实际使用过程中发现由于 LiveStreams 由于是老外写的,不由自主的就碰到对中文的支持问题,如果添加的 XML 配置文件中节目名称或者节目目录名称包含中文,XBMC 系统中LiveStreams 插件将不能正常工作,直接会出现脚本错误。 简单看了下 LiveStreams 插件的代码,是用 Python 写的,凭着一些简单的 Python 基础,然后集合 Python 的 logging 模块来调试,终于发现 LiveStreams 插件对中文支持不佳的原因,作者在使用 BeautifulSoup(参考 [这里]) 这一个非常知名的 HTML/XML 等解析的库时未考虑非英文环境下的问题,简单做了下修改之后,中文的直播节目和目录名称都可以正常显示了。 顺便再简单说明一下 LiveStreams XML 配置文件嵌套节目目录的方式,这是一个实例 XML 节目配置文件: 第一个节目目录 Channel 1 下面没有子目录,只有 TV1 和 TV2 这两个节目,因此 XML 层次是 channel/items/item。第二个节目目录 Channel 2 下有名为 Sub1 的子目录,Sub1 下又有 Sub TV1 和 Sub TV2 两个节目,这种的 XML 层次则是:channel/subchannels/subchannel/subitems/subitem。 需要注意的是 LiveStreams 的 XML 配置文件必须以 UTF-8 编码格式保存,否则非英文字符将无法正常显示。另外由于 XML 本身格式的原因,XML 内容中的这些字符需要转换(全部为纯英文字符,包括结束的分号): & 转换为 &amp; < 转换为 &lt; > 转换为 &gt; ‘ 转换为 &apos; ” 转换为 &quot; 最后附上我修改过的最新 LiveStreams 1.0.6 版本 XBMC 插件的下载地址: http://miseal.googlecode.com/files/plugin.video.live.streams-1.0.6.zip 由于这插件只是随便修改的,有任何问题欢迎指正哦。 ^_^

Raspberry Pi初步上手

本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/raspberry-pi-start/ 前段时间听到 Raspberry Pi 微型电脑板(中文名称:树莓派)出来的消息,这是一个只有信用卡大小的售价 35 美元的 ARM 板,运行 Linux 系统,支持高清输出和高清视频播放,适合做各种省电的小应用方案,国外现在研究这个的人也很多,不过当时都需要直接从英国订购,发货时间长而且还要扣掉有点“可观”的税费,故没有很快买。 有关 Raspberry Pi 的详细介绍参考这里: http://en.wikipedia.org/wiki/Raspberry_pi 前两天看到 e络盟 网站上已经有了中国区的 Raspberry Pi 直接网上订购服务,在 e络盟 网站上注册账户并忍受其相当不人性化的支付和下订单方式之后,昨天终于收到寄过来的 Raspberry Pi B型板(售价 + 增值税 + 运费一共 300 天朝币多一点)。包装非常简单,只有裸板。 e络盟 上的 Raspberry Pi 订购链接在此,有兴趣的朋友也可以买来折腾试试:http://cn.element14.com/raspberry-pi/raspbrry-pcba/sbc-raspberry-pi-model-b/dp/2081185 从图上也可以看到 Raspberry Pi 算是麻雀虽小五脏俱全滴,板子中间有树莓派的 LOGO。整板使用 Broadcom BCM2835 SoC(集成 CPU、GPU、DSP、SDRAM),处理器为 ARM1176JZF-S 700 MHz,内存 256 MB,有 HDMI 输出(标准接口)、两个 USB 2.0 接口(支持 USB HUB)、一个 SD 卡插槽、一个百兆以太网卡、音频输出、GPIO 调试接口等,而且整个板子的功率只有 3.5W,可通过 MicroUSB 或者 GPIO 供电,一般的 5V 700mA 或以上的充电器就可以给 Raspberry Pi 供电。 由于 Raspberry Pi 只提供裸板,不提供其它一切配件,这些都要自己来弄了。我这没有支持 HDMI 或者 DVI 的高清显示器,只有老式 VGA,故先在网上淘了一个 HDMI 转 VGA 的转接头(需要注意的是 HDMI 转 DVI 再转 VGA 的方式是行不通的哦)。HDMI 转 VGA 是由数字信号转为模拟型号,必须使用数模转换芯片,因此这种转接头经常会有兼容性问题,购买时需要注意是否兼容。我买的是淘宝上的 鑫魔王 HDMI 转 VGA 线,并且特别买了支持音频输出的转接线(免广告之嫌,不给出链接 ^_^)。 Raspberry Pi 只支持从 SD 卡启动,不支持从 USB 启动,但可以启动好之后将 rootfs 放到 U盘上,为最好地兼容和优化考虑,建议使用 Raspberry Pi 官方网站上的 Raspbian “wheezy” 系统(点击 [这里] 进入下载),为此需要 SD 卡最小得有 2G。从官方网站下载系统后可以直接拷贝到 SD 卡中(dd 或直接对拷,不需要分区)。 由于我使用了 HDMI 转 VGA 装置,为了能正确完美的显示,需要先修改 SD 卡启动分区(FAT16 格式)中的 config.txt 配置文件: hdmi_force_hotplug=1 hdmi_drive=2 hdmi_group=2 hdmi_mode=47 disable_overscan=1 hdmi_force_hotplug、hdmi_drive、hdmi_group 都是为了使 HDMI 转 VGA 能正常工作,hdmi_mode 设置显示输出的分辨率(47 为我的显示器用的 1440 x 900 的分辨率,具体请参考 Raspberry Pi 上的帮助),disable_overscan 则是为了去掉显示画面四周的黑色边框。 有关 Raspberry Pi 配置文件的介绍请参考这里:http://elinux.org/RPi_config.txt 把 Raspberry Pi 的 HDMI 通过转接线接到 VGA 显示器,接上 USB 鼠标和键盘,插上网线,安装 SD 卡,然后供电(我实际使用的就是 5V 700mA 的手机充电器,完全没有压力 ^_^),正常的话就可以看到显示器上的启动输出画面咯: 具体的接线方式见下图(比较凌乱,哈哈): 稍等片刻,就会出现终端的登录界面。 直接敲回车登录,默认就是 raspi-config 配置界面,建议先做基本的配置,特别是语言、时区、键盘布局之类的,这些比较重要,而且从 Raspberry Pi 官方下的系统里的配置全都是适合英国的配置,我分别将语言设置和时区为中文、键盘改为美式键盘。 Raspbian “wheezy” 系统是基于 Debian 系统修改的,默认使用的是 DHCP 方式获得 IP,如果没有获得 IP 请手工配置。系统中的 apt 源也已经默认设置为 Raspbian 网站上的源,直接运行 apt-get 命令就可以安装需要的软件包。 在开启图形界面前,建议先使用 apt-get 命令在线安装下面的这些软件包,这对中文显示和输出比较重要: sudo apt-get install ttf-wqy-zenhei sudo apt-get install ttf-wqy-microhei sudo apt-get install fcitx 前两个是安装中文字体(不建议安装 simsun 字体),第三个安装中文输入法。 全部配置好之后就可以运行 startx 命令进入图形界面(图中即为 1440 x 900 的分辨率): 桌面中间又是大大的树莓派 LOGO。Raspbian “wheezy” 系统没有使用 GNOME 或者 KDE 之类的桌面环境,而是使用的 LXDE 轻量级桌面,这样也比较适合 Raspberry Pi 这种小的系统环境。 Raspbian “wheezy” 系统默认也自带了一些编程环境、网络浏览器之类的。下面是浏览中文网页的效果,看起来还是比较完美的(不支持 Flash 之类的就无所谓了 ^_^): 从初步上手使用的效果来看,Raspberry Pi 还是比较令人满意,高清视频播放还没机会测试。下面有机会再来继续折腾了,网上用 Raspberry Pi 做的比较多的是下载机之类的,还有另类的牛人加上了温度传感器之类的东东。 PS:Raspberry Pi 由于只有 256 MB 的内存,因此运行大的程序还是有点卡,而且系统整体的响应速度也和使用的 SD 卡有些关系,未避免影响系统系统,建议使用 class 4 或更高速度的存储卡。