• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

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

gerkimuyda

New member
Но складывается ощущение что тут просто никто не пробовал соединять две ESP в режиме ESP-NOW. Ни примеров ни док на этом сайте нет .
А зачем соединять их в ESP-NOW ? Большинство задач, которые тут пользователи ставят и решают, выполняются через простое вайфай AccessPoint - Client. К тому-же он более удобен, т.к. позволяет еще и мобилой законектиться и ноутом посмотреть что там... Отсюда и отсутствие мало используемой ESP-NOW.
Вот смотрите, даже вы в своем девайсе можете сделать модуль с мотором - АПешкой, а пульт - клиентом. И тогда кроме основного пульта - вы легко можете создать еще один паралельный. Да и просто с мобилки в браузере через инет управлять мотором. Что легче? Изучать ESP-NOW или сделать круче на известных вещах, которые потом в другом пригодятся? - Такой выбор пользователей.
 

Ganalooloo

New member
А зачем соединять их в ESP-NOW ? Большинство задач, которые тут пользователи ставят и решают, выполняются через простое вайфай AccessPoint - Client. К тому-же он более удобен, т.к. позволяет еще и мобилой законектиться и ноутом посмотреть что там... Отсюда и отсутствие мало используемой ESP-NOW.
Вот смотрите, даже вы в своем девайсе можете сделать модуль с мотором - АПешкой, а пульт - клиентом. И тогда кроме основного пульта - вы легко можете создать еще один паралельный. Да и просто с мобилки в браузере через инет управлять мотором. Что легче? Изучать ESP-NOW или сделать круче на известных вещах, которые потом в другом пригодятся? - Такой выбор пользователей.
Да я как раз не против! Просто два человека уже посоветовали ESP-NOW, я и пошел в эту сторону!
Если можно сделать просто, то ок, но опять же - есть примеры того о чем Вы говорите, клиент/сервер с передачей данных? Но не так что бы строки URLов таскать туда сюда а передать 1-2 байта (слова) друг другу? Как это сделать?
Я так понимаю чисто физически это 2-ва скрэча (скрипта) которые заливаются в два разных модуля. Выход в инет мне не нужен. Так вот как это сделать ? Простые примеры есть? Я нахожу только какие то навороты типа метеостанций которые передают данные на раутер, оттуда на другую ESP которая передает их на сайт, и я потом смотрю а какая же у меня температура дома, находясь на Тенерифах. Да, занятно, и даже напоминает сериал "Теория большого взрыва",... но не более. Все пытаются выпендрится и показать как они круто данные закинули за бугор... а мне то жалкому нытику всего то надо передать на пол метра 2 байта... и тут у людей ступор. Мож я конечно из пушки по воробьям, но уже объяснил, ESPшка мощьная и не надо говорить что на вафлю отжирается что то. Против ардуины она ее делает в десятки раз даже с нагруженной вафлей. Так что ... покажите мне пожалуйста пример а? Работающий простой пример...
 

gerkimuyda

New member
Мне наверное легче тратить уйму времени на написание всяких вопросов чем пойти и посмотреть примеры (ЧТО Я СДЕЛАЛ В ПЕРВУЮ ОЧЕРЕДЬ!)....
Но вот я задал конкретный вопрос - покажите пример!? .. но неужели не видно по моему описанию в начале, что вопрос не простой? И никто ни разу не дал четкого примера....
Кстати, только что нашел как можно по UDP это сделать.
Столько времени на написание текста, а все ведь было под рукой:
WiFiTelnetToSerial.ino
WiFiClientBasic.ino
WiFiAccessPoint.ino

Разве тут не все, что вам нужно? И создание АП и слушание входящего запроса, и подключение к АП и передача запроса, и даже пример перекидывания данных между UART и TelNet

Все лежало в Примеры - > ESP8266WiFi


Вот последняя версия библиотеки:
https://github.com/esp8266/Arduino/releases/download/2.4.0-rc2/package_esp8266com_index.json

UPD: Тут вот как раз еще один пример есть StreamHttpClient.ino - чтение потока.
 
Последнее редактирование:

gerkimuyda

