Помогите советом по сбору данных на Ардуино

Нужен совет или свой взгляд на следующую задачу. Метеостанция (куда ж без неё) на Ардуине должна писать данные на sd-карту, чтобы потом выводить график на экран. Для удобства решил писать значения каждые 15 минут, соответственно, 72 значения в сутки (мне так удобно выводить на экран, незачем лишние данные писать). И вот тут есть несколько вариантов решения вопроса:

- писать как есть, подряд, один файл, одна строка - один день (можно вначале поставить дату, либо ДД, либо ДД.ММ) - вроде все просто, но есть нюансы: при пропаже одно-двух-десяти значений (отвалился датчик на время, пропало напряжение и т.д.), график будет неполным. И непонятно, какие именно данные потерялись: в начале, в середине или конце.

- тогда другой вариант: писать дату и время снятия. Но тогда будет сложности с чтением. Скажем, при пропуске, к примеру, времени 12:30, 12:45, 13:00, у меня просто не будет точки на графике. В самом файле уже в строке придется хранить под 150 значений (дата, время1, значение1, ..., время72, значение 72) и сложно засунуть эти данные в Эксель для дальнейшей обработки.

Это два таких глобальных направления, о которых думаю. Там каждое еще можно поделить на две-три ветки, но это все детали. Кто проходил через подобные задачи, как решали?

Опишу свои хотелки: нужно оставить датчик температуры (даже, сеть датчиков) на даче без доступа в интернет. По возвращении смотреть какая температура была в течение суток до фактически двухнедельной давности. Либо, если уж писать данные в свои файлы по дням и месяцам, то и год хранить можно. В деле обработки данных сильный новичок, само решение-то, может, и найду, но потрачу много времени, а потом окажется, что надо было делать по-другому и начинать все заново. Что уже умею: читать, писать файл, собирать строки, само собой выводить все это на экран. Очень пока плохо понимаю само чтение и растаскивание на части. Сам массив забить данными могу, но какой разделитель использовать? Брать, конечно, буду целочисленные значения температуры (int), поэтому запятая остается свободной (как для скетча, так и для Экселя). Больше склоняюсь к варианту записи вместе со временем, может, взять двухмерный массив, но как писать в разные строки (по сути надо заполнять строку выше со временем снятия и строку ниже со значением t)? Писать построчно <дата>,<значение> - это плодить кучу файлов на диске по сути мелкого объема (каждый день - новый файл). Хотелось бы, чтобы один файл - это один месяц, одна строка - один день, от 28 до 31 строки в файле.

Помогите советом по сбору данных на Ардуино Программирование, Сбор данных, Arduino, Длиннопост
Помогите советом по сбору данных на Ардуино Программирование, Сбор данных, Arduino, Длиннопост

Выслушаю любое мнение или совет. Сейчас в голове Броуновское движение, а нужно дать направление, в какую сторону думать.

Arduino & Pi

1.4K постов20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу