Arduino Mega Server

Модератор: Alex

Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Arduino Mega Server

Сообщение ser009 » Пн авг 07, 2017 7:09 am

С подкаталогами больше на занимался. Пока нет времени. Лето.
alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: Arduino Mega Server

Сообщение alexsis_76 » Пн авг 07, 2017 7:11 am

ладно дождемся автора а там будем думать
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Пн авг 07, 2017 7:29 am

Ну хорошо - валим все в один файл . За год будет 365. Сейчас записей событий около 30. Проблем не вижу. Даже если уже не актуально - можно удалить. Само количество записей роли не играет - график строит библиотека. Пол дня через 30 секунд ( для статистики ) и пол дня через 5 минут - 2500 записей - 10 секунд вместе с запуском браузера.....
Тогда останется через календарь выводить нужный файл.
Все таки что бы не засорять тему , продолжим в Визуализации ?
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Arduino Mega Server

Сообщение ser009 » Пн авг 07, 2017 7:30 am

Другие полезные функции SD.H
СпойлерПоказать
Есть и другие полезные функции для работы с SD картой. Некоторые из них мы приведем ниже:

Если вы хотите проверить наличие файла на носителе, используйте функцию SD.exists("имя_файла.txt"), которая вернет значение true или false.
Удалить файл можно с помощью функции SD.remove("имя_файла.txt"). Но будьте аккуратны! Файл удалиться полностью. Никакой "корзины" или резервной копии для восстановления не останется.
Создать подпапку можно с помощью функции SD.mkdir("/имя_новой_папки"). Очень удобно для структуризации ваших данных на начальном уровне. Если папка с таким именем уже существует, ничего не произойдет. Не забывайте, что вы можете воспользоваться функцией SD.exists() перед созданием папки для проверки.

Несколько полезных функций для работы с файлами:

Для перемещения указателя при считывании/записи файла, используется функция seek(). Например, запись функции в виде seek(0) переместит вас в начало файла.
Функция position() позволит вам узнать, где именно вы находитесь в пределах файла на данный момент.
Функция size() выведет вам информацию о размере файла в байтах.
Узнать, является ли файл на карте директорией можно вызвав функцию isDirectory().
Последовательная работа с файлами, которые находятся в папке реализуется с помощью вызова функции openNextFile().
Возможно, вам понадобится имя файла. Например, если вы вызвали следующий файл в папке с помощью openNextFile(). В этом случае можно воспользоваться функцией name(), которая вернет массив символьных данных, которые можно отобразить непосредственно в серийном мониторе Arduino IDE с помощью Serial.print().
полная версия http://arduino-diy.com/arduino-SD-karta
alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: Arduino Mega Server

Сообщение alexsis_76 » Пн авг 07, 2017 7:56 am

Все таки что бы не засорять тему , продолжим в Визуализации ?
где хотите
Тогда останется через календарь выводить нужный файл.
да ,придется подрихтовать парсер что бы воспринимал адекватно
Другие полезные функции SD.H
да на вроде решили пока так
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пн авг 07, 2017 8:19 am

короче говоря тут затык из за низкой частоты spi
блин ну и выбрал же платформу
Плохим танцорам всегда что-нибудь мешает — то SPI, то что-нибудь еще. Вот пример проекта AMS Pro

https://hi-lab.ru/arduino-mega-server/a ... ject-sauna

, где пишутся логи для датчиков и даже строятся графики по этим логам и в реальном времени и по запросу, т.е. своего рода база данных (и отдаются данные в CSV для анализа в сторонних системах типа Экселя или Процессинга). И работает всё это на Меге.
alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: Arduino Mega Server

Сообщение alexsis_76 » Пн авг 07, 2017 8:32 am

Можно выбрать датчик, год, месяц и день и вывести в окно браузера статистику температуры в текстовом виде или
а кто осуществляет выборку,мега в ответ на запрос выдает конкретные данные или же браузер?
какое максимальное время логируется(часы,месяцы,годы)?
alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: Arduino Mega Server

Сообщение alexsis_76 » Пн авг 07, 2017 9:46 am

Вообщем покопался я тут
можно попробовать действовать в лоб например с помощью вот этой штуки sscanf или используя класс String есть еще библиотека регеспов
только вот памяти это все отхватит плюс надо файл загрузить в память,если файл состоит из десятка строк проблем нет а если больше то придется читать с диска кусками ,вряд ли будет большой прирост быстродействия,так что мне кажется послал файл а там браузер пускай сам разбирается и ресурсы контроллера освободятся.
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Arduino Mega Server

Сообщение ser009 » Пн авг 07, 2017 1:20 pm

Alex писал(а):
короче говоря тут затык из за низкой частоты spi
блин ну и выбрал же платформу
Плохим танцорам всегда что-нибудь мешает — то SPI, то что-нибудь еще. Вот пример проекта AMS Pro

https://hi-lab.ru/arduino-mega-server/a ... ject-sauna

, где пишутся логи для датчиков и даже строятся графики по этим логам и в реальном времени и по запросу, т.е. своего рода база данных (и отдаются данные в CSV для анализа в сторонних системах типа Экселя или Процессинга). И работает всё это на Меге.
Писать значения 1 раз в 5 минут - бюджетно. Приемлемо только для вяло меняющихся значений.
Очень низкая информативность к сожалению :(
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пн авг 07, 2017 6:24 pm

Писать значения 1 раз в 5 минут - бюджетно. Приемлемо только для вяло меняющихся значений.
Очень низкая информативность к сожалению :(
Кто мешает писать чаще, если это надо?
Ответить