如何使用 ESP8266 监听 Firestore 的变化?

Posted

技术标签:

【中文标题】如何使用 ESP8266 监听 Firestore 的变化?【英文标题】:How to listen to changes in Firestore with ESP8266? 【发布时间】:2020-08-04 11:08:44 【问题描述】:

如何使用 ESP8266 监听 Firebase Cloud Firestore 中的数据变化?到目前为止,我已经设法将 ESP8266 与 firestore 连接起来,以使用 REST API 读取数据并将数据发布到 Firestore,但我不想不断地从 Firestore 读取数据,而是想在 Firestore 中的数据发生变化时监听一个事件。

简而言之,我想打开一个流,以便在其中监听 Firestore 中的变化。

这可以通过 Firebase 实时数据库来完成,但我还没有找到 Firestore 的示例。

这是我正在尝试做的一个示例,但使用实时数据库:https://github.com/mobizt/Firebase-ESP8266/blob/master/examples/Stream/Stream.ino

【问题讨论】:

【参考方案1】:

我在一些论坛上四处询问,遗憾的是我发现这是不可能的:(

Cloud Firestore 支持 REST API,除非由于性能不佳而无法使用类似流的功能并且 Firebase 团队决定移除此功能。

唯一适合不安装 Firebase SDK 的方法是 RPC (gRPC),目前嵌入式设备中不可用。 另一个问题是无法在 Cloud Firestore 中使用数据库机密,需要身份验证或自定义令牌,并且需要 SSL/TLS 库进行密钥加密和签名。这可以在带有 mbed TLS 的 ESP32 中完成,而在带有 BearSSL 的 ESP8266 中无法做到这一点。

那么在 ESP8266 中无法使用具有实时功能(使用 gRPC)的 Cloud Firestore。

来自 github@Firebase-ESP8266 上的一个问题:https://github.com/mobizt/Firebase-ESP8266/issues/126

解决方法可以是使用网络服务器和/或 Firebase 函数,遗憾的是我试图避免这种情况。

【讨论】:

以上是关于如何使用 ESP8266 监听 Firestore 的变化?的主要内容,如果未能解决你的问题,请参考以下文章

Arduino esp8266 SerialEvent函数使用注意事项

1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(来看一下怎么样监听网络数据,监听电脑上位机软件的数据)

如何在esp8266上实现web server

如何在Windows平台下编译esp8266 SOC源码

如何区分ESP8266系列 wifi模块

单片机如何与esp8266芯片连接并使用