The Ultimate Linux Home
最初是关于 Ultimate Linux Multimedia System 的文章,最终变成了关于 Ultimate Linux Home 的文章——多亏了一个名为 LinuxMCE 的项目,它很快就会来到您附近的家中。是什么引起了这种想法的转变?在我成长的过程中,我非常喜欢像 Popular Mechanics 和 Popular Science 这样的杂志,它们不断谈论未来的家。这样的家会管理灯光,当您从一个房间走到另一个房间时,会自动打开和关闭灯。它还会控制供暖,根据您是要睡觉、即将醒来还是要上班,自动调节房间的温度。
未来的家在科幻小说中出现得更为频繁——家会张开双臂拥抱你,照顾你的一切需求。它会为你读书,让你无需拿着听筒即可接听电话。这些服务将在整个房子里提供,根据居住者的需求量身定制。
多年来,这种未来之家的品质一次又一次地出现,主要是在概念住宅中。通过使用诸如 X10 之类的界面来远程控制灯光和暖气,出现了一些小的改进,但是,除了某些非常昂贵的系统之外,真正未来之家的承诺似乎仍然遥遥无期。
大约一年前,我注意到一个名为 Pluto (www.plutohome.com) 的项目,该项目似乎汇集了其他项目的元素,例如
MythTV 用于录制电视节目、照片和音乐。
Xine 用于观看电影。
Asterisk 用于处理电话呼叫。
它还增加了安全摄像头和照明控制,并将它们全部捆绑在一起,从各种硬件(包括支持蓝牙的手机)进行控制。不仅如此,它还可以“跟踪”您从一个房间走到另一个房间,并确保您进入的房间中播放的媒体与您刚离开的房间中播放的媒体相同。如果您想吓跑窃贼,您还可以从手机访问安全摄像头的输出,并通过音响系统的扬声器进行通话。Pluto 的人们制作了一个非常棒的动画视频,展示了如果系统完全实施并正确安装,它将如何工作 (plutohome.com/index.php?)。他们还完整列出了它可以做的所有事情。这太棒了。
最重要的是,Plutohome 是 FOSS!参与该项目的人员鼓励其他人加入该项目,获取代码并将其放在自己的硬件上,甚至销售带有 Pluto 软件的系统和服务。他们正确地指出,尽管有些人会将他们的软件放到“商品”硬件上,但还有其他人想要一个完整且经过测试的系统,并且他们很乐意主要迎合第二类人群,同时允许 DIY 人员使用该软件并帮助扩展它。尽管该功能很有趣,但我没有时间进一步研究 Pluto,所以我将其存档以供将来参考。
然后,在 2007 年 3 月,我听说了 LinuxMCE 并在 Google 视频上看到了该视频 (video.google.com/videoplay?docid=-4422887272477313460&hl=en)。
在 www.linuxmce.com 上,我了解到 LinuxMCE 的创始人 Paul Webber 曾参加过 CEDIA 2006,这是一个消费音频/视频/家庭自动化贸易展。在那里,他看到了 Pluto 的演示,当时 Pluto 已获得 Monster 的许可。Paul 被迷住了,但是当他被告知 Pluto 已竭尽全力将其技术带给自己的客户时,Paul 决定努力使它对自由软件社区更可见、更灵活。有趣的是,他是在 Pluto 的祝福和支持下做到这一点的。
在撰写本文时,是 2007 年 6 月,Paul 认为“会花我一周时间”的项目已经进行了五个月,Paul 和另一位程序员“几乎全职投入其中”,但他们正在接近一个可用的版本。他们做了大量工作,使其在“通用”PC 上、在“通用”发行版之上运行,并确保用户能够继续获得他们需要的所有设备支持。封闭的、单一用途的系统不是他们的目标。
今天,LinuxMCE 基于 Kubuntu 发行版,KDE 的 Aaron Seigo 承诺将其更好地集成。LinuxMCE 团队的目标是让更多的发行版集成和发布 LinuxMCE。想象一下,在每台 Linux 桌面和笔记本电脑上都有一个多媒体强项作为选项,并且每台 Linux 桌面和笔记本电脑都可以选择提供分布式、集成的多媒体功能。
LinuxMCE 和 Pluto 都是允许将各种组件集成在一起的框架。这两个项目都利用其他主要组件以及一组名为 DCERouter(DCE 代表数据、命令和事件)的库,这是一种通用消息路由器。它可以向“包装”在代码中的应用程序发送消息,并在这些应用程序需要完成某些操作时接收来自这些应用程序的命令。
举例说明它是如何工作的,假设您在看电视时有电话打入 Asterisk。Asterisk 程序可以向 MythTV 发送消息,以使节目静音,甚至暂停节目直到通话结束。
当然,当您考虑程序控制其他程序时,这是一回事,但是如果您将几乎相同的逻辑应用于硬件设备,则可以更轻松地将许多家庭自动化产品的功能映射到系统的框架中,相对轻松。
该框架还管理插件,就像许多其他灵活的 FOSS 代码(例如 GIMP)一样,允许添加更多模块以实现新功能。
现在,让我们看一下构成系统硬件的不同组件。
核心是一台服务器,可以放置在不显眼的地方,例如您的地下室或车库。核心是存储软件和数据的地方。它应该有两张 NIC 卡:一张用于内部网络(建议至少 1GB),一张用于连接外部互联网(可以是 10/100Mb)。核心还应该有一张接口卡,用于您现有的任何电话线(如果您有任何电话线),因为这也是 Asterisk PBX 将管理您的 VoIP 电话呼叫的地方。或者,您可以在网络中的其他位置设置 VoIP 网关。
核心应该是一台可以轻松添加磁盘驱动器并且可能具有更大内存的机器,具体取决于负载。
媒体导播器连接到您的电视和音频/视频设备。它可以从您的有线电视机顶盒或无线连接、CD 和 DVD 驱动器、音频输入、数字“胶片”以及与其他放大器、电视、录像机等设备的连接获得输入。对于您认为拥有“娱乐区”的每个房间,都应该有一个媒体导播器。
这些媒体导播器通常没有任何本地存储。它们通过网络 PXE 启动。这允许您使用 PC 作为媒体导播器,并将操作系统存储在本地磁盘上。从磁盘启动,操作系统就会启动。通过网络启动,它就变成了媒体导播器。
但是,您也可以将核心和媒体导播器软件都安装在硬盘上,并随时启动该软件。这种混合方式允许您启动到 LinuxMCE,然后停止 MCE 软件并使用 Kubuntu。您也可以选择启动 Kubuntu,使用它,然后根据需要启动和停止 MCE 软件——非常灵活。
orbiter 是一个独立的系统,仅用于控制 LinuxMCE 系统。它可以有一个触摸屏或使用键盘和鼠标。Orbiter 可以是平板电脑系统,甚至是普通 PC,但其功能是控制系统的各个部分。
支持 Symbian 蓝牙的手机以及某些 Linux、Windows 和 Windows CE Webpad(例如 Nokia 770)、PDA、Web 浏览器甚至 CISCO 7970 电话都可以充当系统的控制界面。正如文档所说,“您可以使用它 [CISCO 7970] 进行通话并控制您的家。”
基于 Symbian 的蓝牙手机在可以时使用蓝牙进行通信,并在用户距离太远而无法使用蓝牙时切换到蜂窝数据网络。如果每个媒体导播器都有蓝牙连接,您很可能在家中的大部分区域都在蓝牙范围内。
最令人惊奇的部分是,当您从一个房间移动到另一个房间时,蓝牙信号还可以让您选择的音乐或视频跟随您。如果两个使用蓝牙手机的人在同一个房间,媒体的选择将保留给第一个进入房间的人。如果该人离开,它将切换到第二个人在进入房间之前选择的内容。它还可以设置房间中的照明、调节音量和其他功能。
各种屏幕上显示的控件都根据个人的品味进行调整。“maddog”的设置、音乐和偏好会与“shedog”(如果存在“shedog”)不同。并且,当“maddog”拨打电话时,它会显示他自己的联系人列表。当从手机控制系统时,它仅显示手机所有者的信息。
家庭安全也由该系统管理。您可以将您的摄像机集成到系统中,如果有人闯入您的房屋,实时馈送会将图像发送到您的手机并提醒您。然后,您可以拨打 911 并确保当局正在赶往您的房屋或企业。您还可以通过扬声器系统与入侵者对话——比监控警报系统好得多。
最后,核心和媒体导播器实际上是通用计算机和无盘客户端。您家中的核心和媒体导播器连接在一起形成一个网络,但是您也可以使用加密的 VPN 将多个家庭组合在一起。当您挨家挨户(或在世界各地)移动时,您可以访问您的文件和媒体。想象一下,您在酒店房间里可以使用高速互联网,并且可以访问您的所有家庭(或办公室)数据。
好吧,我们只能说“老妈老爹”,我那举世闻名的技术恐惧症父母,可能永远不会自己安装 LinuxMCE 系统。
即使他们设法将组件从箱子中取出、接线和设置好,仍然需要进行大量定制才能使整个系统正确运行。必须插入楼层平面图,必须定位照明设备,并且必须导入或输入大量数据才能使整个系统协同工作。
幸运的是,系统中还内置了一个非常完整和系统的 Web 服务器,可让您远程设置和更改系统的几乎任何功能。就老妈老爹而言,一旦我拜访了他们的房子,插入了所有系统并记下了所有组件的 MAC 地址,我实际上就可以从我在新罕布什尔州的房子里“调整”系统(相信我,这是一种福气)。或者,如果我是这种类型的系统的专业安装人员,我可以远程调整客户的系统来帮助他们。
既然你们都垂涎三尺并询问“我在哪里可以买到它?”,我们将继续讲述故事的其余部分。
想出合适的硬件绝对是问题的一半。用废弃的硬件构建其中一个系统可能会不太令人满意。
CPU 可能主要用于编码和解码视频,特别是如果您对高清电视感兴趣。如果您有用于此目的的硬件编码器,则可以从主 CPU 上卸载大量工作,但是如果您使用的是软件编码器,则可以预期每个视频流都需要大约 1GHz 的处理能力(无论现在这意味着什么)。
硬件编码器,例如 Hauppauge PVR 系列,可以卸载相当多的 CPU 利用率,并允许单个 CPU 一次编码多个流。如果您想在观看一个节目时录制另一个节目或一次录制两个节目,这将非常有用。在我的系统上,它识别出我的 Hauppauge PVR-150,没有任何问题。
如果您自己构建系统,请务必研究 LinuxMCE 项目的文档和 MythTV 文档中讨论硬件的页面。
正如我之前所述,Pluto 更侧重于带有专用硬件的预包装盒子。LinuxMCE 项目更侧重于通用硬件,使用自由和开源软件,并且根本不使用任何获得许可的专有软件。
因此,LinuxMCE 的目标是尽可能在所有发行版中实现可移植性,以便所有发行版都可以包含它。因此,即使 Pluto 人员提供了大量帮助(他们确实提供了帮助),开发团队也必须完成大量工作。
该软件现在正在进行测试,以使其达到 V1.1 状态,即使它只是 V1.1,其功能量也令人震惊。
在开始时,谨慎的做法是了解并非每个外围设备或显卡都将受到支持,并尝试仅使用论坛中的测试人员测试过并发现兼容的硬件。但是,由于该系统正在使用已经存在一段时间的主要子系统,因此这些项目确实支持相当知名的外围设备集。
同样,即使在 1.1 版的第二次 Beta 测试中,某些安装和集成也不是很直观。另一方面,如果您购买预装的盒子,这不会成为问题,并且至少有一家公司计划提供预装和支持的系统(支持将通过电子邮件和电话提供)。
Jon “maddog” Hall 是 Linux International (www.li.org) 的执行董事,Linux International 是一个由最终用户组成的非营利组织,他们希望支持和推广 Linux 操作系统。Hall 先生的商业计算职业生涯始于 1969 年,他曾担任程序员、系统设计师、系统管理员、产品经理、技术营销经理和教育家。他曾在 Western Electric Corporation、Aetna Life and Casualty、Bell Laboratories、Digital Equipment Corporation、VA Linux Systems 和 SGI 等公司工作过。他现在是自由和开源软件 (FOSS) 业务和技术问题的独立顾问。