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

Вопрос TCP протокол

Zvezdochot

New member
Здравствуйте. Извините меня нубского, но соизвольте помочь.
В общем я начал "изучать" ЕSP модуль. Даже смог веб сервер примитивный запустить. Работаю в среде Arduino IDE.
Следующий шаг - хочу сделать TCP сервер и TCP клиент.
Задача состоит в том что на компе будет прога, которая будет по данному протоколу "общаться" с модулем. Но как бы примеров в среде готовых нет, на форуме этот вопрс тоже редко поднимался...
В общем ищу инфу/примеры как можно реализовать TCP сервер/клиент в среде Arduino IDE.
Подкиньте кто что может, буду благодарен)
 

shuraf

Member
HTTP, mqtt, сокеты, Web - это в ваших рассуждениях в голове проскакивало?
 

Zvezdochot

New member
HTTP, mqtt, сокеты, Web - это в ваших рассуждениях в голове проскакивало?
Я знаю что ТСР можно реализовать через АТ команды со стандартной прошивкой. Более чем уверен что для среды Arduino IDE тоже есть решение.
Раньше я не имел делов с програмированием. И сейчас читать про кучу протоколов не настроен.
 

Arthur

Active member
Здравствуйте. Извините меня нубского, но соизвольте помочь.
В общем я начал "изучать" ЕSP модуль. Даже смог веб сервер примитивный запустить. Работаю в среде Arduino IDE.
Следующий шаг - хочу сделать TCP сервер и TCP клиент.
Задача состоит в том что на компе будет прога, которая будет по данному протоколу "общаться" с модулем. Но как бы примеров в среде готовых нет, на форуме этот вопрс тоже редко поднимался...
В общем ищу инфу/примеры как можно реализовать TCP сервер/клиент в среде Arduino IDE.
Подкиньте кто что может, буду благодарен)
Легко - запускаете Arduino IDE и...




 

shuraf

Member
Я знаю что ТСР можно реализовать через АТ команды со стандартной прошивкой. Более чем уверен что для среды Arduino IDE тоже есть решение.
Раньше я не имел делов с програмированием. И сейчас читать про кучу протоколов не настроен.
А придётся.
Что вы хотите реализовать?
Малая доля того что вам перечислили является TCP. И все это требует разного подхода к реализации.
 

Arthur

Active member
А придётся.
Что вы хотите реализовать?
Малая доля того что вам перечислили является TCP. И все это требует разного подхода к реализации.
Человек просто хочет "одну большую красную кнопку". Чтобы за него и прочли и за него сделали и ему нужно было нажимать только одну кнопку, а всё остальное считывал бы есп мысленно и выполнял.
 

shuraf

Member
Не, тогда esp не потянет. Надо смотреть realtek, там говорят начинка круче, может хоть с ней допилят ИИ.
 

Zvezdochot

New member
Извиняюсь. Походу я не так обьяснил.
Ситуация такова: Я взял пример (.NET и C# | Клиент-серверное приложение на потоковом сокете TCP), разобрался что там и зачем. Потом сделал 2 проги. 1 - клиент. С графическим интерфейсом, все гуд, бла бла бла. 2 дня на нее потратил. И прога2 - сервер. С сервером проще - консольная прога, которая генерит ответы на прописаные запросы.
В проге1 - кроме TCP есть еще другие методы связи (юарды), так как подключено несколько вообще разных устройств. С ними тоже все хорошо работает.
А теперь есть устройство которое я не могу физически к компу подключить. Поэтому было решено поключить к нему ESP.
Поковырявшись - я смог "поднять" на модуле веб сервер, который гет запросы передает в сериал (юард), а потом от устройства получает ответ и выкидывает его на веб страницу.
Все как бы работает, но увы, я не очень хочу еще разбиратся, как в шарпе делать гет запросы на определенные сервера и как получть и них инфу.
Поэтому мне желательно сделать ТСР сервер, к которому я подключусь из проги-клиента по ір и порту ESPшки. И в принципе я нашел примеры с использованием АТ команд. Но увы, устройство к которому я подключаю через сериал ESPшку имеет законченый вид. Я не могу там переписать код, чтобы оно могло управлять ESPшкой через АТ команды.
Я начал искать примеры ТСР сервера/клиента ESPшки в среде Arduino IDE. Не нашел как там их настроить, как порт задать. Может конечно я не туда смотрел или не так искал. Тыкните пальцем, мол "вот тебе пример, там написано куда прописать ір, порт, как получать запросы, как делать ответы".
Ой. Забыл сказать что мне нужно иметь и ESPшку сервер, и ESPшку клиента. Чтобы я мог с ESPшки клиента делать запросы на ESPшку сервер как с пк.
Все устройства находятся в 1 сети без выхода в интернет.

Ребята, не нужно в меня помидоры бросать. Я не програмист, и никогда им не был. Я многое не понимаю. Но как бы мне и не нужно. Главное для меня - результат. (Учить новый язык програмирования, читать кучу литературы, изучать новые протоколы, бла бла бла - мне не интересно и нет времени). Занимаюсь этим в качестве хобби. После работы приду и вместо танчиков сажусь провода крутить.
Спасибо за содействие.
 

shuraf

Member
У меня тоже хобби ))) Днём атомные станции запускаю, а вечером с сыном "проволочки на esp-пешки крутим"
А книжки все равно придётся читать и разбираться. У кого-то тут в подписи было типа чтобы получить ответ, надо задать правильный вопрос, а для этого надо знать большую часть ответа.
Я начинаю догадываться что ты хочешь, но пока мои познания сузили количество вариантов решения до десятка и не факт что я угадал.
Попробуй нарисовать схему, с потоками информации и протоколами.
*Мне кажется у тебя что-то дельное, поэтому хочется помочь.
 

