В связи с реверсом старта SDK стало легче делать разные загрузчики для опроса датчиков.
Скопировал сюда, разные мои сообщения, "чтобы было в куче":
"Измерил предельную достижимую скорость загрузки специального "лоадера", после "ресета" (или deep-sleep) до начала опроса датчика:
30 ms и уже идет опрос - шевелит портами с загруженного куска кода первого (не стандартного!) загрузчика из flash... WiFi выключен до второго загрузчика, который запустится если надо передавать, и весь процесс потребляет копейки.
Эти 30 ms говорят о том, что если требуется засыпание менее чем на 100 ms, то лучше отключить таймер и процессы и использовать внутреннюю команду sleep у CPU ( он в ней тоже жрет очень мало) для ожидания инициализации датчиков или между ожиданием результатов с них.
Но главное, что у данного загрузчика в доступе более 100 килобайт RAM, т.к. без SDK, а результаты замеров он пишет в RTC и в flash. Потом монстр SDK перешлет "
"Лоадером" можно грузить разные "прошивки" если стоит большая Flash. "Прошивку" WEB сервера при этом можно использовать для конфигурации модуля.
Стандартная загрузка c SDK WEB "свалки" занимает от 310 ms и где-то так-же, до 0.5 секунды получен ответ от dns и время с интернета уже у модуля, если он подключается к роутеру...
Т.е., если у нас не сервер, а передаем что-то, то к концу 1-ой секунды от старта уже может быть передано 500 килобайт и далее 1 мегабайт в секунду...
В итоге, если используем deep-sleep, то достаточно 1 секунды активности модуля для полной передачи накопленных состояний. Но, безусловно, всё зависит от удаленности сервера, пинга к нему. По тому и надо иметь распределенную сеть - на роутре должен быть хотя-бы аналог MQTT и никаких обращений к дальним IoT серверам модулем. Пусть этим занимается роутер - у него обычно ресурсов достаточно.