Pull to refresh

Comments 59

Всем верно моя ошибка.

У ESP8266 только два пина не создают импульсы при включении питания. У Вас исполнительные элементы подключены ко всем пинам. Как ведет себя ваш умный дом, когда сетевое питание отключается , а потом включается?

При отключении питания. Все как обычно перезагрузка. Обновление времени с esp32, и по заданным параметрам.

За эти пару миллисекунд исполнительные элементы ничего особого не исполнят.

Вы это у DeepSeek узнали или сами придумали?

Из своего опыта могу сообщить, что у ESP8266 время выполнения первичного загрузчика составляет примерно 30 миллисекунд. Потом работает второй загрузчик.

А на пинах будет вот это:

За это время успеют сработать реле и не только и не один раз.

Если в умном доме будет управление кранами или нагревателями,

то можно получить потоп или пожар.

На пинах при перезапуске будет то, что заданно при инициализации. По умолчанию 0, а дальше по параметрам.

Вы не угадали. На пинах будут импульсы. Они появятся до их инициализации и генерируются внутренней схемой чипа. Этой проблеме у ESP8266 уже 10 лет, а вы и не знаете это.

Напряжение на выводах будет соответствовать установленному Вами при инициализации примерно через 100 миллисекунд после включения питания. До этого момента будет что угодно (см в таблице)

Очень интересно. Если эта проблема и есть то при запуске это не актуально. На днях доберусь до анализатора проверю.

потоп или пожар

За 1 секунду работы нагревателя пожара не должно произойти. И если на 1 секунду кран откроется, а потом закроется, не должно случиться ничего страшного. Но учитывать надо, конечно же.

Я не возражаю, делайте себе такой умный дом.

Проблема уже давно решена. Статья запоздала лет десять.

Cтавить ESP32 не имеет смысла так как ESP8266 может работать одновременно и с ESP-NOW и c WiFi . Но это все уже устарело.

Я тоже не возражаю, если кто-то делает себе умный дом ;)

это все уже устарело

А что сейчас в тренде?

ESP32C3, ESP32H2. - RISC-V.

Но если не надо WiFi, то интереснее чипы :

TLSR82xx,TLSR83xx, NRF52840,CH582F,CH584F,PHY6252

Термометр на esp32 будет быстрее измерять температуру чем на 8266?

Так то я и не возражаю, новые чипы лучше. Но в подобном проекте пофиг.

Esp32 работает с ble (для андроида) и esp-now, и нужен как точка доступа всех остальных ESP 8266. Но ESP-now не может работать одновременно с wi-fi. В данном проекте для mqtt происходит переключение, и приостановка очередей для ESP-now, но это быстро максимум 7 сек.

Это очень плохое решение, так как ESP32 в режиме BLE потребляет очень много , что противоречит самой идее BLE. Вообще все чипы ESP имеют очень плохой энергетический баланс и требуют источники с большим импульсным током. В настоящее время много чипов позволяющих строить умные дома с энергопотреблением в 10 -100 раз меньше чем на ESP.

Вариант на ESP - это скорее игрушка, чем серьезное решение.

Если очень хочется, то можно все сделать на ESP8266 и использовать WiFi. более того WiFi позволяет обращаться в интернет и реализовать голосовое управления или еще какие-то модные приблуды. и это будет и дешевле и проще и менее потребляемое.

Не согласен. Esp очень крут при правильном коде.

Для каких задач?

Назовите хотя бы одну в умном доме, которую Вы решили на ESP32 и не смогли решить на ESP8266.

В ESP 32 больше пинов и ещё есть идеи как из использовать, в отличии от ESP 8266, где все уже заняты в этом проекте.

  1. Там где нужно нормальный АЦП.

  2. Нет нормального выхода их режима сна

  3. Нужно больше одного UART (например для работы с радарами LD2410, RS485 и пр)

  4. CAM-модуль

  5. Просто большое количество входов/выходов, PWM

  6. LAN8720 (шлюзы мне больше нравятся с Ethernet - Надежнее работают и эфир не засоряют)

Спрашивал о конкретной задаче в умном доме. В умном доме нет задач, с которыми не справиться ESP8266.

-----------------------------

Больше пинов решается с помощью копеечного расширителя портов. Это дешевле, проще и меньше потребляет, чем применение ESP32. Причем один чип дает сразу дополнительно 8-16 портов и так до 256.

-----------------------

1) В ESP АЦП имеют повышенный уровень шума. У ESP8266 легко увеличить число разрядов за счет усреднение, так как АЦП может работать с частотой дискретизации до 600 КГц.

Но если действительно надо высокоточный АЦП, то надо брать другие чипы.

2) Что такое "нормальный выход из сна" ?

