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

Возможна ли прямая связь между Esp8266 и Esp8266?

Legantmar

New member
Возможна ли прямая связь между двумя esp8266 (возможно по схеме esp8266 - роутер Wi-Fi - esp8266) ?
Для чего это нужно:
1-ый модуль esp8266 и датчик движения
2-ой модуль esp8266 и реле включения
(аля "радиоудлинитель" между датчиком движения и реле)
p.s. т.е. первый следит, второй исполняет.. обмениваются сами друг с другом без компьютера, ардуино, смартфонов и др. управленцев
 

Andy Korg

Moderator
Команда форума
возможно, но если расстояние небольшое, то лучше использовать например nRF24L01
 

Legantmar

New member
Andy спасибо за ответ.
Я правильно понимаю, что у nRF24L01 нету GPIO, а то только SPI интерфейс ?
следовательно, чтобы включить релюшку или считать данные с датчика движения нужно еще подключать ардуино?
все таки можно где-то почитать про прямую связь двух esp8266 ?
 

igrushkin

Member
пишите идентичный скрипт "веб-сервер + get запросы", заливаете на обе машинки и вуаля.
Пример есть на adafruit
 

Andy Korg

Moderator
Команда форума
Я правильно понимаю, что у nRF24L01 нету GPIO, а то только SPI интерфейс ?
Совершенно верно, придется что-то ставить еще для согласования. Например вот так. Основное преимущество такого решения в очень низком потреблении по сравнению с esp.
 

PostLast

Member
Andy Korg,
Можете сравнить реальную помехоустойчивость и дальность связи дуэта из ESP-01 и дуэта nRF24L01 ?
Пара ESP-01 в напрочь завайфаеном помещении без единого свободного канала около 30 метров с картонной стеной пробивала. Про нордика читал, что в дальних углах комнаты почти не работал. Для нордика речь идет о варианте с печатной антенной или о nRF24LЕ
 

Andy Korg

Moderator
Команда форума
Можете сравнить реальную помехоустойчивость и дальность связи дуэта из ESP-01 и дуэта nRF24L01 ?
Не могу к сожалению, не задавался такой целью. Основное преимущество решения на nRF24 в очень низком потреблении по сравнению с esp.
 

Legantmar

New member
Продолжаю разбираться в этом вопросе.
На сегодня удалось установить связь между esp клиентом и esp сервером через softAP режим
НО проблемы следующие:
1) вместо указанной запароленной сети, сервер создает открытую с произвольным именем в виде ESP_07800А (поэтому пришлось ее прописать в клиенте)
2) почему то передается (или принимается только одна команда) LED/1 (сервер ее пишет в серийный порт) - почему не чередуются LED/1 и LED/0 ? (светодиод на клиенте мигает)
исходники для клиента и сервера https://yadi.sk/d/lIFgR00PmqfA3
помогите разобраться
Задача: посылать "блинк" с клиента (реакция датчика движения), а на сервере чтобы моргал светодиод (любой на любом GPIO) получая команды включить GPIO/выключить GPIO (LED/1 и LED/0 соответственно)
 

igrushkin

Member
2) почему то передается (или принимается только одна команда) LED/1 (сервер ее пишет в серийный порт) - почему не чередуются LED/1 и LED/0 ? (светодиод на клиенте мигает)
пробежался мельком. А почему client.flush() закоменчен? Вот другие команды и не принимаются
 

Legantmar

New member
пробовал итак, итак и этак.. и переставлял и добавлял этот флуш в разные места, что он делает кстати? (очищает от мусора?)
мне бы разобраться с принципом отправки client.print и приемки client.read
 

igrushkin

Member
принцип? судя по всему, такой же как в Serial. А уж по serial документации вагон
 

Юрій

New member
Вопрос из этой же темы
Использовал примеры скриптов приведенных выше.
На сколько я понимаю сервер работает (Когда из компа присоединяюсь к сети и вручную в адресную строку ввожу команды, он реагирует на них)
Проблема с клиентом
К WiFi сети он подключаются, а от как клиент сервера, нет((
Возможно, кто то подскажет, в чем проблема?
Файлы с скриптами сервера и клиента прилагаю.
На сколько я понимаю, проблема не в IP, потому что когда вручную с браузера по нему обращаешься, все работает (к примеру эта строчка в адресной строке браузера "http://192.168.4.1//led/0/r" включает светодиод)
Буду очень благодарен за помощь.
 

Вложения

Последнее редактирование:

Юрій

New member
Сериал выводит ошибку подключения как клиент
upload_2016-2-15_20-41-15.png
Это происходит до строчки "client.print("/led/0\r");"
 

fandy

Member
Не знаю по теме или нет. Я работаю со связкой с Ардуино. У меня тоже была странная проблема. На TCP сервер поднятый не на softAP ESP-01 могу зайти с компьютера, но не получалось с другой ESP. Решение оказалось для меня несколько неожиданным. Нужно на клиенте после соединения с WiFi сеткой поменять текущий MAC адрес. И после соединяется с TCP без проблем. Можно даже поменять MAC и прошить во флеш, но после перезагрузки опять не войдет. Нужно поменять на отличающийся от зашитого.
Такое вот шаманство.
 
Последнее редактирование:

Юрій

New member
Очень интересно
Возможно подскажете как изменить МАС из самой ESP без АТ каманд?
Я просто использую её без Ардуины
 

fandy

Member
Я то работаю снаружи через AT. Наверное можно.
Говорю же, что может не совсем по теме..
Да, проблема возникла только когда сервер работает на клиенте, то есть входим во внешнюю WiFi сеть. Если на своей точке доступа, то с ним с другой ESP-хи соединение устанавливается без проблем.
 

Тодор

New member
Здраствуйте! Я нашьол в интернет пример у которого можно свезат два ESP8266. Один как сервер а другой как клиент. Клиент можно отправит сообщение к сервера. Но я не знаю как сделаю возможностъ сервер ответит на клиентом. Извините за ошибок, но я из болгарии.
 

Тодор

New member
Здраствуйте! Я нашьол в интернет пример у которого можно свезат два ESP8266. Один как сервер а другой как клиент. Клиент можно отправит сообщение к сервера. Но я не знаю как сделаю возможностъ сервер ответит на клиентом. Извините за ошибок, но я из болгарии.
 

soznik

New member
Интересная тема . Кто-нибудь нашел решение? Надо отправить состояние переменной 0 или 1 на вторую ESP.
 

Вложения

Сверху Снизу