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

Передача данных между несколькими ESP8266

JustACat

Moderator
Команда форума
Ах да, в принципе в качестве "конструктора" (если под андроид) можно использовать и Tasker: https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm и вот на 4pda про него: http://4pda.ru/forum/index.php?showtopic=173935
Довольно мощная штука, в которой много чего на телефоне можно автоматизировать вообще без программирования. И даже некие приложения с кнопками можно собирать...
 

JustACat

Moderator
Команда форума
Еще про ваш конкретно случай можно почитать про так называемые ВебСокеты - WebSockets (что это такое и статья на хабре).
Но правда суть остается та же почти. То есть JS там все равно используется, но, возможно, вам это покажется более простым. На самом деле организация довольно простая (как по мне).
Посмотрите статью на хабре и поищите сами что-нибудь на тему.
 

Casper

Member
Добрый день. Интересует общение с несколькими модулями esp(клиент), подключаться они планируются к роутеру wr3020 OpenWRT (CyberWRT) на нем будет веб сервер и БД, который будет выступать в качестве главного устройства(сервер). Обмен информации будет построен по принципу запрос, ответ. Сервер через определённый промежуток времени посылает запрос данных клиенту, клиент в свою очередь ему отвечает. Когда на стороне клиента происходит некое чрезвычайное событие, он должен отослать сообщение серверу.
Первое что пришло в голову это сделать на протоколе TCP. Все устройства клиент и сервер выступают в качестве TCP сервера. Когда серверу придёт время для запроса данных от клиентов, то он переходит в режим TCP client, подключается к TCP server клиента и происходит обмен данных, по окончанию разрывает соединение. И так с каждым устройством.
Второй вариант это через http get запросами. С этим вариантом я немножко плаваю. ESP в качестве чего должен выступать, что бы он принимал get запросы и их отправлял. Так же переключаться между Web server, web client? Так же находил информацию про Websocket.
Подскажите пожалуйста, в каком направлении лучше идти?
Программирую avr в Atmel Studio. Для программирования esp смотрю в сторону Arduino IDE, т.к. раньше начинал с Arduino изучать МК)) ESP в большинстве случаях будет работать совместно с avr для передачи информации. А между собой по UART общаться.
 

Victor

Administrator
Команда форума
Подскажите пожалуйста, в каком направлении лучше идти?
Предлагаю рассмотреть вариант с mosquitto на OpenWRT. Для mqtt есть библиотека для Arduino IDE PubSubClient - отлично работает на ESP8266. Для записи в базу можно использовать mqttwarn (если хватит места для python и модулей). Если mqtt по каким-то причинам не подходит, то посмотрите aREST вашу задачу это частично решает.
 

Andy Korg

Moderator
Команда форума
...Сервер через определённый промежуток времени посылает запрос данных клиенту, клиент в свою очередь ему отвечает....
Че-то слух режет "Сервер ....посылает запрос ...клиенту". Возможно это не очень хорошо.
 
JustACat, Следуя Вашим инструкциям все получилось на удивление легко. Два ESP передают и принимают друг другу данные. Отсюда возникло еще несколько вопросов:
1. Возможно ли одним ESP управлять сразу,например, тремя разными ESP?
2. Возможно ли одним ESP управлять другим ESP(или несколькими) через домашний роутер?
3.Какой механизм организации Web-сервера (HTTP) на ESP?
Просмотрел все примеры в списке ,но не смог подобрать для себя ничего подходящего,так как пишу только простенький код на бейсике, а там и Lua,и С,и ардуино. У меня более-менее получается управлять с помощью АТ команд, есть некоторый опыт в написании кода управления для GSM модулей Simcom и Neoway,правда команд там гораздо больше.
Просветите,если несложно,или может направите на правильные ресурсы.
Поделись пожалуйста скейчем на приемник и передатчик мне надо собрать такую же схему. Заранее благодарен.
 
Сверху Снизу