3,4) LD2410 имеет выход по GPIO. CAN подключается по SPI.

Вы пытаетесь все интерфейсы и устройства повесить на один модуль, цена которого в разы меньше каждого из интерфейсов.

----------------------

Если надо много UART , то надо и решать эту задачу.

Если в ESP8266 отключите радиомодем, то потребление будет не 80 mA а всего 15.

Т е получите обычный микроконтроллер за копейки. Вот и используйте его как интерфейс UART-I2C или UART-SPI или даже UART-USB.

Ну умный дом это ведь не только метеостанция на ESP )))
Есть контроллеры управляющие вентиляторами, шторами, гроубоксами и пр. у которым нужно больше одного выхода

У ESP8266 легко увеличить число разрядов за счет усреднение, так как АЦП может работать со скоростью до 600 КГц.

Усреднение никогда не повысит разрядность АЦП, а только снизит шум. Это только китайские камеры умеют делать из 0.3мегапиксел FullHD за счет усреднения)))

Что такое "нормальный выход из сна" 

Нормальный выход из сна - это когда не через ресет с 16 пина. А нормальный режим сна - это 5-10мкА с рабочим таймером сна и внешним прерыванием и RTC памятью в которых сохраняются параметры. ESP32C3 вполне себе живет на батарейке

LD2410 имеет выход по GPIO

А LD2413 не имеет. И работает на скорости 115200, так что SoftSerial не рулит. По Modbus просто много хороших датчиков, те же датчики влажности/кислотности почвы.

Т е получите обычный микроконтроллер за копейки

Сталкивался с такой проблемой. Если брать самые дешевые NoName модули ESP12 Или ESP07, то попадается много брака с очень слабым сигналом WiFi (плохой антенной) или "левыми" микросхемами памяти. А если брать модули от того же AI-Thinker (которые, кстати он уже перестал выпускать), то цена не меньше чем у готовой платы ESP32C3 Super Mini, которая отличается от ESP8266 как новая иномарка от 9-ки

Так что я не понимаю ни одного аргумента цепляния за ESP8266 кроме как что их дом лежит ящик и девать некуда

ESP32C3 Super Mini

Это та поделка китайских ардуиностроителей за 2 бакса что с неработающей антенной? ;)

Это та поделка китайских ардуиностроителей за 2 бакса что с неработающей антенной? ;)

Да. За 1-1.5$. Хотя из трех десятков что уже использовал у вех нормально работали антенны. Особенно если не брать где попало, а у того же TENSTAR ROBOT.


А для особо привередливых есть ESP32C3 Super Mini Pro с разъемом под внешнюю антенну

А еще есть ESP32S3 Super Mini, полностью совместимый по формфактору (ели не использовать два пина и повесить их в воздухе)

у того же TENSTAR ROBOT.

На всех так написано. Может лично мне не повезло. В интернетах пишут что антенна в этом модуле присобачена вопреки здравому смыслу, земляной полигон слишком близко. И предлагают кучу странных способов исправления, некоторые даже работают ;)

Но всё равно как замена ардуины - супер.

/На всех так написано. Может лично мне не повезло. В интернетах пишут что антенна в этом модуле присобачена вопреки здравому смыслу, земляной полигон слишком близко. И предлагают кучу странных способов исправления, некоторые даже работают ;)

Ну так и берите в магазине TENSTAR на Алике. Там где эта проблема подробно разобрана и ссылки есть где нужно брать

На глючных платах нужно просто снизить мощность WiFi

 WiFi.setTxPower(WIFI_POWER_8_5dBm);

И тоже все работает (если хватает сигнала)

ESP8266 тоже очень много глючных. Намучился с ними одно время

Ранее я написал, что ESP32C3 вполне интересный чип. Но мои эксперименты показали, что время активности чипа при выходе из сна не может быть меньше 13 ms (у чипов с BLE это время менее 3 ms), а ток потребления в режиме сна для ESP32C3 Super Mini не может быть меньше 24 uA (у чипов с BLE ток менее 1 uA).

Для работы от батарейки ESP не лучший вариант.

Мое мнение такое. ESP вне конкуренции там, где надо иметь относительно большой объем flash (4MB) и RAM (от 40 до 400 КB) и CPU с частотой от 100 MГц за копейки. В задачах типа умного дома или метеостанции нет надобности в вычислениях и исполнении сложного алгоритма. Но есть надобность в автономной работе либо энергосбережении. В таких задачах , спустя 15 лет после выхода ESP8266, сейчас можно применять тоже дешевые модули на чипах TLSR82xx,TLSR83xx, NRF52840,CH582F,CH584F,PHY6252.

При этом энергопотребление сокращается на один два порядка при тех же ценах на модули.