New member
Посмотрел я на ESP-NOW в примере (для ESP-32): ESP32 Clock Using WiFi, ESP-NOW, & Cellular
И хоть названия библиотеки и функций другие, все их можно найти в SDK в Ардуине тут esp8266/2.4.0-rc2/tools/sdk/include/espnow.h
Но вот взглянув на код Мастера и Слейва, что-то мне кажется, что это не лучшее решение... Сложные поиски слейва, создание кучи АПешек... Зачем? В чем прикол супротив классики?
Или это просто корявая реализация данного автора?
Вот еще один пример GitHub - cho45/esp8266-esp-now-sample
 
Последнее редактирование:

Ganalooloo

New member
Посмотрел я на ESP-NOW в примере (для ESP-32): ESP32 Clock Using WiFi, ESP-NOW, & Cellular
И хоть названия библиотеки и функций другие, все их можно найти в SDK в Ардуине тут esp8266/2.4.0-rc2/tools/sdk/include/espnow.h
Но вот взглянув на код Мастера и Слейва, что-то мне кажется, что это не лучшее решение... Сложные поиски слейва, создание кучи АПешек... Зачем? В чем прикол супротив классики?
Или это просто корявая реализация данного автора?
Вот еще один пример GitHub - cho45/esp8266-esp-now-sample
Я даже не знаю как тогда мне надо задать вопрос что бы меня поняли:)))))))) Уже вроде и так итак пишу и даже прямым текстом и - мне опять советуют порыться в мусоре... Слушайте, ну если нет примеров - ПРОСТЫХ! - ну напишите вы что их нет и что надо искать в других местах и рыться в коде который, судя по названиям, делает абсолютно другое! Ну посмотрите что вы пишете?

"...И хоть названия библиотеки и функций другие..." - ура! ключевое слово - ДРУГИЕ!... и почему то в ESP32. ???
Вот еще:
"Столько времени на написание текста, а все ведь было под рукой:
WiFiTelnetToSerial.ino
WiFiClientBasic.ino
WiFiAccessPoint.ino" - да где тут простые примеры как я просил? Где названия к примеру "ESP server.ino" и "ESP slave.ino" по которым сразу ясно что делает этот скрипт? Мало того - я даже нашел такие! И уже написал, что они даже не компиляться, потому что туда напихали чтение с каких то датчиков, передачу принятых значений в Ватсон ....
"... Но вот взглянув на код Мастера и Слейва..." - вот и я туда смотрел! И что бы понять как это работает надо удалять из кода кучу мусора!
Почему мне никто не ответил короткой фразой? Нет примеров, ищи по сорсам внутри и сам разбирайся!.
Я первый раз сталкиваюсь с девайсом для которого аж целый сайт сделали, но вот для новичков НЕТ никаких простых примеров что бы они могли тупо подключить есп к компу, залить скреч и убедиться что работает (а уж потом разбираться как это работает)

Ну про это я молчу "...и даже пример перекидывания данных между UART и TelNet.." - как это относится к тому о чем я спросил - не знаю. Нахрена мне в чистом поле UART и TelNet? к чему это дополнение?:))))

В общем так - я разберусь и СЮДА же кину работающий пример. То как раз, что я хотел услышать от жителей данного сайта.
Вот более менее пример -
Хотя там управление с телефона, но заменить его на вторую ESP которая будет слать UDP и получать их от робота, думаю не составит труда.
 

gerkimuyda

New member

kab

New member
Слушайте, ну если нет примеров - ПРОСТЫХ! - ну напишите вы что их нет и что надо искать в других местах и рыться в коде который, судя по названиям, делает абсолютно другое!
Вообще-то, любой специалист в своей жизни проходит стадию новичка.
Я сам толкаюсь тут только с сентября месяца. Но уже понял, что оптимальный алгоритм для новичка следующий:
1. Сформулировать для себя и остальных свою задачу. Это Вы сделали.
2. Самостоятельно и/или используя советы с сайта - поискать на сайте/в интернете готовые решения, близкие к Вашей цели. Очень редко везёт так, что находится решение, подходящее Вам один в один. Оптимальнее всего найти решение более, заведомо "включающее" Ваши Нужды. :) Выкидывать (отключать) функциональность обычно легче, чем дописывать чтобы то ни было.
3. Понимаю, сразу вникнуть в чужой текст сложно. Сразу смиритесь, что далеко не всё понятно. Но попытайтесь выделить нужное, отключив лишнее. Естественно, у Вас сразу ничего не заработает. Проблемы возникают совершенно разноплановые, как программные, так и схемотехнические. Но в этом случае, при возникновении конкретных проблем, Вам на сайте помогут с большим удовольствием. Выкладываете свои тексты программ, свои схемы устройств. В таком варианте обсуждение в большинстве своём становится конструктивным. И чаще всего, приводящим к положительным результатам...

