|
Засунуть TCP в UART, как скрестить ecp8266, (lpc1768) и RL-ARM - TCPnet |
|
|
|
Feb 16 2016, 07:34
|
Частый гость
 
Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133

|
Цитата(evgen2 @ Feb 15 2016, 12:28)  Но если бы получилось скрестить, было бы весьма симпатично... Речь ведь идет о ESP8266? Статей с примерами и готовыми проектами достаточно. Из Вашего поста так и не понял что именно нужно получить. Подробно и внятно описанная задача - это уже половина решения.
Сообщение отредактировал bugdesigner - Feb 16 2016, 07:35
|
|
|
|
|
Feb 16 2016, 19:41
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 1-04-06
Пользователь №: 15 688

|
Цитата(bugdesigner @ Feb 16 2016, 10:34)  Речь ведь идет о ESP8266? Статей с примерами и готовыми проектами достаточно. Из Вашего поста так и не понял что именно нужно получить. Подробно и внятно описанная задача - это уже половина решения. во-первых, стандартная прошивка ESP8266 не позволяет сделать вебсервер, во-вторых, имеющиеся примеры и готовые проекты связаны исключительно с ESP8266, тут же речь о внешнем по отношению к ESP8266 контроллеру, у которого уже есть вебсервер, который работает через Эзернет и библиотеку RL-ARM - TCPnet. В стандартной прошивке ESP8266 есть команды: "создать сервер на порту X", "получить N байт от клиента Y" (на этом порту), "Передать N байт клиенту Y". Можно было бы взять полностью готовый какой-нибудь easyweb, но зачем умножать сущности? В библиотеке RL-ARM - TCPnet сервер уже есть, надо только найти где вход и где выход :-( Цитата(uriy @ Feb 16 2016, 13:25)  Похоже надо сделать веб сервер на хост микроконтроллере, который соединяется с ESP8266 через uart. Что-то попадалось такое для ардины, попробуйте загуглить. Также есть проекты вебсервера прямо внутри ESP8266. Как просто сделать веб сервер на хост микроконтроллере, который соединяется с ESP8266 через uart. - понятно. Непонятно как использовать для этой цели уже готовый вебсервер, который уже есть и соединяется с внешним миром через эзернет и RL-библиотеку
|
|
|
|
|
Feb 17 2016, 10:45
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(AlexandrY @ Feb 17 2016, 00:37)  По моему очевидно, что это сделать невозможно. У ESP8266 примитивный набор AT команд не поддерживающий PPP В штатной прошивке действительно все работает тока через АТ команды, но ведь можно создать свою прошивку для ESP, которая будет работать с внешним МК так, как нужно. Есть даже готовая прошивка, чтобы писать софт на ESP8266 в среде Arduino  Другое дело - если в самой ESP есть TCP стек, то зачем сверху городить во внешмем МК другой? Если очень хочеться, то можно в ESP использовать, например, тока UDP, т.е. разбирать TCP/IP пакеты от внешнего контроллера с его стеком и отправлять их под UDP, используя ESP просто как UDP-мост. Для конфигурации ESP можно запустить отдельный UDP порт и его юзать во внешнем МК (ну, логины, пароли или даже АТ команды туда упаковать). Т.е. в принципе ничто не мешает юзать оба стека, тока нужно удобно выбрать тот "разрез", который устроит работу обоих стеков друг с другом.
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Feb 17 2016, 15:06
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 24-02-12
Пользователь №: 70 435

|
Пробовал поднимать веб-сервер через АТ-команды. Если интересно могу откопать исходники. Бросил это дело, так как работает такое ровно до тех пор, пока на странице не появляется больше 3х картинок/скриптов/css стилей. Браузер шлет запросы почти одновременно, и часть запросов пропускается самой ESPшкой. Вроде есть альтернативные прошивки, но мне было лень разбираться, поэтому задачу решил без веб-сервера.
|
|
|
|
|
Feb 17 2016, 15:52
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Forger @ Feb 17 2016, 16:45)  Если очень хочеться, то можно в ESP использовать, например, тока UDP, т.е. разбирать TCP/IP пакеты от внешнего контроллера с его стеком и отправлять их под UDP, используя ESP просто как UDP-мост. Если будете использовать UDP, то только UDP и получите. Веб-сервер при этом никакой не поднимете. Если конечно исключить вариант запуска спец.приложения на каком-то хосте, с кем будет коннектится изделие на ESP8266 (хоть по UDP хоть по TCP-сокету), серверный порт будет открыт на том хосте, а все данные и служебные события будут пробрасываться через туннель хост<->ESP. Вообще, имхо, судя по командам ESP8266, ничто не мешает поднять на нём веб-сервер (AT-командами). Хотя я не работал на нём в режиме сервера, а создавал только клиентские сокеты с него. Но работало стабильно, часами и потоки неплохие передавались. Цитата(Forger @ Feb 17 2016, 16:45)  Т.е. в принципе ничто не мешает юзать оба стека, тока нужно удобно выбрать тот "разрез", который устроит работу обоих стеков друг с другом. Бред какой-то. Стек стеком погоняет.....
|
|
|
|
|
Feb 17 2016, 17:31
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(jcxz @ Feb 17 2016, 18:52)  Если будете использовать UDP, то только UDP и получите. Веб-сервер при этом никакой не поднимете. Имеется ввиду самые сырые пакеты, каторые сыпятся в обычных eth девайсах в ETHERNET дравер трансивера. UDP - для примера работа. Где именно "разрезать" - надо самому решать. Фактически нужно разгрузить ESP, заставив его тока гонять голые пакеты, а все остальное пусть разруливает стек на внешем МК. Цитата Если конечно исключить вариант запуска спец.приложения на каком-то хосте, с кем будет коннектится изделие на ESP8266 (хоть по UDP хоть по TCP-сокету), серверный порт будет открыт на том хосте, а все данные и служебные события будут пробрасываться через туннель хост<->ESP. Тоже вариант ))) Цитата Бред какой-то. Стек стеком погоняет..... И что с того? © Вам шашечки или ехать? Ведь нужен результат, рабочий стабильный результат, я считаю, что тут это решаемо вполне ))
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Feb 18 2016, 09:01
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Forger @ Feb 17 2016, 23:31)  Имеется ввиду самые сырые пакеты, каторые сыпятся в обычных eth девайсах в ETHERNET дравер трансивера. Нет в ESP8266 никаких сырых пакетов и тем более Ethernet. По-крайней мере в стандартных прошивках и альтернативных которые я видел. Есть только TCP-сокеты и UDP. Хотя возможно можно написать свою прошивку для него Цитата(Forger @ Feb 17 2016, 23:31)  Ведь нужен результат, рабочий стабильный результат, я считаю, что тут это решаемо вполне )) Если перепишете прошивку ESP8266 - будет решаемо.
|
|
|
|
|
Feb 18 2016, 09:34
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 1-04-06
Пользователь №: 15 688

