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

WeMo灯光开关没有开放的远程API。与另一款流行的TP-Link HS200相同。我发现的大多数其他远程控制开关只能通过自己的应用程序进行控制。有一些GitHub项目对这些应用程序进行了反向工程,但是我宁愿使用由制造商直接发布的API,因为我的项目是长期的,并且我不希望押注于反向工程解决方案。

#1 楼

您未来最可靠的解决方案将是那些将硬件与协议完全分开的解决方案。

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

您使用的硬件是否应该不可用,因为您可以完全控制协议,因此需要做的是找到运行它的不同硬件。在路由器衍生产品中常见的OpenWRT Linux和裸机ESP8266之类的设备之间移动设备侧代码将花费很多工作,但从概念上讲非常简单。但是将其从一个路由器芯片上的OpenWRT迁移到另一路由器芯片上的OpenWRT,或者将其迁移到在树莓派,Edison或Beagle Bone上运行的任何Linux(或者,如果必须,甚至可能是Win IoT)上,也会更加直接。

将系统的角色分解成具有清晰边界的不同部分,需要您做一点点的工作,但是这意味着您将能够以任何方式对任何更改做出响应如果您使用的是单个供应商的垂直集成解决方案,则能够做到。

评论


感谢您解释使用“来自单个供应商的垂直集成解决方案”的局限性以及松散耦合硬件和协议的好处。如果长期的将来验证和全面控制确实很重要,也许这是唯一的方法。但是,现在,我只是在寻找比GitHub中某些被黑API更好的解决方案。您的建议对我们来说是太多的工作。

–rajendra
17年8月8日在15:43

#2 楼

正如克里斯所说,关键是将协议与硬件分开。但这并不意味着您必须实现自己的固件!您可以选择支持通用且随时可用的家庭自动化协议的交换机,例如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美元(或更高)之间。对于单个开关,这个价格标签可能不值得。但是,如果要对整个建筑物进行自动化,则集线器的成本可以分散在数十个设备中。

#3 楼

我最近在eBay上购买了Sonoff智能插头,并使用自定义固件对其进行了刷新。这是有可能的,因为它们基于ESP8266。它们非常便宜且非常先进。

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

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

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