• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Помогите понять принцип ESPшки. Может я вообще не туда полез?

rst

Member
Гарантированно делает стандартный UART - отслеживает до 3-х точек в импульсе длительностью в один бит (baud), а если длительность активного уровня большая (больше символа со старт/стопами/parity) - выдает специальное прерывание об этом событии.
Боюсь UART-ом опрашивать кнопки не получится. Если предположить, что максимальное время дребезга кнопки ==20мс, и тогда принять, что минимальная обнаруживаемая длительность нажатия ==30мс, то чтобы запрограммировать UART для опроса с подавлением дребезга таких кнопок, его нужно программировать на baudrate== 1/(.01*16) = 6.25 бод. Думаю в большинстве МК делителя UART-а не хватит. :)
Да и при стандартных настройках UART == 8-N-1 придётся после нажатия кнопки ждать 1.6 сек перед тем как другую кнопу можно будет нажать. :cool:
 

pvvx

Активный участник сообщества
Чтобы обслужить кнопку в ESP8266 надо настроить прерывание по фронту, в нем запустить софт- таймер, в софт-таймере подтвердить состояние вывода и послать запрос в очередь на выполнение “таска”, отрабатывающего кнопку.
Прерывание по фронту должно отключаться по первому фронту, а взводиться уже где-то за отработкой таймера, в зависимости от требуемых условий обработки этой кнопки. Т.е. есть варианты, но всё равно вокруг да около. Cделать это в Arduino, не используя спец. либ или включений из SDK достаточно сложно для начинающих. Они быстрее припаяют БОЛЬШОЙ кондер к кнопке и полингом будут опрашивать GPIO, как и всё в Arduino и это никто не изменит :)
И причина там в том, что ESP8266 имеет дрова WiFi иногда запрещающие любые прерывания на время к 1 сек и более, когда в логе проходят всякие китай-цифры переключения режимов, смены ключа WPA в драйвере и т.д... Это сведет на нет все ваши желания получить реакцию системы менее чем в 1 секунду.

У кнопки для ESP8266 будет инструкция – если идет поиск AP, то кнопка не работает; если deep_sleep – не работает; если идет штатная для соединения смена ключа шифрования у AP или прочие прелести WiFi – кнопка не работает; если идет обработка какого-то другого устройства, типа вывода в светодиодную ленту, то кнопка не работает…
 
Последнее редактирование:

kab

New member
А предыдущее предложение читать не пробовали? И разницу между "обычно", "как правило" и "гарантированно" тоже не понимаете?
Обычно 50Гц - означает, что я обычно использовал данную частоту опроса и в своей практике не встречал кнопок с бОльшим временем дребезга. Но я не знаю за все возможные существующие в природе кнопки.
Если некорректно использовал приведенные Вами данные - извините. Цитаты и данные из Ваших сообщений постараюсь больше не использовать.
ЗЫ. Хотя так и не понял - в чем я виноват в этом случае.
ЗЗЫ. Все остальные замечания других участников - принимаю тоже. Если кого в пылу полемики обидел - извините.
ЗЗЗЫ. А @=AK= заметил точно, поболтать и попридираться к всякой ерунде я люблю. Но у всех же свои слабости... Простите, если что.
 

pvvx

Активный участник сообщества
@kab - ESP8266 это игрушка и каждый играет с ней как хочет. Но некоторые мнят, что из неё можно сделать что-то серьезное... :)
Пример кнопки с большим, чем дцать 50Гц отсчетов дребезга находится в дешевых счетчиках воды...
Длительность "нажатия", в зависимости от механики, предельных протоков, скорости текущего потока у них варьируются от 0.7 секунд до десятков секунд... С магнитными датчиками получше - меньше "дребезг", но могут быть наводки той-же 50 Гц на фронте...
 
Последнее редактирование:

AndrF

Active member
@kab - ESP8266 это игрушка и каждый играет с ней как хочет. Но некоторые мнят, что из неё можно сделать что-то серьезное... :)
Пример кнопки с большим, чем дцать 50Гц отсчетов дребезга находится в дешевых счетчиках воды...
Все там можно сделать - не пойму проблемы. Я, правда не дребезг кнопок устранял, а скорость работы движка вычислял - по тому сколько волн пропускает управляющий симмистор - разница совсем не столь уж и большая. Энкодерами займусь, ориентировочно, где-то через одну-две недели, но каких либо сложностей по ним пока не вижу...
 

pvvx

Активный участник сообщества
Энкодерами займусь, ориентировочно, где-то через одну-две недели, но каких либо сложностей по ним пока не вижу...
Там одна сложность - дешевые китайские сохнут через год два и там один "дребезг", а не сигналы...
Насчет сложностей куда пристроить ESP8266 я тоже не вижу – можно на елку повесить, на Новый Год :) “Работать” же будет, на модуле блестящая крышка...
 
Последнее редактирование:
Сверху Снизу