来自传感器的传感器读数未按顺序存储在 firebase 实时数据库中

Sensor readings from sensor not stored in order in the firebase real-time database

我正在尝试将传感器读数发送到 firebase 实时数据库。它工作正常但突然数据没有按顺序存储的问题。例如,如下所示.. 第 10 小时的数据存储在第 1 小时以下,而不是完全存储在第 9 小时以下。(为清楚起见,用 *** 界定)

    "2021-2-9 0:30:0" : "Open",
    ***"2021-2-9 10:0:0" : "Closed",***
    ***"2021-2-9 10:30:0" : "Closed",***
    "2021-2-9 1:0:0" : "Open",
    "2021-2-9 1:30:0" : "Open",
    "2021-2-9 2:0:0" : "Open",
    "2021-2-9 2:30:0" : "Open",
    "2021-2-9 3:0:0" : "Open",
    "2021-2-9 3:30:0" : "Open",
    "2021-2-9 4:0:0" : "Open",
    "2021-2-9 4:30:0" : "Open",
    "2021-2-9 5:0:0" : "Open",
    "2021-2-9 5:30:0" : "Open",
    "2021-2-9 6:0:0" : "Open",
    "2021-2-9 6:30:0" : "Open",
    "2021-2-9 7:0:0" : "Open",
    "2021-2-9 7:30:0" : "Open",
    "2021-2-9 8:0:0" : "Open",
    "2021-2-9 8:30:0" : "Open",
    "2021-2-9 9:0:0" : "Open",
    ***"2021-2-9 9:30:0" : "Open"***

我使用了 DS1302 和 ESP8266 以及以下库:

#include“FirebaseESP8266.h”

#include

#include

#include

#include

#include

#include

正常吗? 请帮忙! 谢谢

这个问题是因为它是按字符串排序的。

如果您的数据是 1, 2, 3, 10,它将被排序为 1, 10, 2, 3 因为字符串 10 在字符串 2 之前

所以改变数据的存储方式;作为时间戳,转换为双精度或者它必须是字符串使用 yyyymmddhhmmss

所以这个“2021-2-9 10:0:0”将是

20210209100000

并会在此“2021-2-9 1:30:0”之后排序

20210209013000

另外,使用 24 小时制。