当我们最后一刻向 Jeremie Miller 寻求一些深度技术见解时,他回复说:“我尝试创建了一个关于 Linux 设备和 Jabber 的更技术性的章节,但我真的很难找到一些具体的东西来描述,并使其听起来复杂(毕竟,Jabber 很简单)。”但他还是发来了一些东西,而且它确实起到了作用。请继续阅读。
—Doc Searls
假设你有一台计算机运行着 x10.homelan.net 服务,以及一些 x10 设备,例如你桌子上的一盏灯,地址是 desklight@x10.homelan.net,以及一个运动传感器,地址是 driveway@x10.homelan.net。
你无线网络平板上的 Jabber 客户端连接到你的 homelan.net 服务器,并且你订阅了这两个 x10 设备的在线状态。你的客户端收到
<presence from="driveway@x10.homelan.net"> <status>Motion Detected</status> </presence>提醒你你的妻子到家了,然后你发送一条消息
<message to="desklight@x10.homelan.net"> <body>on</body> </message>这会激活你桌子旁边的灯(所以看起来你一直在工作,而不是在甲板上闲逛)。
让我们把这个例子再往未来推进一代,你已经在前门添加了一个基于 Lineo Embeddix 的问候设备。假设的无线设备,我们称之为 greetix,有一个麦克风、扬声器、摄像头,并且可以执行简单的语音识别以及充当嵌入式 Jabber 客户端。
当有人接近时,greetix 会拍摄一张快照,并将图片和一个 mp3 音频流附加到它当前的状态
<presence from="greetix@homelan.net"> <status>Guest Waiting</status> <x xmlns="jabber:x:oob" uri="http://192.168.0.42/A4435D8.png"/> <x xmlns="jabber:x:oob" uri="http://192.168.0.42/A4435D8.m3u"/> </presence>任何一个订阅了 greetix 的家庭成员都会收到这个(也可以远程收到,例如你在工作时),并且如果客户端支持图像查看或 mp3 流媒体,它可以提供这些选项。然后你可以发送一条消息
<message to="frontdoor@x10.homelan.net"><body>unlock</body></message>或者向 greetix 发送一个命令,指示它录制一段语音消息
<message to="greetix@homelan.net"><body>not home</body></message>此外,服务器可以使用图像进行面部识别,并智能地对状态做出反应。 greetix 也可以订阅家庭成员和其他家用设备,例如内部运动探测器,以便在没有人在家时做出适当的反应。
通过允许 greetix、服务器、家庭成员的客户端和其他设备之间的对话以通用的 XML 格式进行组织,可以实现许多其他可能性:服务器上的日志记录和存档;针对识别出的个人或时间段的自动响应;上下文相关的服务器生成的音频菜单;语音消息;连接到电话/手机的网关 H323 音频;文本转语音;对所有设备和功能的各种访问;以及设备和人类之间对话和关系的智能管理。