@Сергей_Ф - я тут не срываюсь во флуд и оффтоп?:D
 

nikolz

Well-known member
Я пишу в Arduino. В принципе пофиг где писать, просто грузить скреч удобней.

Но складывается ощущение что тут просто никто не пробовал соединять две ESP в режиме ESP-NOW. Ни примеров ни док на этом сайте нет . Это что, какой то секрет большой?
Показать просто пример, без наворотов, в 5 строчек, даже без сериал порта! Не ужели это ппц как сложно? И видимо да, сложно.
Просто здесь никто и никому не обязан ничего, но некоторые любителей халявы так к ней привыкли, что уже считают, что им обязаны ее дать.
---------------------------------------------
У меня например есть два проекта ESPNOW1 и ESPNOW2 а для контроля их работы еще прога на компе. проекты на СИ В основной программе строк по 200.
----------------------------
Но выкладывать нет смысла, так как уровень потребителей халявы очень низкий а запросы у них как у Вас - все обязаны.
 

Ganalooloo

New member
Просто здесь никто и никому не обязан ничего, но некоторые любителей халявы так к ней привыкли, что уже считают, что им обязаны ее дать.
---------------------------------------------
У меня например есть два проекта ESPNOW1 и ESPNOW2 а для контроля их работы еще прога на компе. проекты на СИ В основной программе строк по 200.
----------------------------
Но выкладывать нет смысла, так как уровень потребителей халявы очень низкий а запросы у них как у Вас - все обязаны.
Любителей халявы? А нахрена тогда вообще этот сайт и форум? Задаю вопрос "покажите пример как данные передать и получить?" - и я любитель халявы? Ну тогда тут все такие - но это лично Ваше мнение. Никто не обязан - не отвечай тогда, не лезь в разговор.
 

Ganalooloo

New member
Вообще-то, любой специалист в своей жизни проходит стадию новичка.
Я сам толкаюсь тут только с сентября месяца. Но уже понял, что оптимальный алгоритм для новичка следующий:
1. Сформулировать для себя и остальных свою задачу. Это Вы сделали.
2. Самостоятельно и/или используя советы с сайта - поискать на сайте/в интернете готовые решения, близкие к Вашей цели. Очень редко везёт так, что находится решение, подходящее Вам один в один. Оптимальнее всего найти решение более, заведомо "включающее" Ваши Нужды. :) Выкидывать (отключать) функциональность обычно легче, чем дописывать чтобы то ни было.
3. Понимаю, сразу вникнуть в чужой текст сложно. Сразу смиритесь, что далеко не всё понятно. Но попытайтесь выделить нужное, отключив лишнее. Естественно, у Вас сразу ничего не заработает. Проблемы возникают совершенно разноплановые, как программные, так и схемотехнические. Но в этом случае, при возникновении конкретных проблем, Вам на сайте помогут с большим удовольствием. Выкладываете свои тексты программ, свои схемы устройств. В таком варианте обсуждение в большинстве своём становится конструктивным. И чаще всего, приводящим к положительным результатам...

@Сергей_Ф - я тут не срываюсь во флуд и оффтоп?:D
2. Я ищу решение СВОЕ проблемы САМ. Ни у кого за меня решить не прошу. Спросил про пример, как передавать, рассказали что можно так и эдак, спасибо. Но только рассказали. Примеров рабочих нет. Тут.
3. Понял, вот это по делу.

Теперь оглашаю, нашел решение на UDP - все быстро и достаточно для моих целей. Про протокол в курсе что не стабильный но запрос-ответ и сам организую. Самый прикол что из разных источников в итоге собрал два работающих скрипта, один и правда сервер, другой клиент но общение по UDP. Тексты кодов на 1-2 пейдждауна. Простые и понятные любому новичку который хочет быстро соединить 2 ESP.

Если это кому то нужно, могу выложить сюда, а то уже реально было желание послать нах этот модуль и думаю что у менее подкованных так и будет.

