Сбор и хранение данных
- Войдите на сайт для отправки комментариев
Добрый день. Прошу помощи в выборе алгоритма хранения данных счетчика и передачи их на сервер.
Задача: Считывание количесва счетчика и передача через интернет .
обязательно хранение данных без интернета пару дней. (EEPROM)
после появления связи с сервером. передача данных
Цель: прием показаний с счетчиков, отображение статистики на сайте (диаграмма)
Оборудование : esp32
Как я вижу решение задачи:
1 Установить часы реального времени
2 Синхонизировать часы через NTP сервер
3 Сохранять данные каждые пять минут . Пример 11.08.2019 00:05 100 (дата, время, счетчик)
отправлять get методом на сервер с последующим занесением в базу данных
4 Интересно логическое решение следующих вопросов
1 Правильный ли выбоор метода хранения и отправки данных ? (каждые пять минут с присвоением даты и времени на стороне счетчика или следует принимать показания счетчика и присваить дату-время на стороне сервера, но тогда проблема с автономсностью)
2 Как узнать получил ли сервер данные ?
Серверную часть сделал. прием get запрса . проверка связки id (счетчика) и (key) и вслучае успеха, занесение в базу id (счетчика)
Проблема в синхронизацией
Проблема в случае падения ntp сервера (адреса меняются через пару лет)
И может кто то видел рабочий пример синхронизации часов реального времени с ntp серверм на esp32 ?
На esp32 немножко нет eeprom-а, там spiflash, но суть не меняется. Количество перезаписей ограничено, если сохранять (перезаписывать) во флеше каждые 5 минут, рискуете её убить.
Серверную часть сделал. прием get запрса . проверка связки id (счетчика) и (key) и вслучае успеха, занесение в базу id (счетчика)
Если протокол http, то вопрос не понятен.
Клиент выполняет метод get на сервере и получает как минимум код ответа, ниужели этого не достаточно чтоб клиент определил результат выполнения метода на сервере.
Не стоит использовать адреса, используйте доменные имена.
П.С. Если сервер для передачи показаний ваш, мож и время от него получать?
Спасибо. просьба пка-что тему не закрывать
Чтоб решить как правильно, необходимо понять всю задачу, особенно вопросы:
- возможен ли пропуск сохраненных данных?
- насколько данные нужны online?
Я бы анализировал ответ от сервера и в случае не возможности записи данных хранил бы в памяти МК и при следующем соединении с сервером отправлял бы ранее сохраненные данные и свежие.
Описанная задача очень сильно напоминает GPS-трекер.
Добрый день. Прошу помощи в выборе алгоритма хранения данных счетчика и передачи их на сервер.
Задача: Считывание количесва счетчика и передача через интернет .
обязательно хранение данных без интернета пару дней. (EEPROM)
SD
после появления связи с сервером. передача данных
Кто клиент и кто сервер?
Цель: прием показаний с счетчиков, отображение статистики на сайте (диаграмма) - дело вообще десятое , вопрос ктотсервер на чем ?????
Оборудование : esp32
Как я вижу решение задачи:
1 Установить часы реального времени { один раз с самого начала при первичной прошивке ???}
2 Синхонизировать часы через NTP сервер (какие вообще пр*блемы)
3 Сохранять данные каждые пять минут . Пример 11.08.2019 00:05 100 (дата, время, счетчик) не вопрос
отправлять get методом на сервер с последующим занесением в базу данных (нафига)
4 Интересно логическое решение следующих вопросов
1 Правильный ли выбоор метода хранения и отправки данных ? (каждые пять минут с присвоением даты и времени на стороне счетчика или следует принимать показания счетчика и присваить дату-время на стороне сервера, но тогда проблема FRAM
2 Как узнать получил ли сервер данные ? Он возвращает некий код
Серверную часть сделал. прием get запрса . проверка связки id (счетчика) и (key) и вслучае успеха, занесение в базу id (счетчика)
Проблема в синхронизацией
Проблема в случае падения ntp сервера (адреса меняются через пару лет) ну пропал один - есть два других
И может кто то видел рабочий пример синхронизации часов реального времени с ntp серверм на esp32 ?
Я делал для меги - вообще непроблема , под ест должно быть также