如何使用智能按钮调用 API?

物联网 休息 API
2021-06-03 13:16:01

我想做一个简单的事情:

将按钮赠送给我的朋友,让他们可以随意点击,它只需调用我已实现的 API。

我无法思考我应该做什么以及什么是最便宜的选择。到目前为止,我已经找到了Flic按钮,但它需要一个集线器,而且做这个简单的事情的价格会超过 100 美元。

我可以配置任何独立按钮来完成这个简单的事情?

1个回答

不乏选择,尽管它们可能具有不同的优点或缺点。

需要考虑的两个主要事项是设备如何连接到 Internet 和电源。

要访问 Internet,您至少有以下选择:

  • 无线上网。这是无处不在且便宜的,几乎每个人都有WiFi。您需要一个可以使用它的设备,以及您朋友 WiFi 的详细信息(通常是 SSID 和密钥)。最常用的芯片是 ESP32(尽管还有其他选项),并且有很多电路板甚至带有按钮的完整设备可以做到这一点,例如APR Brother 的 AButtonM5 StickC Plus

    不过需要注意的一件事是,连接到 WiFi 的 ESP32 会消耗相当多的电流,并且不会长时间使用电池。它需要使用深度睡眠和引脚唤醒才能获得不错的电池寿命,但请注意,许多设备和电路板的消耗比其规格说明的要多得多,因为它们只计算 ESP32 的深度睡眠电流而忘记了 LDO 或其他芯片. 大多数电路板和设备会消耗数百微安(或更多),一个好的会消耗不到 20(如TinyPICO)。这可以极大地改变设备的电池寿命。

    甚至还有使用外部芯片TrigBoard,它实际上完全关闭了 ESP32,并且仅在引脚上唤醒,在睡眠期间消耗 1.5 微安!

  • 其他短距离无线技术,例如 BLE、Zigbee、Thread 等。这些可以实现非常低的电流,但您确实需要某种网关。如果您的朋友家里已经有 Zigbee 网络,那可能是一个选择。有很多 Zigbee 无线交换机,您通常可以让它们以某种方式调用 URL(例如通过 IFTTT)。它是决定按下按钮时会发生什么的桥,所以你需要配置你朋友的桥。

    飞利浦甚至在某个时候使用了无电池 Hue Tap(它使用实际按钮按下的机械动力来获得足够的能量通过 Zigbee 发送消息)但我不确定它是否仍然可用(我应该在他们买回来的时候买更多)可用!)。可能还有其他人。

    请注意,一个 Zigbee 开关/按钮 + 一个桥接器的价格将低于 100 美元。

  • 罗拉万。您需要在 LoRaWAN 网关的覆盖范围内,例如 The Things Network (TTN)。覆盖范围可以在户外数英里,但在室内预测要困难得多。在某些地区,监管限制使得难以使用已确认的数据包,因此您最终可能会使设备处于“即发即弃”模式,发送数据包但不知道它是否到达目的地。这对您来说可能是也可能不是问题。

  • 蜂窝(LTE-M 或 NB-IoT)。同样,您需要保险,并且您必须支付流量费用(尽管这应该很便宜),并且可能需要支付少量月费,具体取决于国家和运营商。但这将适用于覆盖范围内的任何地方,无需配置您朋友的 WiFi 或任何东西。电池寿命可能是一个问题。

在此之前,我主要考虑的是您希望在没有电线的情况下使用电池操作设备。如果电线不是问题,您可以简单地将 USB 适配器插入设备(然后M5 Atom Lite可能是最便宜的选择),甚至使用 PoE。