【发布时间】:2020-04-06 07:47:08
【问题描述】:
我正在使用 Wemos D1 Mini (Arduino) 将传感器数据发送到 Firebase。这是我要发送的一个值。我发现这会使程序变慢,因此传感器无法像发送数据一样快地获取数据(这很明显)。
无论如何,我只想在此值更改其属性时将值发送到 Firebase。这是一个int 值,但我不确定如何解决这个问题。我应该使用监听器吗?这是我的代码的一部分:
int n = 0; // will be used to store the count
Firebase.setInt("Reps/Value", n); // sends value to fb
delay(100); // Wait 1 second and scan again
我希望传感器可以每秒扫描一次,它确实做到了。 但是 在这个 rate(双关语)下,值每秒都被推送到 FB。这会将扫描速度减慢到每 3 秒一次。当n的值发生变化时,如何只使用firebaseSetInt方法?
【问题讨论】:
-
您是如何实现如此慢的数据速率的?为了清楚起见,您只能每三秒将一个整数传输到数据库?请告诉我我误解了...
-
如果不清楚,请原谅..我同时做两件事。 1 正在读取传感器数据,1 正在发送数据。在不将传感器数据发送到 FB 的情况下,(100) 的延迟是 100 毫秒是准确的。当添加将数据发送到 Firebase 的行时,这显然跟不上。因此,它不会像 1 秒那样进入 3 秒。这很好,我只需要在值发生变化时发送它以减少负载。希望这可以解决问题。
-
是的.....数据库托管在哪里,通过卫星链接或其他方式?
-
很难理解实际问题是什么:首先你声称“程序”“慢了”,然后传感器获取数据的速度不如发送数据的速度(通过程序?那没有意义)。此外,请尽量保持书写的一致性,并更恰当地缩进代码。
-
我只想知道如何创建一个事件监听器 :(
标签: c firebase firebase-realtime-database arduino arduino-c++