Ранее я написал, что ESP32C3 вполне интересный чип. Но мои эксперименты показали, что время активности чипа при выходе из сна не может быть меньше 13 ms (у чипов с BLE это время менее 3 ms), а ток потребления в режиме сна для ESP32C3 Super Mini не может быть меньше 24 uA (у чипов с BLE ток менее 1 uA)

На счет 13мкс не проверял. У меня вся периферия пином выключается, а там на нем кондер 100нФ заряжается дольше )))

Но в любом случае это гораздо лучше, чем у ESP8266, который из сна выводится через RST

С потреблением копайте дальше. По даташиту там 5мкА. Мои модули HT-CT62 от Heltec (ESP32C3 + LoRa SX1262) за окном с питанием от солнечной панельки и ионистора уверенно вписываются в 10мкА со спящим LoRa модулем

Как минимум, АЦП нужно вырубать и желательно все пины тоже, кроме тех на которых прерывание висит

P.S. Кстати, поделитесь где взять дешевый NRF52840, желательно готовым модулем?

Вы не поняли, не 13 мкс, а 13 ms. Это в 1000 раз больше.

Относительно потребления, рекомендую Вам разобраться.

5 мкА это у чипа, а я написал про модуль.

Кроме того, при переходе в сон ток потребления снижается не сразу, а получается длинный хвост. В итоге 5 мка будет в теории.

NRF52840 можно взять на али за 240 руб, включая доставку.

-----------------

Забыл сказать, что 13 ms у ESP32C3 это если делать заглушку, иначе время выхода из сна больше, чем у ESP8266.

Вы не поняли, не 13 мкс, а 13 ms. Это в 1000 раз больше.

А как вы измеряли?

Относительно потребления, рекомендую Вам разобраться.

5 мкА это у чипа, а я написал про модуль.

Если модуль питать от 3.3В напрямую, то разницы практически нет (если там светодиодов не навешено)

У меня по крайней мере показывает 10мкА и сразу. Правда используется модуль от Heltec

Кроме того, при переходе в сон ток потребления снижается не сразу, а получается длинный хвост. В итоге 5 мка будет в теории.

13 ms можно получить лишь с заглушкой. При выходе из сна стартует программа в RTC RAM. Пример теста есть в esp-idf.

Измеряю с помощью чипа INA226, который подключен к ESP8266 и данные считываются с интервалом 0.2ms.

24 мка это не только мой результат.

Встречал в инете подобный результат. Вполне допускаю, что можно получить 10 мка.

-------------------------

Но я могу на ESP8266 получить выход из сна и передачу данных по UDP и снова вход в сон за время не более 120 ms. Такое сделать на ESP32 невозможно.

Но для ESP8266 я применяю внешний таймер TPL5xxx. У него рабочий ток 0.03 мка.

---------------------------

Как Вы измеряете ток потребления и "сразу".

Какое время выхода +передача данных и снова вход в сон Вы можете получить на ESP32?

Измеряю обычным мультиметром. Было 50мА, стало 10мкА. Понятно, что точность там с полсекунды. При длительности цикла в десятки минут это совершенно не парит. Но тем не менее это именно 10мкА, измеренные разными приборами.

Передача данных у меня по LoRa идет. Общий цикл примерно 250-350мс при учете дополнительных таймаутов, которые стоят для завершения зарядки кондера на питании периферии. WiFi при этом отключен

внешний таймер TPL5xxx

Здесь вообще никакого режима сна нет. Питание вырубили/питание врубили. И к ценник у TPL не слишком гуманный. А дешевого аналога я не нашел.

В настоящее время 10 мка это много.

Но проблема с ESP32 не только в этом.

Эти чипы не могут работать от батареек типа CR2032.

Если вы используете LoRA то зачем ESP32?

Если вы используете LoRA то зачем ESP32?

Ну например для прошивки по воздуху

Тут просто исторически сложилось. Я работал с модулями Heltec CubeCell. Там ASR6502 с встроенным SX1262. А тут этот же Heltec выпустил модуль с ESP32C3 + SX1262. Вот и взял несколько штук погонять. Заодно идею с ионисторами опробовал

Кстати, шлюзом тоже их модуль использую. ESP32S3 + SX1262 + W5500 навесил на плату.

Экспериментировал ESP8266 с ионистором(суперкондером) на 1f 5в. Одного заряда хватало на передачу 20 коротких сообщений по WiFi UDP с ESP на ПК в режиме проснулся- передал -уснул.

Подключал маленькую солнечную панельку. Все работало нормально. На ESP32 так не получится.

LiFePo4 + зарядка от солнечной панели. Эти аккумуляторы живут при отрицательных температурах и более 3.7В не имеют, так что ESP можно напрямую подключать