Arthur

Active member
У меня тоже хобби ))) Днём атомные станции запускаю, а вечером с сыном "проволочки на esp-пешки крутим"
А книжки все равно придётся читать и разбираться. У кого-то тут в подписи было типа чтобы получить ответ, надо задать правильный вопрос, а для этого надо знать большую часть ответа.
Я начинаю догадываться что ты хочешь, но пока мои познания сузили количество вариантов решения до десятка и не факт что я угадал.
Попробуй нарисовать схему, с потоками информации и протоколами.
*Мне кажется у тебя что-то дельное, поэтому хочется помочь.
А мне лично не интересно помогать, когда человек читать не хочет и когда видишь фразы вроде.
Но как бы мне и не нужно. Главное для меня - результат. (Учить новый язык програмирования, читать кучу литературы, изучать новые протоколы, бла бла бла - мне не интересно и нет времени).
Раз не нужно, так не нужно...
 

Zvezdochot

New member
У меня тоже хобби ))) Днём атомные станции запускаю, а вечером с сыном "проволочки на esp-пешки крутим"
А книжки все равно придётся читать и разбираться. У кого-то тут в подписи было типа чтобы получить ответ, надо задать правильный вопрос, а для этого надо знать большую часть ответа.
Я начинаю догадываться что ты хочешь, но пока мои познания сузили количество вариантов решения до десятка и не факт что я угадал.
Попробуй нарисовать схему, с потоками информации и протоколами.
*Мне кажется у тебя что-то дельное, поэтому хочется помочь.
Вот нарисовал что мне нужно.
Каждая ЕSP соедена со своим контролерром. Общение проходит только через ЕSP. Комп - то типа сервер.
ЕSP_1 - работает в режиме клиента. Подключется к TCP-серверу на компе.
ЕSP_2 - работает в режиме сервера TCP и веб сайта. К ТСР серверу поключается комп (как ТСР клиент) и 1 устройтво. Только когда им необходимо. Веб интерфейс нужен для того, чтобы можно было вносить изменения из левых устройст (без спец прог, итернета).
ЕSP_3 - устройство работает так же как ЕSP_1, только обращается вместо компа к ЕSP_2.
На компе поднят веб сервер, чтобы можно было через веб интерфес мониторить всю систему вместе
Сделано это так для того, чтобы если отсутсвует какая то часть то остальная периферия работает.
Задача ЕSPшок - принять то что приходит по ТСР и отправить в сериал. Потом получить ответ по сериалу и отправлять его по ТСР.
Все как бы просто должно быть...
 

Zvezdochot

New member
@Arthur, спасибо за Ваш "бесценный" вклад. Хорошо что Вы поняли что я не имею желания учить несколько языков программирования, учить особенности всех протоколов общения и последующих их модификаций для того, чтобы однажды реализовать в "10 строчках" кода то, что реализуется несколькими кмандами на стандартной прошивке.
И хорошо что Вы поняли, что я не прошу Вас сделать вместо меня "работу".
Единственное что я прошу - это ссылки на источники (пример) реализации этого (Работа с ESP8266: Первоначальная настройка, обновление прошивки, связь по Wi-Fi, отправка-получение данных на ПК) через среду Arduino IDE. Ибо я дно и не знаю что и где ищу.
 

Arthur

Active member
@Arthur, спасибо за Ваш "бесценный" вклад. Хорошо что Вы поняли что я не имею желания учить несколько языков программирования, учить особенности всех протоколов общения и последующих их модификаций для того, чтобы однажды реализовать в "10 строчках" кода то, что реализуется несколькими кмандами на стандартной прошивке.
И хорошо что Вы поняли, что я не прошу Вас сделать вместо меня "работу".
Единственное что я прошу - это ссылки на источники (пример) реализации этого (Работа с ESP8266: Первоначальная настройка, обновление прошивки, связь по Wi-Fi, отправка-получение данных на ПК) через среду Arduino IDE. Ибо я дно и не знаю что и где ищу.
Вы просто не хотите, видимо, видеть, что Я Вам скинул решение уже готовое.
 
Сверху Снизу