为机顶盒增加P2P和邮件功能
来源:数字电视中文网 编辑:数字音视工程 2009-03-30 00:00:00 加入收藏
笔者很早前从泰信网站上下载了一个机顶盒操作系统的软件开发包,并获得了一个机顶盒。经过几天时间的熟悉,正如泰信所宣传的那样,终于可以独立在机顶盒上开发软件了,都说数字电视技术比较封闭,没想到泰信的软硬件分离平台那么开放,还有示例代码。
泰信公开了比较完善的网络接口,实现TCP/IP、UDP、PPPOE等网络协议。并屏蔽了比较复杂的协议栈部分。仅过一段时间的开发测试,笔者已经在这个API上实现了P2P网络协议、电子邮件客户端功能。在这些协议栈上,可以很容易地完成各种网络功能。本人在这个平台上实现了网络聊天和电子邮件收发功能。
增加P2P网络功能
典型的P2P网络软件有BT下载、MSN、QQ、SKYPE等等。微软的MSN聊天工具协议是公开的,可从网上下载。利用泰信的底层网络协议,可以将其很方便的嵌入到机顶盒里,编译生成的文件名为P2P.bin,有API说明。
现在数字电视机顶盒也已经步入网络时代, 双向机顶盒得到普遍应用。一些计算机互联网上的应用也得以在机顶盒上实现。本文就介绍一种即时通信协议在机顶盒上的实现。
当前互联网上即时通信协议繁多, 有QQ、MSN、Yahoo Messager、AOL、ICO、Google Talk等。这些协议大都遵循XMPP(Jabber协议的标准化)或简单地对其进行改造。XMPP是一个开放的文本协议, 以XML流为基础,协议简明, 扩展性强,是一种发展迅速的P2P协议。也有人用它作软交换服务器。以下介绍XMPP在机顶盒上的实现。
XMPP简介
XMPP协议的前身是Jabber协议, XMPP的全称是可扩展的消息和出席信息协议(Extensible Messaging and Presence Protocol)。XMPP不仅具有一般即时通信协议所具有的功能, 它还允许同一帐号在不同地点/设备同时登陆, 当然最具特色的还是它的开放性。协议的开放使得人们容易在各种设备上实现。XMPP协议的帐户由于历史原因被称为JID, 是这样的形式: example@domain/resouce。前面说同一帐户可以在多处登陆, 服务器如何区分多处登陆的同一帐户呢?其实在不同地方登陆的帐户的JID的resouce部分是不一样的, resouce部分可以在登陆过程中和服务器协商确定。
XMPP的登陆过程
其实一个邮箱帐户就可以是一个MSN帐户, 下面以登陆MSN的服务器为例介绍的登陆过程。假设有帐户 example@msn.com。
1) 根据帐户的域名部分msn.com, 使用域名服务查询, 获取XMPP服务器的地址
2) 连接XMPP服务器, 发送初始化请求, 服务器应答
3) 获取服务器支持的安全机制, 和服务器建立安全传输层
4) 获取并选择一种服务器支持的认证机制, 向服务器认证客户端帐号
5) 和服务器进行协商JID的resouce部分
6) 建立和服务器的会话
成功登陆后, 我们在机顶盒上实现的客户端可以相互通信, 也可以和PC机上的各种客户端通信(MSN、Google Talk、Pidgin、 LinQ等)。
通过XMPP协议, 各个不同地方, 不同型号的机顶盒只要接入互联网, 就能够相互连接、相互通信。由于和服务器连接中安全层的存在, 各个机顶盒之间的通信内容是安全的, 即: 信息是完整的、不能被窃听的、不能被篡改的、和两台PC机通讯是一样的。XMPP协议对机顶盒资源要求不是很高, 但也需要具有一定处理速度,经常使用的ST5105不能满足这种要求,会经常死机,然而在三洋机顶盒上相互通信却很流畅。
在具有双向网络的机顶盒上实现这种P2P协议后,就可以在此基础上开发很多有趣的功能。例如,如果使用硬盘,在网络速度足够快的情况下共享影像资料;开发远端子母机等。
因为泰信提供了丰富的网络接口,邮件系统的实现相对比较简单。邮件系统分为服务器和客户端两部分,服务器可以使用在Internet网上的各种邮件服务器,例如,新浪、搜狐等门户网站的邮件服务器。客户端则需要在机顶盒端实现,其基本要求是实现用于发送邮件的smtp协议和用于接收邮件的pop3协议,应当实现对中英文本正文和多附件的支持。
网络邮件系统作为双向业务的基础部件可以作为用户上传数据的重要渠道,可用于以文本正文形式发送用户服务请求,以附件方式上传下载多媒体数据分享资源,甚至使用附件升级程序等应用中。
smtp协议和用于接收邮件的pop3协议都是公开的,可以在网上获得。编译成的文件名为mail.bin,同样有API使用说明。
三洋LC74189机顶盒平台具有很高的速度。我得到的这台配置为2GB的NAND FLASH,一个SD读卡器,利用这个邮件功能,可以将机顶盒当作一个网络数码像框,只需将数码相机的SD卡插到机顶盒上就可以浏览照片,或将其发到彩印中心,或者PC机上浏览。当然,也可以使用机顶盒接收照片邮件,观看亲友从外地发来的照片,非常实用。
最后,感谢泰信提供了一个开放的软件和机顶盒硬件平台。这标志着中国数字电视技术从此走向了开放,即将迎来快速发展的新时代。
评论comment