如何在易于获得的开放式软硬件基础上构建个性化家庭联网应用

电子说

1.2w人已加入

描述

开发人员使用可定制开源软件与低成本低功耗开放式硬件设备,可控制整个家庭中的数字媒体,以自己想要的格式通过家庭网络高效地组织、播放和捕获各种媒体内容。联网家庭中的设备多种多样,其中包括录制最喜爱电视节目的电子设备、多房间音乐或视频播放器、网络媒体服务器乃至完整的家庭媒体中心。

用于组织、存储和播放媒体内容的技术正在发生变化,以满足消费者的需求。但是,典型的现成系统价格高昂,而且没有客户想要的功能集。如 BeagleBoard-xM与HawkBoard开发板等开放式硬件以及诸如GeeXboX uShare媒体服务器与XBMC媒体中心等开源软件可为开发人员提供控制创建个性化、低成本、可扩展系统的能力,帮助他们迅速弥合现有功能与期望功能之间的差距。

网络媒体服务器

网络媒体服务器可作为联网家庭应用的骨干,让所有者在多个本地或远程网络设备中共享媒体内容。使用具有最佳性能、外设与连接选项的开放式平台,并结合适当的开源软件,开发人员能够加入其他开发人员社群,共同解决各种共同面临的问题。系统对网络媒体服务器的要求包括以下一些方面。

性能与功耗。对于媒体服务器而言,开发人员一般只需足以传输文件和运行基本软件的性能。ARM9或ARM Cortex-A8等支持全面存储器管理单元的ARM处理器与其他架构相比,不但可帮助开发人员节省成本与空间,降低功耗,同时还可帮助他们运行功能齐全的Linux软件协议栈。

成本节省使他们能够在存储空间和连接选项上投入更多,它们是媒体服务器最重要的两个部分。更低的功耗不仅意味着电费的降低,同时还可有效降低热量生成,从而可取消对主动式冷却的需求,在提高可靠性的同时,降低噪声。

存储外设。媒体服务器的重点在于存储容量。找到有适当存储选项的电路板非常重要。对媒体服务器而言,连接硬盘驱动器的SATA接口可能是最合适的存储选项,不过还要选择MMC/SD闪存卡或USD驱动器等其他选项。多种存储连接选项可实现备份存储或现有存储介质的重复使用。

连接。网络媒体服务器的另一个要件是连接,其不但可为用户实现对网络上其他设备的访问,例如,个人及膝上型电脑、视频游戏控制器以及智能电话等,而且还可为其实现对诸如Web无线电广播等在线媒体内容的存取。大多数开源开发板都提供10/100Gb以太网,这是一种高可靠选项,而USD Wi-Fi道尔芯片则可用于替代以太网线缆。

用户接口(UI)。要浏览媒体数据库,执行系统配置和查看其他网络设备,开发人员就需要某种形式的用户接口(UI)。它可以是运行使用Qt 等图形UI创建工具套件创建的UI的LCD面板,也可以是支持远程管理,并使用Linux、Apche、MySQL与PHP(LAMP)等标准软件协议栈的Web接口。要实现UI输入,既可使用UART或USB接口进行遥控通信,也可使用USB主机连接鼠标和键盘。每个开发人员都可通过开放式软件,根据系统功能与要求进行个性化选择。

媒体管理软件。Linux操作系统可帮助开发人员为各种媒体专用应用选择现已上市的解决方案。对媒体服务器而言,管理服务器上的内容,将视频、音乐与图片放入有组织的文件夹,是一项非常重要的工作。通用即插即用(UPnP)音频/视频(A/V)与数字现场网络联盟(DLNA)媒体共享的普及型应用是支持iTunes集成的GeeXboX uShare()或Firefly()。

图2 BeagleBoard-xM等开放式硬件可帮助开发人员创建个性化、低成本的可扩展系统,帮助他们迅速弥合现有功能与期望功能之间的差距

媒体转码。使用DSP或视频加速器等其他硬件资源来完成快速运行中的媒体转码可让媒体服务器在无须存储多个版本的相同文件的情况下,将内容交付给各种设备。这样可以节省存储空间,简化媒体内容的组织。

网络媒体播放器

除了在网上存储和提供媒体内容外,专用回放(渲染)设备对联网家庭体验而言也很重要。在这种情况下,需要支持高清视频回放以及对多种格式的支持。网络媒体播放器的系统要求包括:

● 音频/视频解码器。对MPEG2、MPEG4与H.264等普及型视频编解码器以及Ogg Theora和WebM等不常见编解码器的支持,对网络媒体播放器而言非常重要。此外,使用支持各种容器文件格式的GStreamer()等开源多媒体框架可帮助开发人员确保不会遇到不能播放的文件,即便是遇到,也可通过修改软件来添加支持。

● 音频/视频输出。拥有可直接连接至HDMI输入的DVI-D输出,并拥有立体声音频输出,就可使用现成的线缆实现高清电视等消费类电子设备的连接。

● 用户接口(UI)。开发人员要使用其媒体播放器,可能还需要良好的UI来帮助他们控制媒体内容和回放。

该UI不仅能够支持播放视频,还能够在屏幕上创建和渲染图形,一般是通过正在播放的视频覆盖控制图形。这就需要一个可生成高清图形并支持将图形和视频混合成统一输出的系统。XBMC媒体中心()等现有开源应用可满足这种UI需求。

● 性能与功耗。要支持上述各种音频/视频内容以及用户接口,使设备具有响应能力,用户将需要更高的性能,其性能可能将超过媒体服务器。然而,该设备功耗应低至可以取消风扇,因此其不需要有噪声的风扇或大型器件,以便使用户尽情欣赏媒体内容。

超越网络媒体

由于本文简要介绍的解决方案都是建立在易于获得的开放式软硬件基础之上的,因此开发人员不应局限于媒体服务器和媒体播放器。他们可以选择如网络视频摄像机或家庭自动化等其他家庭联网方式。

例如OpenCV() 等开源视频分析库可帮助用户为其视频摄像机添加智能技术,如果有人在夜间走到前门,其就会自动打开门厅灯。此外,目前提供的许多开发板都带有其他扩展连接器,其可帮助开发人员使用标准接口将自己的硬件连接到现有的硬件上,或者使用通用I/O创建定制接口。开发人员可通过使用免费的软硬件解决方案,减少从初始概念到工作系统的时间和工作量。更多信息,可以访问:上的HawkBoard、BeagleBoard-xM以及LeopardBoard社区。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分