|
Цитата(Forger @ Feb 17 2016, 13:45)  В штатной прошивке действительно все работает тока через АТ команды, но ведь можно создать свою прошивку для ESP, которая будет работать с внешним МК так, как нужно. Есть даже готовая прошивка, чтобы писать софт на ESP8266 в среде Arduino  Другое дело - если в самой ESP есть TCP стек, то зачем сверху городить во внешмем МК другой? Хочется не к ESP прикрутить внешний МК, а ровно наоборот - к МК прикрутить внешний ESP и использовать ESP для транспорта TCP пакетов к уже готовому веб-серверу и не заниматься изобретением велосипеда Цитата(jcxz @ Feb 18 2016, 12:01)  Есть только TCP-сокеты и UDP. ну так TCP сокеты на 80-ом порту - это и есть веб-сервер. Надо только решить задачу по имитации оргазма получения-передачи данных с уарта в эзернет Цитата(Forger @ Feb 17 2016, 13:45)  Если очень хочеться, то можно в ESP использовать, например, тока UDP, т.е. разбирать TCP/IP пакеты от внешнего контроллера с его стеком и отправлять их под UDP, используя ESP просто как UDP-мост. с этим проблем нет - просто скармливаем данные с уарта в колл-бек от UDP.. а вот от HTTP коллбеков библиотеке несколько и непонятно, что, где и куда нужно кормить...
|
|
|
|
|
Feb 18 2016, 11:04
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(evgen2 @ Feb 18 2016, 15:34)  ну так TCP сокеты на 80-ом порту - это и есть веб-сервер. Веб-сервер это HTTP-протокол, реализуемый поверх TCP. Сервер открывает TCP-порт в пассивном режиме. И не обязательно 80-й. Любой. Цитата(evgen2 @ Feb 18 2016, 15:34)  с этим проблем нет - просто скармливаем данные с уарта в колл-бек от UDP.. а вот от HTTP коллбеков библиотеке несколько и непонятно, что, где и куда нужно кормить... Ещё раз: UDP не имеет никакого отношения к HTTP-протоколу, как и к TCP-протоколу. RTFM наконец-то!
|
|
|
|
|
Feb 18 2016, 16:27
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 1-04-06
Пользователь №: 15 688

|
Цитата(jcxz @ Feb 18 2016, 14:04)  Веб-сервер это HTTP-протокол, реализуемый поверх TCP. Сервер открывает TCP-порт в пассивном режиме. И не обязательно 80-й. Любой.
Ещё раз: UDP не имеет никакого отношения к HTTP-протоколу, как и к TCP-протоколу. RTFM наконец-то! Уважаемый, мы тут не азы http/tcp/udp обсуждаем, а конкретную реализацию, которая привязана к конкретной библиотеке. Можете что-нибудь сказать по заявленной в топике теме?. ЗЫ: Вообще ожидалось, что ответы могут быть * я так делал..... * в рамках библиотеки RL-ARM - TCPnet - никак, не парься и переходи на.... * изобретай велосипед в виде двух отдельных вебсерверов * делай вебсервер на ecp8266, а с контроллером обменивайся сообщениями
Сообщение отредактировал evgen2 - Feb 18 2016, 16:33
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|