如何使用 Raspberry Pi 和 Mozilla 的 Things Gateway 构建自己的私人智能家居

去年,我们 宣布 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 StickAeotec 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应用程序和物联网邀请专家。

更多由Ben Francis撰写的文章…


75条评论

  1. Ilya

    > “将树莓派直接连接到你的网络,使用网线,然后输入”

    我没有额外的网线!;)

    2018年2月6日 下午2:51

    1. Mike Kienzle

      花一块钱买一根?

      2018年2月7日 上午3:51

      1. brent

        嗖!

        2018年2月8日 下午6:08

  2. laoshaw

    Mozilla的这个项目与之前的“物联网”有什么关系吗?
    https://webofthings.org/

    2018年2月6日 下午3:07

    1. Ben Francis

      > Mozilla的这个项目与之前的“物联网”有什么关系吗?: https://webofthings.org/

      实际上,我们正与该网站的创始人通过W3C物联网兴趣小组紧密合作,共同定义物联网标准。这是对物联网的持续演进,包括他们2015年提交的Web Thing模型成员http://model.webofthings.io/

      2018年2月6日 下午3:51

  3. Phil

    我使用Google Home,更喜欢用它作为我的语音UI。这个项目如何与Google Home配合使用?

    其次,这个项目看起来像是hass.io的GUI版本,用于自动化。它是hass.io的竞争对手还是补充?

    2018年2月6日 下午11:19

    1. Ben Francis

      目前还没有Google Home集成,但如果Google Home能够调用网关上的REST/WebSockets API,这应该是可行的。我们已经证明使用Alexa可以实现这一点。

      事物网关与Home Assistant具有许多类似功能。有些Mozilla成员也为该项目做出了贡献,我希望我们能够共享适配器代码,甚至可能在共同的Web Thing API (https://iot.mozilla.org/wot/)上达成一致。

      2018年2月7日 下午2:07

      1. Brendon Kozlowski

        我来看看是否真的是这样。很高兴听到这个消息。非常感谢你们团队!包括在协议标准化方面的尝试。这是*非常重要*的。我目前是SmartThings的用户,但会密切关注这一领域。

        2018年2月8日 上午9:50

  4. Patrick

    感谢你的介绍!
    Project Things与其他家庭自动化解决方案(如FHEM、openHAB或Home Assistant)有什么区别?(为什么应该使用其中一种而不是其他?)

    2018年2月7日 上午2:11

    1. Ben Francis

      事物网关从一开始就旨在支持物联网。OpenHAB用Java编写,Home Assistant用Python编写。事物网关用JavaScript (NodeJS)编写,但适配器在单独的进程中运行,可以用任何语言编写(如JavaScript、Python、Rust…)。

      OpenHAB和Home Assistant是更成熟的项目,已经支持广泛的设备。事物网关公开Web Thing API,并且可以说拥有更友好的UI。我们希望它最终能够通过物联网获得非常广泛的硬件支持。

      2018年2月7日 下午2:13

  5. John Doe

    规则引擎问题
    这是否仅限于IFTTT那样的简单规则,还是我可以嵌套IF语句,并使用AND/OR来连接多个触发器/条件?我可以设置多个操作来响应触发器/条件,例如等待并设置级别和颜色?我可以设置和使用变量以及while-do循环吗?我可以将通知发布回应用程序或发送短信吗?

    如果我无法做到这些,那么它还无法替代我现有的设备。

    2018年2月7日 上午7:21

    1. Ben Francis

      规则引擎目前只支持非常简单的规则,但正在快速改进。我们还集成了IFTTT,通过OAuth支持,如果你愿意,也可以暂时使用IFTTT。

      2018年2月7日 下午2:14

  6. Martin

    根据界面的使用方式,标准镜像是否直接支持在RPi上使用触摸屏?

    2018年2月7日 上午7:48

    1. Ben Francis

      它旨在让智能手机、平板电脑或智能显示器等独立设备充当运行在网关上的Web服务器的Web客户端。 但如果你想使用连接的触摸屏,你可以在同一个树莓派上运行Web浏览器,并无任何问题。事物网关基于Raspbian Lite,没有图形前端,因此你必须安装所有必需的软件包,或者根据完整版的Raspbian构建自己的操作系统镜像。

      2018年2月7日 下午2:17

  7. Tomasz Waraksa

    是否可以将我众多树莓派本身作为事物提供,以便我能够从仪表板远程控制它们?远程重启、运行脚本等功能对于管理这支“小部队”非常有用。

    2018年2月7日 上午7:50

    1. Ben Francis

      当然可以。这些树莓派需要通过HTTP或WebSocket服务器公开Web Thing API (https://iot.mozilla.org/wot/)。我们目前正在开发不同编程语言的软件库,以简化构建这种“原生Web事物”的过程。 例如,你可以在树莓派上运行一个Python Web服务器,它托管一个Web Thing描述和一个REST API,你可以向它发送HTTP POST请求来请求“重启”操作。

      2018年2月7日 下午2:19

  8. Grand Master P

    是否有可用于智能门锁(如Schlage Connect)的插件?
    如果没有,我可以使用智能家居Z-Wave设备处理程序的代码,并将其用于这个平台吗?

    2018年2月7日 下午12:19

    1. Ben Francis

      目前还没有对任何智能门锁的支持,但我们正在与设备制造商进行讨论。也许可以使用现有的开源代码来构建一个Z-Wave适配器(或扩展现有的适配器)来支持智能门锁设备。

      2018年2月7日 下午2:20

  9. Linus

    通过GPIO引脚使用Razberry Wave模块怎么样?
    还有任何消息代理支持吗?例如MQTT或更安全的XMPP。
    Homekit/Homebridge?
    还有能够创建if和or嵌套语句的能力是必须的。

    2018年2月7日 下午2:25

    1. Ben Francis

      还没有,我建议您在 GitHub 上提交这些内容作为功能请求,以便其他人也可以表达他们的兴趣,并希望有人能够编写适配器。HomeKit 已经有一个问题了。

      https://github.com/mozilla-iot/gateway/issues

      2018 年 2 月 8 日 下午 01:39

  10. Daniel

    我安装并启动它,对几件事感到失望。

    我似乎遇到了一些问题。我无法安装 Tp-Link 的扩展程序。它总是失败,并且我看不到调试选项。

    第二:更新屏幕似乎根本没有加载。我可以点击它,但那里什么也没有。

    2018 年 2 月 7 日 下午 14:35

    1. Ben Francis

      Discourse 是一个很好的支持场所 https://discourse.mozilla.org/c/iot,或者在 irc.mozilla.org 上的 #iot 找到团队。

      如果您认为您发现了一个可以一致重现的错误,请在 GitHub 上提交一个问题 https://github.com/mozilla-iot/gateway/issues

      2018 年 2 月 8 日 下午 01:42

  11. Mike Hankey

    尝试在 Raspberry Pi 3 B+ 上运行它。
    当我尝试从 mozilla.iot.org 下载 0.3 代码时 - 链接失效,尝试了 FF、Chrome 和 IE。
    因此我下载了 zip 文件并将其刷入 SD 卡,启动并连接到“Mozilla IoT Gateway”,然后尝试访问 gateway.local - 404,手动配置 wifi 并能够连接 PC 浏览器到 IP 地址,并得到“为您的网关选择一个安全网络地址”页面,输入信息并点击创建,显示处理文本,但什么也没发生/死链接。当我点击跳过时,我得到“TypeError: NetworkError when attempting to fetch resource”。
    我是一名退休程序员和业余爱好者,我希望能让它工作并参与其中。

    2018 年 2 月 7 日 下午 16:16

    1. Ben Francis

      > 当我尝试从 mozilla.iot.org 下载 0.3 代码时 - 链接失效,尝试了 FF、Chrome 和 IE。

      您发现的失效链接在哪里,它指向哪个 URL?如果它在网站上,请在此处提交一个错误 https://github.com/mozilla-iot/mozilla-iot.github.io

      > 连接到“Mozilla IoT Gateway”,然后尝试访问 gateway.local - 404

      当您连接到 Mozilla IoT WiFi 热点时,它应该充当一个网络捕获门户,并自动向您显示一个设置屏幕(此时不在 gateway.local 上)。可能它在您的操作系统上不起作用,您能请在网关 wifi 设置存储库中提交一个错误,包括重现步骤以及您正在运行的 OS 吗? https://github.com/mozilla-iot/gateway-wifi-setup/issues

      > 能够连接 PC 浏览器到 IP 地址,并得到“为您的网关选择一个安全网络地址”页面,输入信息并点击创建,显示处理文本,但什么也没发生/死链接。当我点击跳过时,我得到“TypeError: NetworkError when attempting to fetch resource”。

      听起来您的 Raspberry Pi 出现了网络问题。如果可能,您可能可以通过以太网电缆连接来获得更好的效果。如果您一直遇到此问题,请在网关存储库中提交一个错误 https://github.com/mozilla-iot/gateway/issues

      如果您还有其他问题,Discourse 是一个很好的支持场所 (https://discourse.mozilla.org/c/iot),或者在 irc.mozilla.org 上的 #iot 找到团队。

      2018 年 2 月 8 日 下午 01:51

  12. Alex

    遇到了一些麻烦 - 无法访问 GUI。启动时我得到这个

    Rasbian GNU/Linux 9 gateway tty1
    gateway login

    尝试了很多方法 - 没有效果。得到登录名和密码信息了吗?

    2018 年 2 月 7 日 下午 17:44

    1. Ben Francis

      网关设计为无头 Web 服务器使用,而不是通过连接显示器使用。请按照这篇博文中的步骤设置网关,并从您的 Web 浏览器访问 Web 界面。

      2018 年 2 月 8 日 下午 01:53

  13. Nick

    这是一个非常激动人心的项目。消费级家庭自动化产品遭受着极度碎片化的困扰。Home Assistant 和 OpenHab 帮助我们努力将世界整合在一起。

    提供隧道和 SSL 证书并实现零配置是易用性的一大卖点(Home Assistant 正在转向订阅费来提供此功能),但可用适配器的数量需要迅速增长。

    我期待着看到 Mozilla IoT 在下一个版本中发布哪些适配器,并查看您下一篇关于如何创建适配器的博文 - 我可能会移植一些我用于 Home Assistant 的自定义组件。

    2018 年 2 月 7 日 下午 19:22

    1. Ben Francis

      听起来很棒!下一篇博文将更详细地解释如何构建一个适配器,但这里有一些入门信息 https://github.com/mozilla-iot/wiki/wiki/Adapter-IPC,GitHub 上有一个示例 https://github.com/mozilla-iot/example-adapter

      2018 年 2 月 8 日 下午 01:55

  14. Darryl K

    我能否在 PI 的串行端口上挂一个 ESP8266 或 Arduino,并从收集来自例如 DIY 气象站数据的 Arduino 或 ESP8266 中获取数据?

    2018 年 2 月 7 日 下午 19:22

    1. Ben Francis

      是的,如果您在串行端口上使用自己的消息格式,您可能需要创建自己的网关适配器(请参阅上面评论回复中的链接)。

      或者,我们正在为具有网络功能且功能强大到足以自己公开 Web Thing API 的 Arduino 模块开发一个软件库,因此您可以将它们变成本地 Web 事物,并只需通过它们的 URL 将它们添加到网关中! http://iot.mozilla.org/wot/

      2018 年 2 月 8 日 下午 01:58

  15. Garnet

    是否有计划开发 MQTT 链接?这可能会为许多开发人员打开很多大门。

    2018 年 2 月 8 日 上午 07:43

    1. Ben Francis

      单独的 MQTT 适配器没什么用,因为它只是一种消息协议,我们需要找出可以通过 MQTT 通信并通过 WebSockets 作为 Web Thing 公开的特定设备。

      如果您有关于可以桥接到 Web Thing API 的 MQTT 设备的想法,请在 GitHub 上提交一个问题。

      2018 年 2 月 8 日 上午 09:49

  16. Trevor Olsson

    无法使用 gateway.local 连接到 Pi。

    使用内部 IP 地址 192.168.1.191 成功连接。

    2018 年 2 月 8 日 上午 08:26

    1. Ben Francis

      有时 mDNS 广播需要一段时间才能传播,并且并非所有操作系统都支持它(例如 Android)。如果问题仍然存在,请提交一个错误,包括您正在使用的操作系统。

      2018年2月8日 上午9:50

  17. James Taylor

    该设备易于下载和安装。
    我有一个主要问题是设置网络配置。
    我希望能够设置静态 IP,以便我可以设置内部/外部 DNS。
    这是否在未来版本中计划?

    2018 年 2 月 8 日 上午 09:02

    1. Ben Francis

      Raspberry Pi 镜像基于 Raspbian 构建,因此如果您想设置网络,您可以登录并使用命令行进行配置(例如 https://www.modmypi.com/blog/how-to-give-your-raspberry-pi-a-static-ip-address-update)。您需要一条串行电缆,或者通过将一个名为“ssh”的文件放入引导分区来启用 SSH(默认情况下它是禁用的)。用户名:pi 密码:raspberry(如果您启用 SSH,请更改默认密码)。

      将来,在设置中可能会有一个用于网络配置的 UI。

      2018 年 2 月 8 日 上午 09:54

      1. Chase Farmer

        您好,Ben

        您能否更详细地说明如何在 pi 上启用 ssh?我之前使用 raspiconfig 和运行 raspbian 的方法做过,但不确定如何在运行此操作系统时进行操作。谢谢!

        2018 年 2 月 19 日 下午 16:59

        1. Ben Francis

          网关正在运行 Raspbian,因此它也是一样的。

          请参阅 https://github.com/mozilla-iot/wiki/wiki/Logging-into-the-Raspberry-Pi

          2018 年 2 月 20 日 上午 03:26

  18. Lars

    很棒的项目,伙计们,谢谢你们!
    期待看到更多针对常见物联网设备的适配器(宜家 Tradfri、蓝牙恒温器、868mHz 传感器、433mHz 开关等)。

    是否有正在开发的原生 Android 或 iOS 应用程序?

    2018 年 2 月 8 日 上午 09:33

    1. Ben Francis

      目前没有原生应用程序的计划,但我们正在讨论一些想法。Web 界面是一个渐进式 Web 应用程序,因此您可以将其添加到主屏幕以在某些操作系统上获得应用程序图标。

      顺便说一下,宜家灯泡应该很快就会被 Zigbee 适配器支持,如果没有的话。

      2018 年 2 月 8 日 上午 09:56

  19. Frederick Blais

    我很高兴 Mozilla 正在开发这样的东西。我和一位朋友做了一些类似的事情:一个 Raspberry Pi “网关”与不同的 Arduino “设备”通信,其中 gpio、传感器和执行器是“属性”。所有内容都设置在以太网网络上,Arduino 端使用廉价的 ENC28J60 模块来与 Raspberry Pi 建立 UDP 通信。所有源代码都在这里:https://github.com/speccy88/Domotique2

    我有兴趣将我通过以太网轮询 Arduino 的代码转换为“适配器”,以便我们的硬件可以与您的 Things Gateway 配合使用。这将避免我重新发明轮子。

    我想知道如何控制像 LED 显示板这样的可以显示文本字符串的东西。我认为“事物类型”应该可以扩展以包含自定义属性。

    关于规则引擎,我认为能够访问网关可以访问的属性列表并能够编写更复杂的触发器会很好,例如
    (garage_temperature < 15 OR house_temperature < 20) AND heating_master_switch

    我还想看到属性上的日志图表功能!

    2018 年 2 月 8 日 下午 15:10

    1. Ben Francis

      是的,您可以编写一个适配器通过 UDP 与 Arduino 设备通信。我们现在还在开发一个库,以帮助您使用能够支持完整的 TCP/IP 堆栈并自己公开 Web Thing API 的高端 Arduino 板构建“本地 Web 事物”。然后,您就可以通过 URL 将它们添加到网关中。请参阅 https://github.com/hobinjk/esp8266-wot 以了解早期示例。

      事物类型旨在可扩展。您可以简单地为您的设备指定通用类型“事物”,并赋予它您想要的任何属性。将来,您应该能够使用语义注释定义自己的外部事物类型 (https://iot.mozilla.org/wot/#extensibility-with-json-ld)。

      更复杂的规则和数据记录都在我们的待办事项列表中!

      2018 年 2 月 16 日 上午 11:30

  20. Jan

    干得好,伙计们。 是否支持将数据存储到数据库中,并方便地通过图表(Grafana)或任何编程代码进行读取? 我目前将所有历史记录存储在 SQL InfluxDB 中,并且可以设置一些预测规则。 谢谢

    2018 年 2 月 8 日 下午 8:05

    1. Ben Francis

      还没有,但数据分析在我们待办事项列表中。 您可以尝试编写您自己的第三方应用程序来执行此操作,该应用程序通过 OAuth 请求访问网关并通过 WebSocket 记录数据。

      2018 年 2 月 16 日 上午 11:31

  21. john

    你好。
    如果我的英语有错误,请原谅,因为我的英语不太好。
    这是一项非常棒的技术!
    我已经设置了 Things 网关,并将 Hue 桥连接到与 Things 网关相同的网络。
    但 Things 网关无法找到 Hue 桥。
    请告诉我如何识别它。

    2018 年 2 月 9 日 上午 3:13

  22. Kristian Polso

    太棒了,伙计们!

    Things 网关是否支持本地 GPIO 供电的附加组件? 例如,支持 DHT22 温度传感器以获取本地温度数据将很棒。

    https://pisavvy.com/temperature-sensor-dht22

    2018 年 2 月 9 日 上午 4:49

    1. Ben Francis

      是的,但目前仅限于简单的设备,如 LED 或继电器。 请参阅 https://discourse.mozilla.org/t/configuring-gpio-pins/25349/2

      2018 年 2 月 16 日 上午 11:32

  23. kajmaj

    做得真好。 有没有可能将 Sonoff 智能设备集成到项目中? (有 多开关、湿度/温度控制开关、门控等)基于 ESP8266,Wifi/433Mhz,云操作。
    它们与亚马逊 Alexa、谷歌助手、IFTTT、谷歌 Nest 或专有 eWeLink 完美配合。
    将它们集成进来将非常棒。
    再次感谢您的工作。

    2018 年 2 月 9 日 上午 5:14

  24. Ben Francis

    感谢迄今为止的所有反馈!

    请使用 Discourse 进行支持问题 (https://discourse.mozilla.org/c/iot),并使用 GitHub 进行功能请求 (https://github.com/mozilla-iot/gateway/issues),这样您很可能获得更快的回复。

    2018 年 2 月 9 日 上午 6:37

  25. Guy McSwain

    非常酷,我准备尝试一下。 不过,一个问题,你们(Mozilla)是否免费提供 DNS 服务(子域名)和安全隧道,或者现在或将来是否会存在限制或费用?

    2018 年 2 月 9 日 下午 11:10

    1. Ben Francis

      是的,Mozilla 目前免费提供子域名和安全隧道服务。 我们目前没有计划对这项服务收费,因为它处于实验阶段,但我不能保证这种情况永远不会改变。 这取决于它变得多么流行以及未来可能会围绕它发展出什么样的商业模式。

      但您可以随时选择不使用隧道服务,并配置您自己的 DNS,您的网关将继续工作。 它不依赖于隧道服务才能工作。

      2018 年 2 月 16 日 上午 11:36

  26. Harvey King

    从功能上讲,这看起来与 Home Assistant / OpenHAB 非常相似。

    我的问题是:从功能上讲,你们试图与 Home Assistant / OpenHAB 做出什么不同之处?

    2018 年 2 月 11 日 下午 9:42

    1. Ben Francis

      我不熟悉 Home Assistant 和 OpenHAB 的所有功能,但 Things 网关有两点是实验性的:语音命令和您家中的平面图视图。 但主要区别在于它是从头开始构建的,以支持万物互联。

      2018 年 2 月 16 日 上午 11:37

  27. Markus

    这看起来太棒了……我一直想知道为什么所有其他解决方案都不关心隐私。
    有没有一个适用于智能手表的私密解决方案? 我可以在这个框架下使用它吗?

    2018 年 2 月 12 日 上午 1:22

  28. tj

    我在额外的 Pi 上尝试这个时会遇到任何问题吗? 同时,我在另一个 Pi 上运行 Home Assistant 作为我的主要驱动程序。

    我现在还不能使用它,但我希望关注它并尝试一下,它可以与其他程序并行运行而不会出现问题吗?

    2018 年 2 月 12 日 上午 11:35

    1. Ben Francis

      如果您不想使用提供的操作系统映像,您可以按照此处提供的说明从 GitHub 中检出并运行网关 https://github.com/mozilla-iot/gateway/blob/master/README.md

      2018 年 2 月 16 日 上午 11:38

  29. Ajay

    听起来很有趣。 如何利用我现有的 Google Mini 和 Amazon Echo Dot 来利用它?

    谢谢

    2018 年 2 月 12 日 下午 12:44

    1. Ben Francis

      还没有,请参阅 https://github.com/mozilla-iot/gateway/issues/654https://github.com/mozilla-iot/gateway/issues/655

      2018 年 2 月 16 日 上午 11:39

  30. robert

    这正是我一直在寻找的!
    我希望像老式的“X-10”那样进行本地控制……(让孩子们问问你的爷爷)

    我对此作为我的家庭和农场的业余项目感到兴奋……

    有没有一个适合新手的基本入门地方?

    您是购买一个 Zigbee 适配器……还是每个设备一个?
    Wemo 智能插头可以使用吗?……它需要适配器吗?

    我需要一个 -插电- 类型的车库加热器,当车库门打开时关闭。
    这非常基本,但我们必须从某个地方开始!

    非常感谢

    2018 年 2 月 13 日 下午 2:02

    1. Ben Francis

      您只需要一个 Zigbee 适配器来充当多个设备的 Zigbee 控制器。 请参阅维基了解迄今为止已测试过的硬件列表 https://github.com/mozilla-iot/wiki/wiki/Supported-Hardware

      2018 年 2 月 16 日 上午 11:40

  31. GUY FAUQUEMBERGUE

    大家好,

    很好,我有一些问题
    连接性
    德累斯顿电子公司的 Raspbee 和 z-wave me 的 Razberry 怎么样?
    语言
    由于我是法国人(没有人是完美的),我想知道你们是否支持英语以外的其他语言。 最好地问候,Guy。

    2018 年 2 月 15 日 上午 6:50

    1. Ben Francis

      我认为 Raspbee 还没有兼容。

      RaZberry 可能可以兼容,因为它受到 OpenZWave 的支持,但据我所知,还没有人测试过它。

      请参阅 https://github.com/mozilla-iot/wiki/wiki/Supported-Hardware 了解最新的受支持硬件状态。

      2018 年 2 月 16 日 上午 11:44

  32. Ben

    嗨,伙计们,
    我也在树莓派上使用 Domoticz……
    这个项目看起来很相似:重新发明它有什么用吗? 你们不能结盟吗?
    我的英语请见谅:我有点法国口音! (是的,没有人是完美的……)
    最好的问候。

    2018 年 2 月 16 日 上午 6:09

  33. Zan

    嗨,

    我已经在树莓派上安装了 Mozilla 的 Things 网关,现在我想知道你们是否支持蓝牙低功耗 (BLE)。 我在扫描时找不到传感器。

    最好的问候,

    2018 年 2 月 16 日 上午 10:53

    1. Ben Francis

      我们目前不支持任何蓝牙/BLE 设备,主要问题是它们没有像 Zigbee 和 Z-Wave 那样我们支持的任何标准采用的智能家居配置文件。 但鉴于树莓派 3 内置了蓝牙,应该可以创建一个适配器来与您的 BLE 设备通信。

      请参阅 https://github.com/mozilla-iot/wiki/wiki/Supported-Hardware 了解最新的受支持硬件列表。

      2018 年 2 月 16 日 上午 11:47

  34. Fred

    大家好,

    超级棒,但安全性、安全性、安全性,还有物联网……

    https://readwrite.com/2018/01/31/the-key-iot-security-questions-you-need-to-ask/ 中深挖

    请帮我节省一些时间并回答这 7 个问题

    1. 基于硬件的可信根:每个设备是否都具有一个与其硬件不可分割的唯一身份?
    2. 小的可信计算基:设备的大部分软件是否在其可信计算基之外?
    3. 深度防御:您的设备软件是否内置了多层保护?
    4. 划分:您是否使用硬件强制的屏障来阻止故障传播到其他组件?
    5. 基于证书的身份验证:您的设备是否使用证书(而不是密码)?
    6. 可更新的安全性:设备的软件是否可以自动更新到更安全的状态?
    7. 故障报告:您是否已经制定了将软件故障报告给制造商的解决方案?”

    谢谢,

    Fred

    2018 年 2 月 18 日 上午 6:40

    1. Ben Francis

      我将尽力以我所能的方式回答您的问题。 但请注意,正如下载页面所述,该软件仍处于实验阶段,*不适合生产使用*,并且尚未经过任何深入的正式安全审查。

      > 1. 基于硬件的可信根:每个设备是否都具有一个与其硬件不可分割的唯一身份?

      这实际上取决于设备制造商。 我们的网关实现将现有的智能家居设备桥接到万物互联。 但许多设备,如 ZigBee、Z-Wave 和 WiFi 设备,确实具有唯一的 ID,例如 MAC 地址。

      > 2. 小的可信计算基:设备的大部分软件是否在其可信计算基之外?

      请您定义一下您对“可信计算基”的理解吗?

      > 3. 深度防御:您的设备软件是否内置了多层保护?

      API 请求使用 HTTPS 从客户端到网关,通过从云服务器到网关的 SSH 隧道进行隧道传输。 设备本身也可能在本地网络上使用加密(例如,Zigbee 的 AES 加密,WiFi 的 WPA)。

      > 4. 划分:您是否使用硬件强制的屏障来阻止故障传播到其他组件?

      没有。 但是网关适配器在单独的操作系统进程中运行,以帮助将它们与主网关进程隔离开来。

      > 5. 基于证书的身份验证:您的设备是否使用证书(而不是密码)?

      使用 TLS 证书,以及用于 API 请求的 JWT 令牌。 用户名和密码用于用户身份验证。

      > 6. 可更新的安全性:设备的软件是否可以自动更新到更安全的状态?

      是的,我们为网关软件提供了一个 OTA 更新系统。 我们目前依赖于底层操作系统的包管理器进行 OS 更新(Raspbian 的情况下为 apt)。

      > 7. 故障报告:您是否已经制定了将软件故障报告给制造商的解决方案?”

      是的,在 GitHub 上 https://github.com/mozilla-iot/gateway/issues

      我们意识到安全性可以进一步改进的几个方面,但知道 Mozilla 非常重视安全性,这是一个持续关注的问题。

      2018 年 2 月 20 日 上午 3:04

  35. Steph

    嗨,Ben
    感谢您采取主动并开发了这个非常酷的应用程序。

    我正在开发蓝牙 5 和蓝牙 ANT,我想将我的基于 nRF52832 的应用程序与它连接。

    我还没有时间深入查看代码,并且非常感兴趣您的回复。 要添加一个用于定制应用程序(使用 BLE 或 ANT ANT+ 适配器)的“驱动程序”需要什么?

    谢谢。
    Steph

    2018 年 2 月 20 日 下午 4:42

    1. Ben Francis

      有关创建适配器插件的信息,请参阅此博客文章https://hacks.mozilla.ac.cn/2018/02/creating-an-add-on-for-the-project-things-gateway/

      如有任何疑问,请随时在Discourse上提问https://discourse.mozilla.org/c/iot

      2018年2月21日 下午08:03

  36. bob

    嗨,本,

    非常棒的项目,向所有参与者致敬。

    在我的待办事项清单上,并且正在关注开发进度……是否计划为 Modbus 协议接口,例如太阳能电池板等。

    历史趋势图表将是一个杀手级应用。

    干杯

    2018年2月22日 下午15:12

    1. Ben Francis

      嗨,"时间序列数据库"在我们的待办事项清单中,但我认为目前还没有人正在开发它 (https://github.com/mozilla-iot/gateway/issues/173)

      我认为还没有人关注 Modbus,请随时提交问题 https://github.com/mozilla-iot/gateway/issues

      2018年2月23日 上午04:13

  37. Harry

    您好.. 非常有趣且无忧的安装过程。我希望它能顺利进行.. 然而,在初始安装后,我移动了我的树莓派 3,所以它重启了。现在我无法通过子域或本地 IP 连接。

    2018年2月23日 下午23:04

    1. Ben Francis

      嗨,Harry,你可以通过 Discourse 上的支持论坛获得帮助 https://discourse.mozilla.org/c/iot

      2018年2月26日 上午04:31

  38. Camilo Martin

    这似乎是一个非常好的举措,但它存在一些重大缺陷

    1) 你发布了一个“为奠定基础”的物联网标准,远远落后于其他人尝试解决这个问题的时间。因此,它陷入了“又一个标准”的问题 (https://xkcd.com/927/)。物联网并非新鲜事物(甚至家庭自动化也不新鲜),要让人们放弃现有的解决方案而转向开放标准的优势,将比你在其他所有人加入浪潮多年后才跳进来要困难得多。

    2) 这唯一的优势在于 Mozilla 在做这件事。它似乎仅限于基本的 GUI 操作,可扩展性似乎是事后才想到的(它应该是以代码为中心的!每个需要 GUI 的人已经拥有了一个),而且你专门将其与树莓派绑定(同样,这在几年前或许可以行得通,但你见过现在有多少个开发板吗?)

    3) 这看起来更像是一个自由产品而不是一个开放标准。它没有关注代码,没有关注如何从 Arduino/ESP 等制作你自己的东西,而且它看起来很简化,这再次证明,只有那些需要这些功能的人才不会购买大型品牌的解决方案。

    4) 要花这么长时间,你本可以再等几个月,然后发布一个稳定的 1.0 版本。展示这个 alpha 阶段的 GUI 让人印象不好。应该重点关注如何帮助构建/扩展这个项目。就像 Firefox 开创的理念一样,需要安装你喜欢的插件,并赋予人们构建这些插件的能力,创造新的事物,并改变陈旧的东西。

    尽管如此,我希望这能成为制造商渴望使用的产品;我认为 Mozilla 目前没有其他群体可以吸引,而同时又能通过吸引这个群体产生重大影响。

    2018年2月27日 上午08:36

    1. Ben Francis

      感谢你分享你的观点。

      > 1) 你发布了一个“为奠定基础”的物联网标准,远远落后于其他人尝试解决这个问题的时间。因此,它陷入了“又一个标准”的问题 (https://xkcd.com/927/)。物联网并非新鲜事物(甚至家庭自动化也不新鲜),要让人们放弃现有的解决方案而转向开放标准的优势,将比你在其他所有人加入浪潮多年后才跳进来要困难得多。

      Mozilla 并没有“发布一个标准”,标准的创建方式并非如此。Mozilla 是 W3C 物联网兴趣小组中 100 多个参与成员组织之一,其中包括硬件制造商、软件开发人员和服务提供商 https://www.w3.org/WoT/IG/

      物联网并非新鲜事物,事实上,物联网社区已经存在了 10 多年。Mozilla 只是在 W3C 开始标准化之后才加入的。

      重要的是要理解,物联网的理念并非与 ZigBee、Z-Wave、蓝牙、HomeKit 和 Weave 等现有协议竞争,而是提供一个统一的应用程序层,运行在这些协议之上。HTTP、REST、JSON、SSL 和 OAuth 等网络技术已经是商业物联网云服务和网关的实际标准,只是它们以略微不同的不兼容方式使用。我们正在与许多现有系统的开发人员合作,并为实现临时互操作性和开发围绕隐私和安全的最佳实践,贡献一个标准数据模型和 API 的工作。

      > 2) 这唯一的优势在于 Mozilla 在做这件事。它似乎仅限于基本的 GUI 操作,可扩展性似乎是事后才想到的(它应该是以代码为中心的!每个需要 GUI 的人已经拥有了一个),而且你专门将其与树莓派绑定(同样,这在几年前或许可以行得通,但你见过现在有多少个开发板吗?)

      Project Things 当然没有与树莓派绑定。我们已经有了 Openwrt 的端口,并正在考虑支持各种硬件,树莓派只是我们针对黑客和制造商的初始受众的便捷首选目标。通过使用插件和基于模式的网络事物类型系统实现可扩展性是该项目的核心。我们欢迎为移植到更多开发板做出贡献。

      > 3) 这看起来更像是一个自由产品而不是一个开放标准。它没有关注代码,没有关注如何从 Arduino/ESP 等制作你自己的东西,而且它看起来很简化,这再次证明,只有那些需要这些功能的人才不会购买大型品牌的解决方案。

      正如公告博客文章中所解释的 (https://hacks.mozilla.ac.cn/2017/06/building-the-web-of-things/),事物网关只是 Project Things 的一个组成部分,旨在将现有的现成智能家居设备连接到网络。我们目前还在开发一个设备框架,其中包含可重用的软件库,用于使用 Arduino 和 Android Things 等现有平台构建原生网络事物。

      > 4) 要花这么长时间,你本可以再等几个月,然后发布一个稳定的 1.0 版本。展示这个 alpha 阶段的 GUI 让人印象不好。应该重点关注如何帮助构建/扩展这个项目。就像 Firefox 开创的理念一样,需要安装你喜欢的插件,并赋予人们构建这些插件的能力,创造新的事物,并改变陈旧的东西。

      Mozilla 默认情况下以开放的方式工作。我们关于物联网网关的工作从大约一年前的第一个提交开始就在 GitHub 上可用,0.3 是迄今为止的第五个版本。我们将继续以开放的方式工作,尽早发布并经常发布,我们鼓励社区做出贡献,帮助创建一个更稳定、更多人可以享受的 1.0 版本。

      2018年2月28日 上午05:18

本文的评论已关闭。