带云 API 的 WiFi 智能灯开关?

物联网 灯光 远程访问
2021-06-04 23:42:11

我需要一些基于 WiFi 的智能灯开关的建议,它可以远程控制并具有开放的 API。

WeMo 灯开关没有开放的远程 API。与另一个流行的TP-Link HS200 相同我发现的大多数其他遥控开关只能通过它们自己的应用程序进行控制。有一些 GitHub 项目对这些应用程序进行了逆向工程,但我更喜欢使用制造商直接发布的 API,因为我的项目是长期的,我不想押注逆向工程解决方案。

3个回答

您最适合未来的解决方案将是那些将硬件协议完全分离的解决方案

您的示例 HS200 电灯开关加入了许多基于嵌入式 Linux 系统的智能插座(源代码可在 TP Link 的GPL 代码中心获得),与大多数插座一样,底层系统很可能来自一个奇怪的供应商分支用于路由器的常见 Linux 发行版。其他型号可能使用 ESP8266。这些中的任何一个通常都可以将库存固件替换为不同的固件,该固件可以充当本地网络上的服务器,允许以这种方式进行控制,和/或订阅通过云中的 MQTT 代理之类的东西中继的消息,从而启用外部-家庭控制。您保留启用任一或两个路径、更改规则和更改服务提供商的全部能力。

如果您使用的硬件然后变得不可用,因为您完全控制协议,您需要做的就是找到不同的硬件来运行它。在路由器衍生产品上常见的 OpenWRT Linux 和裸机 ESP8266 之间移动设备端代码将需要大量工作,但在概念上很简单。但是,将它从一个路由器芯片上的 OpenWRT 移动到另一个路由器芯片上的 OpenWRT,或者将其移动到在您的 raspberry pi、Edison 或 Beagle Bone 上运行的任何 Linux(或者,如果您必须,甚至可能是 Win IoT)将更加直接。

将系统的角色分解成具有明确界限的不同部分需要您预先做更多的工作,但这意味着您将能够响应任何变化,如果您使用,您可能无法以某种方式来自单一供应商的垂直集成解决方案。

正如克里斯所说,关键是将协议与硬件分开。但这并不意味着您必须实现自己的固件!您可以选择支持常见且随时可用的家庭自动化协议的交换机,例如 Z-Wave 或 Insteon。这些是封闭的协议,但是有各种各样的制造商可以使用它们创建可互操作的组件。然后,您可以使用将家庭自动化协议与 IP 集成的家庭自动化控制器。

我使用提供 Web API 的 Vera Edge 家庭自动化控制器;还有其他选择。我选择 Vera 是因为整个系统在本地运行,不需要访问托管的云接口;没有月服务费,设备和规则完全在我的掌控之中。我可以选择将 API 隐藏在防火墙后面,自己将 API 暴露给外部,或者我可以利用 Vera 的免费云服务为我公开 API。(另外,Vera 拥有一个非常活跃的社区,该社区不断增加对新家庭自动化设备的支持。)Vera 确实提供了适用于 iPhone 和 Android 的免费应用程序,但您不受他们的应用程序的约束。一些独立开发人员创建了他们自己的应用程序,它们利用 Vera 的 API(Grasshopper、VeraMate 和 ImperiHome 是三个这样的产品)来提供替代 GUI。

如果您反对商业网关产品,并愿意投入大量工作,那么也有开源解决方案来实现您自己的家庭自动化网关,提供 Web API。Domoticz 和 OpenHAB 是我脑海中浮现的两个项目。然而,这些软件包仍然远不如商业解决方案成熟,并且都需要大量的工作来实现。(并且您表示您不想将解决方案组合在一起。)

我看到的基于网关的方法的唯一缺点是您的问题是询问“电灯开关”,这意味着一个设备的数量。Z-wave 交换机的价格从 10 美元到 40 美元(或更多)不等,而商业网关的成本可能在 100 到 400 美元(或更多)之间。对于单个交换机,价格标签可能不值得。但是,如果您要自动化整个建筑物,则集线器的成本可能会分散到数十个设备中。

我最近一直在 eBay 上购买 Sonoff 智能插头,并使用自定义固件刷新它们这是可能的,因为它们基于 ESP8266。它们非常实惠且非常先进。

它们需要打开并将排针焊接到 PCB 上,然后您必须使用FTDI 适配器对它们进行编程,您也可以在 eBay 上买到便宜的。这很直接。

闪烁时,它们连接到我的 WiFi 网络,并发送和接收 MQTT 命令。我正在为此使用家庭助理

BRUH Automation 有一个关于它们的视频:https : //www.youtube.com/watch?v= -JxPWA-qxAk

在此处输入图片说明