Нашел интересный гибридный ионистор-аккумулятор серии LIC
https://en.cda-cap.com/index.php/product/lic/

На 20Ф 3.8В он по габаритам всего 8x13мм. Но не любит температур ниже -20 и разряда менее 2.5В. Зимой в -30 он отключился, но потом при потеплении заработал вновь

Из плюсов - низкий саморазряд, большой ток (если нужно кратковременно что-то мощное) и очень длинный срок работы

Хотя WiFi конечно не для бата реечных сенсоров. LoRa здесь очень понравилась. и потребляет мало и любые стены прошибает

Подключал маленькую солнечную панельку. Все работало нормально. На ESP32 так не получится.

А чего это? ESP32C3 имеет одно RiscV Low Power ядро с очень гибкими настройками потребления

Скачек потребления при запуске, затем обычное потребление, передача пакетами.

Вы опять ошибаетесь. Причем здесь запуск. При передаче работает передатчик. Он потребляет до 400 мА у ESP32 и до 300 mA у ESP8266. Если модем не отключаете то работает всегда приемник - это 70 mA..

В вашем решении у Вас ESP32 всегда включено.

--------------------

На хабре есть моя статья как уменьшить потребление ESP8266 в 10 раз.

Суть в том, что ESP8266 являются датчиками или исполнительными элементами и они могут спать. Можно реализовать время активности в режиме WiFi не более 0.1 сек и нет надобности в ESP-NOW. При этом число узлов не ограничено 20-ю.

Если будут спать когда им работать или они вообще не нужны.

Действительно. Но есть время, когда им работать не надо. В это время они будут лишь греть воздух.

Например, Вы на работе 8 часов. а еще Вы 7 часов спите. В итоге Вам 15 часов из 24 не нужно щелкать выключателем .

Все это время ESP, которая включает вашу любимую лампочку,

будет бездействовать но потреблять как эта лампочка.

Правда, прикольно.

Здесь не только лампочка, изменение температуры контроль, регулятор, таймеры если заснёт код не работает. И вообще он же робот пусть работает 24/7 и выполняет задачи. Если не нужен выключи и не трать энергию на сон.

Вывод информации и изменение параметров как вы планируете осуществить. По любому wi-fi более прожорлив чем ble.

Посмотрите мои статьи на хабре о том как уменьшить потребление ESP8266.

Но в вашей задаче потребление не принципиально, так как Вы не сможете применить питание от батарейки. Если надо от батарейки то надо брать модуль BLE и это не ESP32.

Так какая проблема запитать esp32, а esp8266 если нужно вешайте на батарейку.

И ещё связка ESP 32(ble)--андроид, и ESP 32(wifi)--андроид, не одно и тоже. Потому как потребление намного меньше.

Для ESP32 это не так.

Потребление будет практически одинаковое.

Более того, питание все равно надо делать от сети.

1) Какое потребление?

2)Сколько времени уходит на восстановление работы устройств при сбое в питании?

3) Как опознается зависшее устройство? Как устраняется эта проблема?

1. Потребление как мануале. Задействован протокол esp-now.

2 Обычный сброс происходит мгновенно.

3. Сброс может произойти при отсутствии питания. Загружайте тестируйте.

Никто не будет загружать и тестировать просто потому что вы так сказали. Вам просто дали советы по дополнению содержимого вашей статьи.

Заинтересуйте читателя вкусным описанием параметров загрузить и протестировать это.

Я конечно же заплюсил для поддержки начинающего автора, но есть один вопрос...

В чём суть статьи, да ещё и с кучей грамматических ошибок?
Не могли бы вы об этом рассказать подробнее? Вы этим хотите продвигать свою программу liknode?

—Выходные порты—
Выходные порты имеют обвязку
в виде полевых транзисторов npn. Это значит на выходе разрыв gnd, что позволяет подключать внешнее питание.

Это цитата вашего текста из вашего телеграм-канала. Очень плохо.

Но вы можете всё это быстро исправить, если захотите.

Обычный вариант ESP32 не переварит одновременно WiFi и BLE, тупо не хватит ОЗУ. Лучше использовать для этого варианты с PSRAM

Отлично работает, нужно только разобраться с config.

А какие параметры были выставлены/урезаны, чтобы это всё заработало? Динамические буферы?

Отвечу по памяти от defaults нужно добавить ble и ещё один пункт для работы wi-fi and ble. Более точное название скину попозже. Заработает одновременное потом разберётесь с буферами.

Делаю сейчас "компьютер" для электроскутера и esp now стало для меня открытием, для пульта взял espe2c3 seeed studio на борту которого есть контроллер заряда батареи, припаял кнопки, батарею, написал код, распечатал корпус и всё, пульт готов

Sign up to leave a comment.

Articles