Evgeniy
Оч часто срабатывает
Если делать так, чтобы совсем глюков не было с этим связанных: 2 кОм на +3.3В, Bi-Dir TVS на 3.3В на землю, конденсатор на 0.1 мкФ на землю, и кнопку через резистор на 100 Ом. После этого можно забыть про ложные сработки.
Михаил
У меня есть все кроме 2 ком
Михаил
Есть ток 1ком
Evgeniy
Evgeniy
Это вы про EN?
Неа, там же на рандомном пине кнопка висит. Но это кнопка звонка, там провод длинный
EAgold
привет подскажите пожалуйста, почему слушалка вебсокета очень сильно тормозит цикл когда обрывается соединение? void loop() { webSocket.loop(); } вот тут так-то он проходит почти мгновенно а когда обрывается соединение останавливается секунд на 5 а потом идет дальше полагаю, это таймаут реконекта, но как его заставить ждать в фоне? а не тормозить общий цикл
Andy
Просто кнопка
Так то защита в виде 50 мкс задержки между проверками вполне себе рабочее решение :)
Evgeniy
У меня есть все кроме 2 ком
Вместо 100 Ом последовательно с кнопкой подойдёт и 10 Ом, вообще без разницы, просто, чтобы заряженный до 3.3В конденсатор на КЗ при нажатии на кнопку не разряжать.
Михаил
А не легче короткие импулься программно фильтровать?
Andy
Это ни о чем не говорит :( Т.к. не известно как реализована обработка события изменения уровня
Evgeniy
Да, для полметра - так и надо делать. Эта цифра ппц как чувствительна ко всяким наводкам, всегда в таком случае глючит
Михаил
Я прост об этом сначала не подумал
Михаил
Кнопку же не 0.001 секунду держат а дольше)
Andy
А не легче короткие импулься программно фильтровать?
http://we.easyelectronics.ru/AVR/taymery-i-zaderzhki-sbornik-receptov.html
Evgeniy
Я прост об этом сначала не подумал
Программно можно ограничить длительность нажатия, но только после того, как корректно будет собрана аппаратная часть. Можно ещё и порт убить от РЧ наводок, например, или когда зимой кто то нажмет на звонок и пробьет статика.
Evgeniy
Andy попадалась советская клавиатура , где в каждую кнопку нужно было подвести питание, а там стоял внутри триггер на жручей ТТЛ логике и защищал от дребезга. Но нафиг - давайте сначала порт защитим от полметра жестокой реальности 😁
Михаил
Так он внутри дома эти пол метра
Михаил
Дверной звонок с другой стороны двери
Михаил
Он в стене просто
Evgeniy
Так он внутри дома эти пол метра
Пофигу, так делать нельзя, особенно если это SoC с высокой степенью интеграции.
Михаил
Хотя с текущеми ценами на чипы - да лучше
Evgeniy
Дверной звонок с другой стороны двери
Т.е. если у тебя на плате кнопка стоит, рядом с процом - вопросов нет, можно. А вот если снаружи полметра провода - опасно.
Andy
Пофигу, так делать нельзя, особенно если это SoC с высокой степенью интеграции.
Поддерживаю, но повторюсь - защита от дребезга "это другое" Для защиты порта достаточно поставить оптрон :) Хорошая практика для промышленной автоматики. Для дома конечно несколько избыточно :)
Evgeniy
Andy автор говорит, что само по себе срабатывает - та самая защита порта и нужна. Может даже оптроны у автора есть в запасе
Evgeniy
У меня была фигня в одном устройстве - трогал пинцетом высоковольтный узел и порт микроконтроллера , где висела кнопка срабатывал. Ну я же в курсе, что резистор надо подтягивающий - а фиг там! Все равно не помогает. RC цепь только помогла
Михаил
А на nodemcu и прочих платах вся эта обвязка есть?
Evgeniy
А на nodemcu и прочих платах вся эта обвязка есть?
Неа, почти нигде нет, кроме всякой промышленной автоматики с опторазвязанными входами. Там как раз от таких глюков приходится защищаться, иначе вообще нереально использовать будет
Михаил
Но я щас программно попробую если нет тогда буду делать как положенно
Evgeniy
@eagoldd только если без arduino библиотек - на каждое событие callback, подключение, отключение, прием сообщений, никакие циклы не блокируются, а с этим хз
Evgeniy
Или зенер или есд диод
Желательно, но рандомные сработки RC устраняет, можно даже на zener забить, если нет
EAgold
@eagoldd только если без arduino библиотек - на каждое событие callback, подключение, отключение, прием сообщений, никакие циклы не блокируются, а с этим хз
ну у меня есть функция онЭвэнт там как-раз и обрабатываю эти события отключение подключение сообщение и пинпонг
Evgeniy
так а как сделать без библиотеки?
Только про esp32 в курсе, у вас оно?
EAgold
там существенная разница?
Evgeniy
А не, эти не пробовал
Andy
так а как сделать без библиотеки?
Ждете изменения уровня на порту. Как только изменение произошло, запоминаете уровень. Ждете 50 ms, проверяете опять уровень на порту. Если запомненный уровень и текущий совпадают, то было нажатие кнопки.
EAgold
как проверить запущена точка доступа или режим клиента wifi?
Михаил
почему в Евпаторийский ЗАГС никто не хочет проводить оптоволоконный кабель со скоростью 1 гигабит в секунду?
Алексей
как проверить запущена точка доступа или режим клиента wifi?
Если появилась точка доступа, значит она запущена 😊
Andrey
ведомый повтор словит снова с ошибкой, т.к. для него произошло выпадение байта по пути следования
поэтому на ведомом можно сделать счетчик ошибок, а на ведущем время от времени его запрашивать и если там дофига ошибок - отправлять алерт наверх "ведомый отделяется!!!"
Сергій
а если ведомый завис (и пезагрузился по WathcDog) или выключился ?
Andrey
ну ты чоооо. STM32 же дешевле и мощнее!!
Andrey
а если ведомый завис (и пезагрузился по WathcDog) или выключился ?
тогда он не ответит на запрос счетчика ошибок.
Сергій
тогда он не ответит на запрос счетчика ошибок.
если произойдёт "рассинхронизация" то и запросить количество ошибок не выйдет)
Andrey
если произойдёт "рассинхронизация" то и запросить количество ошибок не выйдет)
я вот как-то с трудом могу себе представить ту самую "рассинхронизацию", которая тут второй день обсуждается
Сергій
не, ну я же рисовал =( https://t.me/ProEsp8266/136182
Andy
как проверить запущена точка доступа или режим клиента wifi?
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv417esp_wifi_get_modeP11wifi_mode_t
Andrey
не, ну я же рисовал =( https://t.me/ProEsp8266/136182
чушь нарисована же. первая же проверка CRC даст сбой, пакет будет отброшен
Andrey
вот вам и нелогичная тяга обойтись без таймаутов :)
Andrey
а ведь у нас еще есть вариант "плавающего мастера"...
Сергій
чушь нарисована же. первая же проверка CRC даст сбой, пакет будет отброшен
я чувствую, надо симуляцию делать но пока что мне лень)
Andrey
я чувствую, надо симуляцию делать но пока что мне лень)
ведь в уарте старт-бит тоже не с потолка взяли...
Сергій
чушь нарисована же. первая же проверка CRC даст сбой, пакет будет отброшен
пакет будет отброшен, но следующий, который будет принят - будет тоже не полноценным
Василий
ребят, юзайте байт вставку
Andrey
пакет будет отброшен, но следующий, который будет принят - будет тоже не полноценным
там на картинке перед следующим пакетом нарисован зазор во времени. приемник в такой логике просто обязан измерять задержку между байтами и при ее превышении обнулять свой буфер приема. вот мы и пришли к модбасу и таймаутам.
Василий
и потом хоть мусором кидайтесь между пакетами - все ок будет
Сергій
а если таймауты не измерять то вот это получается)
Василий
ненужны таймауты, ало
Василий
байт вставка гуглите)))
Сергій
Сергій
*истерический смех*
Сергій
вообще, есть какой-то фреймворк для симуляции связи
Василий
имея байт вставку всегда можно: узнать где начало и где конец пакета. В нем реализуйте црц16. все, профит
Сергій
опенсорсный
Andrey
можно еще NEC IR передавать по проводам :)
Василий
никто меня неслышит....)))
Andrey
ненужны таймауты, ало
они не нужны, если плотность данных довольно большая.
Василий
они не нужны, если плотность данных довольно большая.
в них вообще нет нужды если есть подтверждение приема и посылки упакованные с байт вставками