Arduino从firebase消耗大量数据

Arduino从firebase消耗大量数据,firebase,arduino,firebase-authentication,arduino-esp8266,Firebase,Arduino,Firebase Authentication,Arduino Esp8266,我正在从事Arduino firebase家庭自动化项目。 现在,Firebase数据通过移动应用程序更改,Arduino Esp8266模型从Firebase读取数据。所以每次在循环中它调用 FirebaseObject firebaseObject=Firebase.get(path_command); 它不断地消耗数据。 所以我的问题是,只有在firebase服务器上更改数据时,才有办法获取数据吗? 我已经尝试了下面的代码,但它在设备上崩溃 if(Firebase.available(

我正在从事Arduino firebase家庭自动化项目。 现在,Firebase数据通过移动应用程序更改,Arduino Esp8266模型从Firebase读取数据。所以每次在循环中它调用

 FirebaseObject firebaseObject=Firebase.get(path_command);
它不断地消耗数据。 所以我的问题是,只有在firebase服务器上更改数据时,才有办法获取数据吗?

我已经尝试了下面的代码,但它在设备上崩溃

if(Firebase.available())


如果有更好的解决方案,请指导我,谢谢。

我们已经找到了大量数据使用的解决方案。 之前,我们使用下面的代码获取所有json数组

 FirebaseObject firebaseObject=Firebase.get(path_command);
它消耗几个字节或Kb的数据。 而现在我们首先检查的是额外标志对数据所做的任何更改 版本这是渐进的。 我们将它存储在每个节点级别的数据库中,每次数据更新时,我们都需要通过递增来更改它。 现在我们需要在获得所有json数组之前检查版本,如下所示

   int version =Firebase.getInt(version_path);
       if(version!=previosVersion)
              FirebaseObject firebaseObject=Firebase.get(path_command);
。如果我们得到的是版本差异,那么我们只需要得到json对象。 在此之前,在一个小时内,Arduino每小时消耗大约3到5 MB,现在它每小时消耗700到800 KB。我们仍然在寻找最佳的优化。
谢谢。

使用此函数
Firebase.available()
返回布尔值(true或false)。
如果返回true,则表示数据库中发生了某种数据更改,因此您可以检索它

但只有在此函数之后调用上述函数,此函数才有效:

Firebase.stream("path u wish to monitor changes");
有关更多信息,请阅读的文档

Firebase.stream("path u wish to monitor changes");