去年,我们 宣布 Mozilla 的 Project Things 项目。Project Things 是一个软件和服务框架,可以通过为“事物”提供 Web 上的 URL 来弥合连接设备之间的通信差距。
今天,我很高兴地告诉大家关于 Things Gateway 最新版本的详细信息,以及如何使用它通过 Web 直接监控和控制您的家,无需中间人。无需为购买的每个智能家居设备安装不同的移动应用程序,您就可以通过单个安全的 Web 界面管理所有设备。这篇文章将介绍如何使用 Raspberry Pi 构建自己的 Web of Things 网关,并使用它连接各种品牌的现有现成智能家居产品,利用开放 Web 的强大功能。
最新版本的网关中有很多激动人心的新功能,包括用于设置“如果这样,则那样”样式规则的规则引擎(用于事物如何相互交互),用于在您的家庭地图上布置设备的平面图视图,实验性的语音控制和对许多新类型“事物”的支持。还提供了一个全新的附加组件系统,用于添加对新协议和设备的支持,以及一种安全地授权第三方应用程序访问您的网关的新方法。
硬件
首先,你需要一个 Raspberry Pi® 单板计算机。最新的 Raspberry Pi 3 内置了 WiFi 和蓝牙支持,以及对 GPIO 端口的访问,用于直接硬件连接。这不是必需的,因为你可以使用其他开发板,甚至你的笔记本电脑或台式机,但它目前提供了最佳体验。
如果你想使用其他协议(如 Zigbee 或 Z-Wave)的智能家居设备,你需要购买 USB 适配器。对于 Zigbee,我们目前支持 Digi XStick(ZB 网状版本)。对于 Z-Wave,你可以使用任何 与 OpenZWave 兼容的适配器,但到目前为止,我们只测试了 Sigma Designs UZB Stick 和 Aeotec Z-Stick(第 5 代)。确保为你的地区购买正确的设备,因为 Z-Wave 操作频率在不同国家/地区可能会有所不同。
你还需要一张 microSD 卡,用来将软件刷入!我们建议至少 4GB。
然后就是“事物”本身。网关已经支持许多不同品牌的许多不同的智能插座、传感器和智能灯泡,使用 Zigbee、Z-Wave 和 WiFi。查看 wiki 页面,了解已经过测试的设备。如果你想贡献,我们一直在寻找志愿者来帮助我们测试更多设备。让我们知道你想看到哪些其他设备正常工作,并考虑构建自己的适配器附加组件使其正常工作!(参见后面)。
如果你还没有准备好购买所有这些硬件,但想尝试网关软件,现在可以安装一个虚拟事物附加组件,以便向你的网关添加虚拟事物。
软件
接下来,你需要 下载 适用于 Raspberry Pi 的 Things Gateway 0.3 软件镜像,并将它刷入你的 SD 卡。有 多种方法 可以做到这一点,但 Etcher 是一款用于 Windows、Linux 和 MacOS 的图形应用程序,可以轻松安全地进行操作。
如果你想在笔记本电脑或台式机上试验网关软件,你可以按照 GitHub 上的说明 下载并构建它。我们还提供一个实验性的 OpenWrt 软件包,对更多平台的支持即将推出。如果你针对的是其他平台,请 联系我们。
首次设置
在启动带有插入 SD 卡的网关之前,请确保已插入任何 Zigbee 或 Z-Wave USB 适配器。
当你首次启动网关时,它充当 WiFi 热点,广播网络名称 (SSID)“Mozilla IoT Gateway”。你可以使用笔记本电脑或智能手机连接到该 WiFi 热点,它应该会自动将你重定向到设置页面。或者,你可以使用网线将 Raspberry Pi 直接连接到网络,并在浏览器中输入 gateway.local 以开始设置过程。
首先,你可以选择连接到 WiFi 网络
如果你选择连接到 WiFi 网络,将提示你输入 WiFi 密码,然后你需要确保连接到同一个网络才能继续设置。
接下来,将要求你为你的网关选择一个唯一的子域,它将使用 LetsEncrypt 自动为你生成 SSL 证书,并建立到互联网的安全隧道,以便你可以远程访问网关。将要求你输入电子邮件地址,以便你可以在将来需要时重新获取你的子域。如果你不想使用隧道服务,也可以选择使用自己的域名,但你需要自己生成 SSL 证书和配置 DNS。
然后,你将被安全地重定向到你的新子域,并会提示你创建你在网关上的用户帐户。
然后你将自动登录网关,并可以开始添加事物。请注意,网关的 Web 界面是一个渐进式 Web 应用,你可以在 Firefox 中将它 添加到主屏幕 上。
添加事物
要向你的网关添加设备,请点击屏幕右下角的“+”图标。这将使所有连接的适配器进入配对模式。按照你的个别设备的说明将它与网关配对(这通常涉及在网关处于配对模式时按下设备上的一个按钮)。
已成功与网关配对的设备将出现在添加设备屏幕中,你可以在保存到网关之前为它们命名。
你添加的设备将显示在事物屏幕上。
你可以轻触一次打开或关闭事物,或者点击展开按钮查看事物的所有属性的展开视图。例如,一个智能插座具有开/关开关,并报告其当前的功耗、电压、电流和频率。
对于可调光的彩色灯,你可以打开和关闭灯光、设置颜色和亮度级别。
规则引擎
通过点击主菜单,可以访问规则引擎。
规则引擎允许你设置“如果这样,则那样”样式规则,用于设备如何相互交互。例如,“如果智能插座 A 打开,则打开智能插座 B”。
要创建规则,首先点击规则屏幕右下角的“+”按钮。然后将事物拖放到屏幕上,并选择要连接在一起的事物的属性。
你可以为你的规则命名,然后点击返回,返回到规则屏幕,你将在其中看到你的新规则已添加。
平面图
从主菜单点击“平面图”选项,可以将设备排列在你的家中的平面图上。点击屏幕右下角的编辑按钮,上传平面图图像。
你需要自己创建平面图图像。这可以通过在线工具或图形编辑器完成,或者你可以简单地扫描你手写的家庭地图!带有白色线条和透明背景的 SVG 文件效果最佳。
你可以通过将设备拖动到屏幕周围来排列平面图上的设备。
完成时,只需点击“保存”,你就会看到所有设备的布局。你可以点击它们以访问其展开视图。
附加组件
网关具有附加组件系统,以便你可以扩展其功能。它默认情况下安装了 Zigbee 和 Z-Wave 适配器附加组件,但你可以通过主菜单中的“设置”下的附加组件系统添加对其他适配器的支持。
点击要安装的任何附加组件上的“+ 添加”按钮。
例如,有一个虚拟事物附加组件,它允许你使用不同类型的 Web 事物进行实验,而无需购买任何真实的硬件。点击屏幕右下角的“+”按钮,查看可用的附加组件列表。
点击要安装的任何附加组件上的“+ 添加”按钮。当你返回到附加组件屏幕时,你将看到已安装的附加组件列表,你可以启用或禁用它们。
在下一篇文章中,你将学习如何使用你选择的编程语言(例如 JavaScript、Python 或 Rust)创建、打包和共享自己的适配器附加组件。
语音界面
网关还提供实验性的语音控制,默认情况下处于关闭状态。你可以在设置中的“实验”中启用此功能。
启用“语音命令”实验后,你将在事物屏幕的右上角看到一个麦克风图标。
如果你使用的智能手机或电脑有麦克风,你可以点击麦克风并发出语音命令,比如“打开厨房”,来控制连接到网关的设备。
语音控制功能目前仍处于实验阶段,尚不识别范围广泛的词汇,因此最好使用常见的词汇,如厨房、阳台、客厅等。我们将与Mozilla的Voice团队合作,在未来改进这方面功能。
更新
你的网关软件应该会自动从Mozilla接收无线更新,保持最新状态。 你可以通过点击设置中的“更新”来查看你正在运行的网关软件版本。
后续计划
在下一个版本中,Mozilla物联网团队计划创建新的网关适配器,将更多现有的智能家居设备连接到物联网。我们还将开始开发一系列不同编程语言的软件库,帮助黑客和创客构建自己的原生Web事物,这些事物可以直接使用现有的平台(如Arduino和Android Things)公开Web Thing API。 然后你就可以通过URL将这些事物添加到网关中。
我们将继续通过W3C物联网兴趣小组,为Web Thing描述格式和API的标准化做出贡献。通过为连接的设备在网络上提供URL,并使用标准数据模型和API,我们可以帮助在物联网上创建更多互操作性。
下一篇文章将解释如何使用你选择的编程语言构建、打包和分享你自己的适配器插件,以向事物网关添加新功能。
如何贡献
我们需要你的帮助!最简单的贡献方式是下载事物网关软件镜像(撰写本文时为0.3版),并在你的树莓派上进行测试,帮助我们找到错误并提出新功能建议。 你可以在GitHub上查看我们的源代码和提交问题。 你还可以通过pull请求帮助我们修复问题,并为网关贡献你自己的适配器。
如果你有任何问题,可以在irc.mozilla.org上的#iot或Discourse上的“Mozilla物联网”主题中找到我们。 更多信息请访问iot.mozilla.org,如果你想随时了解最新进展,请关注Twitter上的@MozillaIoT。
快乐编程!
编辑注:想开始编程了吗?以下是一些入门项目:
关于 Ben Francis
前Mozilla软件工程师。 W3C Web应用程序和物联网邀请专家。
75条评论