Найти в Дзене
3 года назад

Из Mosquitto в MySql, или старый NAS еще на что-то да сгодится

Есть у меня старый NAS Synology DS110j. Как ясно из названия модели, ему не меньше 12 лет и его сердце в виде ARMv5 800MHz одноядерного CPU уже с большим трудом справляется с новыми вызовами. Но на Трансмишн и Москитто его вполне хватает. Правда поддержка старых моделей полностью прекращена, так что в менеджере дополнительных пакетов пусто, хотя с помощью небольших уловок можно поставить поддерживаемые версии пакетов. Итак, раз есть Москитто, значит можно и сделать шлюз к БД для регулярного сохранения публикуемых данных. В качестве БД я выбрал MySQL (MariaDB), в частности для столь древнего устройства версии старше 5...

4 года назад

Не успел я огорчиться, что давно анонсированный и все никак не выходящий в свет МК от Espressif ESP32-C6 не смотря на поддержку WiFi6 будет работать только на частоте WiFi 2.4 ГГц (и зачем он тогда такой нужен?), как Эспрессивы исправились и анонсировали ESP32-C5 с поддержкой WiFi6 на обоих диапазонах частот 2.4 ГГц и 5 ГГц. Ну что же, теперь будем ждать его. :) Ссылка на новость

4 года назад

А теперь сравним потребление разных ULP ядер в МК ESP32-S2 (пока вы копите лайки под предыдущей статьей для статьи о раннем пробуждении :)). Возьмем условно одинаковую программу для ULP ядра, которая при нажатии на кнопку, замыкающую GPIO0 на землю не менее 50 мс., увеличивает счетчик нажатий и будит микроконтроллер. Тот весело мигает светодиодом (в коде GPIO светодиода задан константой LED_PIN), пишет количество нажатий кнопки и уходит в глубокий сон. ULP ядро запускается таймером, измерения потребления проводились для значений таймера в 1, 3, 5, 10 и 20 мс. Код для FSM ULP ядра на данный момент можно откомпиллировать только в девелоперской версии ESP-IDF, код же для RISC-V ULP ядра напротив не работает в девелоперской версии ESP-IDF, зато работает в релизе 4.4.1. Вариантов использовать для сборки Arduino нет, только ESP-IDF, увы. Итак, перейдем к результатам: ULP-FSM 1 ms 80 uA 3 ms 60 uA 5 ms 50 uA 10 ms 35 uA 20 ms 30 uA ULP-RISCV 1 ms - 3 ms 70 uA 5 ms 60 uA 10 ms 40 uA 20 ms 30 uA При значении таймера в 1 мс. для RISC-V ULP ядра, основной МК просыпался от срабатывания ловушки на ULP ядре, т.е. можно считать этот вариант неработоспособным. Как видим, старое FSM ULP ядро чуть энергоэффективнее нового RISC-V, хотя писать для него в разы сложнее. С другой стороны, достаточно сложный код для RISC-V иногда выпадает в ловушку, так что FSM может быть надежнее. Но решать только разработчику по результатам собственного тестирования. Т.е. вам.

4 года назад

Так сколько же все-таки потребляет ESP32 (тот самый обычный ESP32 с двумя ядрами и FSM ULP ядром) на примере готового модуля ESP32-S при питании от 3.3 В в различных режимах сна? Скетч полагается на то, что кнопка коммутирует на землю изначально подтянутый к питанию GPIO0, а светодиод катодом подключен к GPIO2. Первые 5 сек. работы скетча CPU активен, далее 5 сек. CPU в режиме легкого сна, далее легкий сон с пробуждением от нажатия на кнопку, далее 5 сек. глубокого сна, далее глубокий сон с мониторингом кнопки EXT0, далее глубокий сон с мониторингом кнопки EXT1 и наконец глубокий сон с мониторингом кнопки с помощью ULP каждые 5 мс. CPU Active 38 mA CPU Light Sleep (timer) 1560 uA CPU Light Sleep (GPIO) 1560 uA CPU Deep Sleep (timer) 3 uA CPU Deep Sleep (EXT0) 4 uA CPU Deep Sleep (EXT1) 4 uA CPU Deep Sleep (ULP each 5 ms) 20 uA Само собой, это потребление с выключенными WiFi и BT. Если для ULP уменьшить время таймера с 5 мс, то потребление энергии возрастет, зато станет возможным отслеживать кратковременные изменения состояния RTC GPIO. Потребление же ULP в режиме постоянного мониторинга в глубоком сне основных ядер составляет 435 uA (для этого в скетче необходимо раскомментировать дефайн ULP_INFINITE). Скетч сделан для Arduino IDE, хотя от фреймворка Arduino используется только вывод в UART через объект Serial, для остального используется ESP-IDF. Если это будет интересно хотя бы 1/10 подписчиков, то напишу статью о том, как использовать раннее просыпание...

Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала
Покупайте СтеллыИ дарите их за контент