РЕКЛАМА НА ФОРУМХАУС Я, бывает, писал и пишу и на Ардуино, и в других средах. На асме очень давно ничего не писал, да и необходимости не было. Ардуино замечательна для быстрого макетирования, проверки какой-то идеи. И если у меня неправильно работает какая-то Ардуиновская библиотека, (а она мне нужна, ну лень разбираться в чем-то с нуля) то я смотрю исходники и обычно, нахожу в чем проблема. Но, начиная с какого-то уровня, оказывается дешевле делать проект не на Ардуино. Так как раскапывать, кто там и где что-то напрограммировал, оказывается очень трудно/долго/не имеет смысла.
Вот я так перелопатил все, что связано с WIFI на ESP. Что куда вставляется, и в какой последовательности. Вот и сейчас, когда нарисовалась проблема с UDP пакетами, был выбор или опять все перелопатить, или просто раз в неделю автоматом перезагружать. Я выбрал второй способ.
Можно ещё было попробовать святой водой окропить. Если нет понимания, "как оно тикает", то проблему решить трудно, почти невозможно. Вот о чем и речь. Надо сразу разводить плату с пониманием, что и как. А не сделать тяп-ляп, по принципу и так сойдет. Иногда сходит, а иногда и нет. Примеры этих случаев (когда не сходит) вы как раз и привели. Если погрузиться в проблему чуть глубже, то скорее всего, esp будет не причем. Хотя, у них есть и "документированные" нюансы
WiFi библиотеки на esp закрытые, их нельзя "перелопатить". Это одна из принципиальных проблем с esp. Можно только использовать, "что дают". Способ известный и широко применяемый. Видел, как также решали проблемы для программных комплексов, стоимостью много миллионов долларов.
Я определенно что-то делаю не так: и реле щелкают, не вызывая побочных эффектов, и термопара показывает температуру, а не курс ММВБ...
Скорее всего переполняется буфер WIFI (по аналогии с UART), и данные теряются. У меня весь участок в этих платах. Все косяки уже давно решены. Пока проблема не возникнет, и "понимание" не приходит. Часто такие вещи вылезают, их заранее не предугадать. Вот по этому и нет желания тестировать другие платформы, опять все то же самое проходить. И найдите хоть у одного производителя упоминание этой проблемы. Примеры всегда прекрасно работают, а когда все совмещаешь, обязательно что то вылазит. Так и не возможно. Это скорее всего проблема схемотехники самой микросхемы.
Тут есть два варианта. Либо вы знаете, что делаете, либо вам (пока) везет. Или третий вариант, что с ростом сложности конструкций, ваши грабли вас ещё ждут! Но это же обычный путь познания чего-то нового. Найти проблему, решить, и идти дальше! В общем, всех с НГ!
Все проекты разные. У меня то же есть устройство, в котором и прерывания используются и реле. Там проблем не возникало. Здесь возможно совпало, и магнитное поле от реле, и блок питания, и корпус, и провода. У меня нет времени и желания с этим разбираться, если проблему можно решить по другому. Сейчас вспомнил, у меня есть еще блок, там правда не NANO, а MEGA стоит. В нем куча реле, и используются прерывания. Вот никаких проблем. А термопара стоит в пеллетной горелке. Ее сложно было протестировать полностью на столе. На столе вроде все работало, а как в корпус запихнул, это и выяснилось. И опять, проще перед замерами реле отпускать, чем заново все переделывать.
Вот жеж, теперь хочу приделать к счетчикам считалку импульсов. Подали идею, называется... Есть замечательные китайские "однодиновые" счетчики, ходить смотреть лень, а так будет всё перед глазами.
Понимаете, это основы схемотехники, о которых производители не пишут. Базовые принципы абсолютно одинаковы для всех. Но, производитель иногда указывает некоторые нюансы. Например, что проводники должны идти параллельно и быть равной длины. Или в в виде референс дизайна печатки, или ещё как. Но вот чтобы прямо про реле писали, не видел. Пример на тему "из интернета":
Практика все равно будет отличаться от теории. Одно дела, когда делается тиражный продукт, там можно и схемотехнику поменять, если в образце косяки вылезли. Я еще не встречал тех, кто делает проект в единственном экземпляре, накосячил с разводкой дорожек, и вместо того, что бы просто дорожки ножиком перерезать, и припаять перемычку, начинает все с нуля.
Если у вас уже есть в системе modbus, то можно поставить готовый модуль ввода цифровых сигналов с возможностью счета импульсов. И вычитывать значения счетчиков импульсов из модбас регистров.
Это всё понятно и, в целом, верно. Все имеют право на свои косяки. Но не стоит основываясь на своем неудачном опыте утверждать, что например, esp не умеет работать одновременно с реле и прерываниями
ESP умеет работать с реле и прерываниями. У ESP проблемы работы с прерываниями, которые часто вызываются, и WIFI. Так же у ESP проблема работы WIFI, и опроса аналогового пина. АЦП в ESP один, и используется в WIFI. В документации написано, что опрос аналогового пина нужно делать не чаще (не помню точно число). Так еще и на точность измерения влияет промежуток между обращением к аналоговому пину, и работа с приблудами WIFI.
Всё привет. Может кто встречал конвертер 1-wire/rs485. Задача - опрос десятка ds18b20 и запись значений в регистры, с которых считывать по modbus rtu. Или то же на ethernet и дальше на modbus tcp. На алике почему то подобные устройства предполагают подключение каждого ds18b20 к отдельному входу, как будто кто-то тянет отдельный провод к каждой точке.