У меня есть встроенная плата, которая отправляет информацию от датчиков IMU вместе с отметкой времени, полученной от модуля RTC.
Метки времени получены из RTClib от Adafruit.
В коде есть функция unixtime()
, которая предоставляет мне следующие временные метки:
1537466106
1537466107
1537466109
Если я введу вышеупомянутые временные метки в Online Epoch Converter, он предоставит мне правильное время на сегодняшний день.
Я отправляю эту информацию через HTTP, и информация сохраняется в InfluxDB при imu
измерениях следующим образом:
Запрос: SELECT * FROM imu LIMIT 100
time eul_x eul_y eul_z liac_x liac_y liac_z location nodeid status
---- ----- ----- ----- ------ ------ ------ -------- ------ ------
1537466106 273.25 -0.88 4.06 -0.06 -0.74 9.81 front node1 0
1537466107 273.25 -0.88 4.12 -0.09 -0.87 9.72 front node1 0
1537466109 273.25 -0.88 4.12 -0.09 -0.86 9.62 front node1 0
1537466110 273.25 -0.88 4.12 -0.07 -0.84 9.67 front node1 0
1537466111 273.25 -0.88 4.12 -0.1 -0.85 9.71 front node1 0
1537466112 273.25 -0.88 4.12 -0.08 -0.86 9.74 front node1 0
1537466113 273.25 -0.88 4.12 -0.04 -0.83 9.7 front node1 0
1537466114 273.25 -0.88 4.12 -0.07 -0.84 9.7 front node1 0
1537466115 273.25 -0.88 4.12 -0.07 -0.85 9.67 front node1 0
1537466116 273.25 -0.88 4.12 -0.06 -0.85 9.67 front node1 0
1537466117 273.25 -0.88 4.12 -0.06 -0.84 9.66 front node1 0
1537466118 273.25 -0.88 4.12 -0.07 -0.83 9.66 front node1 0
1537466119 273.25 -0.88 4.12 -0.09 -0.83 9.68 front node1 0
1537466120 273.25 -0.88 4.12 -0.08 -0.84 9.7 front node1 0
1537466121 273.25 -0.81 4.12 -0.08 -0.87 9.52 front node1 0
1537466123 272.12 -0.81 -3.06 -0.15 0.54 9.74 front node1 0
Теперь я запускаю экземпляр Chronograf на машине, чтобы визуализировать данные, полученные в вышеупомянутом измерении.
Запрос хронографа
Как ни странно, таблица всегда показывает, что метки времени указывают на эпоху 1970 года.
Запрос одного поля из базы данных дает следующие выходные данные:
Исследовать
Я прочитал документы для InfluxDB, и у них есть отметки времени для nanoseconds
точности.
Напротив, временные метки, о которых я упоминал выше, на самом деле правильные, но почему Chronograf / InfluxDB не может правильно их понять?
кейс
Я получаю метки времени как uint32_t
из RTClib
, но я не уверен, как мне преобразовать их с точностью до наносекунд.
Я отправляю информацию о временной метке в виде строки, разумно ли объединять нули в строку? Если так, сколько нулей может потребоваться?