Но вот то чувак про дребезг меня порадовал:)))) Кондеи у него не при чём:) Мне прям даже ну ооооочень интересно, какой у него то способ?:)
 

nikolz

Well-known member
2. Я ищу решение СВОЕ проблемы САМ. Ни у кого за меня решить не прошу. Спросил про пример, как передавать, рассказали что можно так и эдак, спасибо. Но только рассказали. Примеров рабочих нет. Тут.
3. Понял, вот это по делу.

Теперь оглашаю, нашел решение на UDP - все быстро и достаточно для моих целей. Про протокол в курсе что не стабильный но запрос-ответ и сам организую. Самый прикол что из разных источников в итоге собрал два работающих скрипта, один и правда сервер, другой клиент но общение по UDP. Тексты кодов на 1-2 пейдждауна. Простые и понятные любому новичку который хочет быстро соединить 2 ESP.

Если это кому то нужно, могу выложить сюда, а то уже реально было желание послать нах этот модуль и думаю что у менее подкованных так и будет.

Но вот то чувак про дребезг меня порадовал:)))) Кондеи у него не при чём:) Мне прям даже ну ооооочень интересно, какой у него то способ?:)
Попробуйте прочитать сначала весь пост.
Вам в начале сказали что есть три решения два на WIFI -это протоколы tCP и UDP и один на ESP-NOW.
Вы агрессивно начали кричать что это х... и зачем какие-то сервера.
Потом начали требовать примеры (именно требовать почитайте ваши посты) и ругать всех кто что -либо советовал.
И в конце-концов нашли пример того, что Вам сказали ранее.
про ESP-NOW Вам было сказано -возьмите документацию SDK там все есть.
Но вместо этого Вы начали требовать чтобы именно на форуме Вам выложили.
Ну как я правильно изложил ход Ваших претензий?
Если бы не ругались а делали то что советовали Вам то все бы нашли быстрее.
----------------------
На форуме никто Вам ничего не должен, сказали бы спасибо за советы, пусть и не исчерпывающие, но давшие Вам новую информацию для направления движения.
 

kab

New member
Но вот то чувак про дребезг меня порадовал:)))) Кондеи у него не при чём:) Мне прям даже ну ооооочень интересно, какой у него то способ?:)
Если действительно интересно, могу пояснить - с точки зрения теории. Дребезг - это более высокочастотная составляющая итогового сигнала, чем его "информационная часть". Устройство, режущее часть частотного спектра сигнала (в нашем случае - частоты дребезга) - называют фильтром. Так вот, фильтры бывают аналоговые и цифровые. А конденсатор - простейший пример аналогового решения фильтра (в зависимости, включается ли он параллельно или последовательно нагрузке - это будет НЧ, либо ВЧ-фильтр). Но сейчас народ более разбалован цифровыми решениями. И опять же цифровые фильтры бывают программные и "в железе", т.е. в отдельной микросхеме. Принцип цифрового фильтра очень простой - после прихода фронта (например) импульса в течении времени задержки не реагировать на сигнал совсем (типа ждем, пока дребезг закончится). Естественно, если частоты дребезга и информативных импульсов начинают сближаться - реализацию и настройку фильтра приходится усложнять.
 

Ganalooloo

New member
Если действительно интересно, могу пояснить - с точки зрения теории. Дребезг - это более высокочастотная составляющая итогового сигнала, чем его "информационная часть". Устройство, режущее часть частотного спектра сигнала (в нашем случае - частоты дребезга) - называют фильтром. Так вот, фильтры бывают аналоговые и цифровые. А конденсатор - простейший пример аналогового решения фильтра (в зависимости, включается ли он параллельно или последовательно нагрузке - это будет НЧ, либо ВЧ-фильтр). Но сейчас народ более разбалован цифровыми решениями. И опять же цифровые фильтры бывают программные и "в железе", т.е. в отдельной микросхеме. Принцип цифрового фильтра очень простой - после прихода фронта (например) импульса в течении времени задержки не реагировать на сигнал совсем (типа ждем, пока дребезг закончится). Естественно, если частоты дребезга и информативных импульсов начинают сближаться - реализацию и настройку фильтра приходится усложнять.
Ну в таком случает зачем было говорить что ёмкость тут не при чем? Я программист уже 30 лет и знаю что "железо" работает намного надежней программных методов. Всю жисть убираю кондеями и прекрасно работает. Пробовал убрать дребезг и программно. Если честно - это не нужно. Ну по крайней мере мне проще поставить ёмкость чем загромождать код. Параллельно той же кнопке сажаешь 0.1мкФ и проблема решена.
 

Ganalooloo

New member
Попробуйте прочитать сначала весь пост.
Вам в начале сказали что есть три решения два на WIFI -это протоколы tCP и UDP и один на ESP-NOW.
Вы агрессивно начали кричать что это х... и зачем какие-то сервера.
Потом начали требовать примеры (именно требовать почитайте ваши посты) и ругать всех кто что -либо советовал.
И в конце-концов нашли пример того, что Вам сказали ранее.
про ESP-NOW Вам было сказано -возьмите документацию SDK там все есть.
Но вместо этого Вы начали требовать чтобы именно на форуме Вам выложили.
Ну как я правильно изложил ход Ваших претензий?
Если бы не ругались а делали то что советовали Вам то все бы нашли быстрее.
----------------------
На форуме никто Вам ничего не должен, сказали бы спасибо за советы, пусть и не исчерпывающие, но давшие Вам новую информацию для направления движения.
 

Вложения

kab

New member
Параллельно той же кнопке сажаешь 0.1мкФ и проблема решена.
В каких-то конкретных случаях задержка, вызванная временем заряда/разряда конденсатора - может стать неприемлемой. Я к тому, что любое решение должно применяться не "огульно", а по "разумению" :)
 

rst

Member
И да, я это написал также не только для Вас, но и для @rst
Вы неправы.
Тот факт, что всякие "радиолюбители" лепят на кнопки кондёры и думают, что это защитит от дребезга - мне прекрасно известен.
Но сами подумайте - как это может защитить? RC-цепочка только сгладит колебания, получаемые от кнопки, но не уберёт ведь их. Какая разница будут это колебания амплитудой от 0 до Ucc или небольшой амплитуды - вокруг порога переключения цифрового элемента.
Можно конечно и грамотно RC-цепочкой давить дребезг, но для этого после неё должен быть триггер Шмидта - тогда это будет работать. Но вешать RC-цепь + триггер Шмидта, когда этот сигнал заходит напрямую в МК и там это легко решается программно без каких-либо затруднений - это совершенно излишние внешние цепи. А если таких кнопок надо несколько? Всё что можно сделать программно в устройстве с МК - должно делаться программно.
К тому-же в случае с RC-цепью, через кнопку проходят токи заряда или разряда кондёра. Импульсные. Они значительно больше чем токи в схеме без кондёра. А контакт кнопки - вещь изнашивающаяся, и чем больше ток замыкания/размыкания через неё - тем быстрее (искрение контактов).
Зачем весь этот гемор если есть МК? Только люди вообще не имеющие понятия о программировании так будут делать.
В нормально реализованной процедуре программного подавления дребезга это можно сделать либо как Вы описали, либо просто опрашивая кнопки с некоей фиксированной частотой с периодом заведомо больше максимального времени дребезжания контактов. Обычно хватает 50Гц.

Этот момент уже многократно обсосан вдоль и поперёк на разных форумах. Но всё равно чайники так и продолжают лепить RC-цепочки на кнопки - это неизлечимо... o_O
 
  • Like
Реакции: =AK=

kab

New member
Да, и кстати: конденсатор - это всё-таки не фильтр. Фильтр - это RC-цепочка.
Знаете, зачастую складывается так, что разные конкретные правила - "что такое хорошо, что такое плохо" - имеют, всё-таки, ограниченную область применения. Я сторонник того, что заниматься техническим творчеством (хобби) надо, ограничивая себя минимумом правил (которые являются незыблемыми для профессионалов). Это круто, весело и доставляет гораздо больше удовольствия :).

Естественно, правил - "не суй пальцы в розетку" и "не подавай высокое напряжение на электролит в неправильной полярности - он взорвётся" - это не касается. Это соблюдать надо...

:DПравда, старые электрики иногда учат молодых: "Прежде чем проверять пальцем, ноль или фаза на проводе, на палец надо поплевать, чтобы контакт был лучше":D Шутка
 
Сверху Снизу