Все свои ардуиновские поделки перевел на ESP, потому как среда программирования одна плюс на борту ВайФай. ВиФи позволяет легко подключить смартфон в качестве монитора, но самое главное, модуль можно программировать по воздуху и это перевесит все минусы ЕСПшки.
Но! Свободных GPIO у любой модификации ЕСП катастрофически мало. Из десяти доступных, половину можно использовать с большими оговорками. Приходится устанавливать расширители портов, а это еще те костыли. Библиотеки тоже надо искать заточенные под ЕСП. Сама ЕСП работает от 3.3В поэтому еще желательно прикрутить согласователи логических уровней. Правда китайские ребята давно интегрировали ЕСП в отдельные модули с ИП на 5В, встроенным программатором и соответствующей обвязкой. У меня с десяток простеньких ЕСП так и валяются без дела.
Вот таки основные плюсы и минусы для тех кто думает переходить или нет с Ардуины на ЕСП.
Все свои ардуиновские поделки перевел на ESP, потому как среда программирования одна плюс на борту ВайФай. ВиФи позволяет легко подключить смартфон в качестве монитора, но самое главное, модуль можно программировать по воздуху и это перевесит все минусы ЕСПшки.
Но! Свободных GPIO у любой модификации ЕСП катастрофически мало. Из десяти доступных, половину можно использовать с большими оговорками. Приходится устанавливать расширители портов, а это еще те костыли. Библиотеки тоже надо искать заточенные под ЕСП. Сама ЕСП работает от 3.3В поэтому еще желательно прикрутить согласователи логических уровней. Правда китайские ребята давно интегрировали ЕСП в отдельные модули с ИП на 5В, встроенным программатором и соответствующей обвязкой. У меня с десяток простеньких ЕСП так и валяются без дела.
Вот таки основные плюсы и минусы для тех кто думает переходить или нет с Ардуины на ЕСП.
Да, это вполне логично.
Возможно я тоже так со временем поступлю.
Как с надежностью у ESP? Слышал, что они менее стабильны, чем АТМега?
Еще вроже новый чип вышел ESP32? Его пока активно не используют?
А как работают расширитель портов? Есть такие для цифровых пинов? Где можно почитать?
Как с надежностью у ESP? Слышал, что они менее стабильны, чем АТМега?
Еще вроже новый чип вышел ESP32? Его пока активно не используют?
А как работают расширитель портов? Есть такие для цифровых пинов? Где можно почитать?
C надежностью у ЕСП для HOME USES вполне себе нормально. Для программирования можно использовать как язык LUA + esplorer, так и Arduino IDE (среда разработки) и язык Wiring (почти С++). LUA и Wiring между собой несовместимы и подходы к программированию у них разные. По энергопотреблению ЕСП весьма не батарейный вариант в отличии от ATMEGA 328. При программировании ЕСП можно (ну это наверное новичек не осилит) только в первый раз через усб->сом преобразователь залить скетч с ОТА (OwerTheAir), потом ЕСП можно будет программировать "по воздуху"
ESP32 это 2хЕСП8266 ;). он сильно дороже (от $7) и на него пока совсем ничего нет в плане прикладного софта.
Расширитель портов - это микросхема которая подключается к МК по 2м проводам (шина I2C), а с другой стороны имеет 8 ножек, которые могут работать как порты ввода вывода. Классическим примером расширителя является PCF8574 - микросхема, которая используется для подключения широко известных (в узких кругах ардуинщЕгов) экранчиков LCD1602 по 2м проводам (I2C). Без расширителя требуется 8 портов (пинов) I/O - экономия пинов налицо.
Я теперь уже понимаю, что ESP8266 вполне себе микроконтроллер, но все таки решил пока на Arduino сосредоточиться.
Может быть есть где-то скейч, который подойдет в моем случае? Мне нужно подключить Ардуино к RemoteXY или аналогам.
Блинк и IoT Manager уже смотрел, но пока с ними не разобрался и не понял, чем они лучше/хуже RemoteXY. Так же буду благодарен толковым ссылкам по этой теме. ЛУчше с текстом, на видео у меня мало времени.
Я ж вам советовал - посмотрите у Третьякова. У него все разжевано "для чайников" на примере управления всей техникой (Люстра, ТВ, и.т.д) в комнате посредством одной ЕСП. И примеры готовых скетчей (которые в уроках) под видео в архивах лежат.
Про "мало времени" учтите - никто за вас ваши хотелки просто так бесплатно делать не будет. Раз уж взялись ищите время и читайте.
А зачем XTCOM_UTIL и ESPlorer? Разве нельзя Arduino IDE пользоваться?
А это смотря как использовать. Саму прошивку в ESP заливаю XTCOM_UTIL (вроде и еще чемто можн). Прошивки бывают разные: для работы AT-командами (т.е. по типу WiFi модема) через uart; nodemcu для исполнения скрипта на луне (мой случай). А можна писать из ардуиновского ИДЕ свою "прошивку", тогда прямо заливается, без XTCOM_UTIL и ESPlorer. Но такой подход поxти исключает удаленную смену софта по WiFi. В общем 3 варианта - выбирай что нравится)
В своем проекте - все так, как вы написали - иногда бывает нужен проводок (проект на ардуине), а вот у хомес смарт прошивки вроде стабильная ота (я не знаю на чем она писана, т.к. платная и закрытая, но похоже на LUA). Я где-то читал, уже не помню где, что вроде кусок кода, отвечающий за ОТА, должен располагаться в отдельной области флэшь, сразу за SDK, и при перепрошивке не должен затрагиваться. Т.е. обновлятся должна тока область с программой юзверя. Но это так походу тока для LUA. Ардуина пишет все сплошь. Хотя могу и ошибаться - поправтье если не прав.
вроде кусок кода, отвечающий за ОТА, должен располагаться в отдельной области флэшь, сразу за SDK, и при перепрошивке не должен затрагиваться. Т.е. обновлятся должна тока область с программой юзверя. Но это так походу тока для LUA. Ардуина пишет все сплошь. Хотя могу и ошибаться - поправтье если не прав.
C надежностью у ЕСП для HOME USES вполне себе нормально.
т.е. все таки ниже чем у Атмеги? ) Есть проекты, в надежности которых хотелось бы быть уверенным.
Цитата:
Для программирования можно использовать как язык LUA + esplorer, так и Arduino IDE (среда разработки) и язык Wiring (почти С++). LUA и Wiring между собой несовместимы и подходы к программированию у них разные.
Может поэтому не стоит с ЕСП начинать? Большой выбор - больше проблемм.
Цитата:
При программировании ЕСП можно (ну это наверное новичек не осилит) только в первый раз через усб->сом преобразователь залить скетч с ОТА (OwerTheAir), потом ЕСП можно будет программировать "по воздуху"
Где-то видел проект (вроде умного дома), где автор объяснял как прошить ЕСП, что бы потом прошивки загружались с его сервера по WiFi. Читаю много разных источников одновременно, немного запутался, возможно даже здесь ссылку давали.
Так вот, вроде там не сложно было? Другой вопрос, что мне сейчас не это важно...
Цитата:
Расширитель портов - это микросхема которая подключается к МК по 2м проводам (шина I2C), а с другой стороны имеет 8 ножек, которые могут работать как порты ввода вывода. Классическим примером расширителя является PCF8574 - микросхема, которая используется для подключения широко известных (в узких кругах ардуинщЕгов) экранчиков LCD1602 по 2м проводам (I2C). Без расширителя требуется 8 портов (пинов) I/O - экономия пинов налицо.
Я ж вам советовал - посмотрите у Третьякова. У него все разжевано "для чайников" на примере управления всей техникой (Люстра, ТВ, и.т.д) в комнате посредством одной ЕСП. И примеры готовых скетчей (которые в уроках) под видео в архивах лежат.
Про "мало времени" учтите - никто за вас ваши хотелки просто так бесплатно делать не будет. Раз уж взялись ищите время и читайте.
Смотрел и еще буду смотреть, интересно )
За меня делать ничего не нужно, так не научишься. Я просил ссылки где можно читать, а не смотреть. Мне так удобнее.
А зачем XTCOM_UTIL и ESPlorer? Разве нельзя Arduino IDE пользоваться?
А это смотря как использовать. Саму прошивку в ESP заливаю XTCOM_UTIL (вроде и еще чемто можн). Прошивки бывают разные: для работы AT-командами (т.е. по типу WiFi модема) через uart; nodemcu для исполнения скрипта на луне (мой случай). А можна писать из ардуиновского ИДЕ свою "прошивку", тогда прямо заливается, без XTCOM_UTIL и ESPlorer. Но такой подход поxти исключает удаленную смену софта по WiFi. В общем 3 варианта - выбирай что нравится)
А подскажите пожалуйста, приехала вот такая плата, там вверху на модуле есть светодиод, как его заставить светиться? Перепробовал все gpio (0-16), а он молчит... дохлый или есть какая хитрость с ним?
А подскажите пожалуйста, приехала вот такая плата, там вверху на модуле есть светодиод, как его заставить светиться? Перепробовал все gpio (0-16), а он молчит... дохлый или есть какая хитрость с ним?
digitalWrite(LED_BUILTIN, LOW); включает диод *
digitalWrite(LED_BUILTIN, HIGH); выключает диод *
* будет работать если в платах выбрана правильная
на модуле ESP12E (скорее всего у вас именно он) светодиод катодом подключен к GPIO2 а анодом через резюк на +3v3. Поэтому, чтобы зажечь диод нужно записать ноль в gpio2
Забацал платку на версии девайса 01, частично запаял, ESP стартует, допаял - нестартует. Горит непрерывно синим "пламенем" светодиод. А ведь только GPIO2 через резисиор к базе подпаял. Даффай разбиратся, оказывается GPIO2 при старте должен быть в 1 ((( Ну хороше что в схемотехнике 1 при старте допускает. Но впаять резюк подтяжки между ножками CH_RD и GPIO2 было еще то развлечение.
Люди! Будте бдительны!
Про то, что при старте GPIO0 должен быть в 1 написано на каждом шагу, а проGPIO2 пошти нигде.
Выше постом вемос д1 мини - на мой взгляд самая удобная платформа в плане залить/попробовать + самая демократичная цена и самый (почти) компактный размер (в макетку входит)
У меня есть D1 но не мини, брал по цене в районе 200 рублей, мини надо брать в комплекте и уже не самое дешовое решение получается, модуль можно взять чуть дороже 100 рублей + пара резисторов, для законченного устройства переходник нужен один раз
Каждый выбирает по себе, женщину, судьбу или дорогу... )))
В этом случае в момент загрузки скетча он должен мигать.
Всё тлен. Поглядел через прибор увеличительный, а там верхнего стёклышка нет и усиков. Похоже светодиод сломан механически или то вообще не светодиод китайцы припаяли... )
Есть светодиодная лента где то ватт на 10-20.
Была ардуина нано и какой то полевик из БП компа, всё работает отлично.
Сейчас хочу управлять лентой с ESP8266-01, и там уже вывод даёт не 5В (ардуина), а 3.3 В которые может не хватить для полного открытия полевика.
Посоветуйте пожалуйтса полевик для управления светодиодной ленты 12 В ( до 2 А) и что бы полностью открывался при 3.3 В.
Завтра нужно ехать на рынок, а погуглив я больше запутался...
Я ж вам советовал - посмотрите у Третьякова. У него все разжевано "для чайников" на примере управления всей техникой (Люстра, ТВ, и.т.д) в комнате посредством одной ЕСП. И примеры готовых скетчей (которые в уроках) под видео в архивах лежат.
ESP8266-01, и там уже вывод даёт не 5В (ардуина), а 3.3 В которые может не хватить для полного открытия полевика.
Это не вся проблема. Еше выдает меньше ток и некоторые выводы требуют быть в 1 при включении. Выход - между полевиком и ESP транзисторный ключ - npn транзистор и несколько резисторов в обвязке. Ну и в софте учесть, что открывать полевик не 1 а 0.
Здравствуйте, "хакнул" 01 версию (добавил ещё 4 пина 9, 10, 12, 13). Но есть вопросик... Можно конечно перекличку устроить, но...
Подскажите таблицу соотвествия GPIO и пинов для программирования в ардиуно IDE.
IO2 это 14 pin чипа, к нему светодиод припаян у 12е, в ардуино это D2 (12, 12Е модули, Wemos, NodeMCU)
а как в ардуино выбрать 01 модуль?
в \Users\user_name\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\variants\ лежат файлики *.h c пинаутами различных модулей. Какой выберите при прошивке тот пинаут и будет.
15 должен быть притянут к земле (может быть у вас в 01 модуле он просто посажен на землю (там про это на картинке написано) наглухо без резистора) не могу утверждать потому как нету у меня модулей 01 и нету чертежа печатки. Вы цэшкой звякните пин 13 на землю
Властелины ESP, подскажите - существует ли для сабжа библиотечка (враппер) совместимая по синтаксису (или близкая) с Ethernet Library?
Имею проект, разработанный для W5100 (TCP Server only, траффик минимальный), хотелось бы добавить возможность выбирать между проводом и Wi-Fi. Портировать его целиком и тянуть потом два бранча бессмысленно. Отмотал в теме десяток страниц и понял, что общественность не находит смысла в соединении какой-нить Nano и ESP12. Но, может кто-то в курсе таких комбинаций - подскажите. Гуглеж, к сожалению, тоже особо не дал результатов - в основном попадается обмен через UART и AT-команды.
Властелины ESP, подскажите - существует ли для сабжа библиотечка (враппер) совместимая по синтаксису (или близкая) с Ethernet Library?
Нет.
sadman41 пишет:
Имею проект, разработанный для W5100 (TCP Server only, траффик минимальный), хотелось бы добавить возможность выбирать между проводом и Wi-Fi.
Сильно разные устройства W5100 по сути управления - набор регистров через которые все происходит. ESP - почти завершенное устройство с своей программой, портами и интерфейсами.
sadman41 пишет:
общественность не находит смысла в соединении какой-нить Nano и ESP12. Но, может кто-то в курсе таких комбинаций - подскажите. Гуглеж, к сожалению, тоже особо не дал результатов - в основном попадается обмен через UART и AT-команды.
Сходу у меня не завелась, пришлось повтыкать полдня, поразбираться с прошивками ESP. В целом работает. TCP есть, сервер отвечает, клиент куда надо ходит. До интеграции в свой код пока не дошёл.
Заточена под pre-v0.22 AT-прошивки (ESP8266 SDK < v1.0.0). В моем случае пришлось править ESP8266_AT.h b и навтыкать "_CUR" в часть строк.
Цитата:
Сильно разные устройства W5100 по сути управления - набор регистров через которые все происходит. ESP - почти завершенное устройство с своей программой, портами и интерфейсами.
Так в том-то и дело, что SDK открыто, в принципе - NodeMCU пилят. Даже на дурацкий ENC28J60 программный TCP/IP стек уже написали. И работает он в килобайте памяти. А в ESP всего побольше, память есть - буфер приличный можно организовать, ноги есть - дрыгай себе в SPI-style. Всяко удобней, наверное, регистры эмулировать, нежели заниматься парсингом и формированием строк. Да и со стороны мелкого MCU меньше оверхеда будет.
Нет, конечно, накатать такую прошивку мне не по силам, но явных непреодолимых препятствий для реализации (мало ног, тормознутость, отсутствие памяти), как я понимаю, нет.
Сильно разные устройства W5100 по сути управления - набор регистров через которые все происходит. ESP - почти завершенное устройство с своей программой, портами и интерфейсами.
Так в том-то и дело, что SDK открыто, в принципе - NodeMCU пилят. Даже на дурацкий ENC28J60 программный TCP/IP стек уже написали. И работает он в килобайте памяти. А в ESP всего побольше, память есть - буфер приличный можно организовать, ноги есть - дрыгай себе в SPI-style. Всяко удобней, наверное, регистры эмулировать, нежели заниматься парсингом и формированием строк. Да и со стороны мелкого MCU меньше оверхеда будет.
Нет, конечно, накатать такую прошивку мне не по силам, но явных непреодолимых препятствий для реализации (мало ног, тормознутость, отсутствие памяти), как я понимаю, нет.
Непреодолимым препятствием является отсутствие необходимости в выдаче наружу низкоуровневого функционала при наличии высокоуровневого. Какие нафиг регистры SPI если ESP реализует стек протоколов до HTTP и даже выше.
Цитата:
Всяко удобней, наверное, регистры эмулировать, нежели заниматься парсингом и формированием строк.
Шутите. Регистры эмулировать - дурная двойная работа. И работать с ними не удобней, хотяб потому что нада знать аппаратную специфику вместо АТ команд. И та либа, кстати, что Вы нашли, она из этой же серии гемороя - эмулирует TCP интерфейс поверх АТ, при том что сам АТ разумеется на TCP основывается. Но это неверно с точки зрения стека протоколов и, как следствие, геморно с практической точки т.к. специфика TCP при переходе к АТ теряется и вернуть её никак нельзя. АТ команды не обеспечивают 100% доступа к возможностям TCP. И TCP поверх него не полный, тормозной и скорей всего глючный будет.
Цитата:
Да и со стороны мелкого MCU меньше оверхеда будет.
Если сильно мелкий - выкинуть нахер и перенести функционал в ESP. Если средний - разделить функционал, комуникации в ESP а остальное в MCU, связь между ними по оригинальному протоколу. Это как раз похоже Выш случай был, надо в ESP прием вашего простенького протокола сделать и по UART (или SPI если он родней) гнать данные в контролер, а там уже, на уровне вашего протокола, и решать вопрос - провод или WiFi.
Шутите. Регистры эмулировать - дурная двойная работа. И работать с ними не удобней, хотяб потому что нада знать аппаратную специфику вместо АТ команд.
Не шучу. Думаю, что доступ к слою абстракции сетевой модели, который сейчас обеспечивается AT-командами, было бы гораздо действенней осуществлять другим способом. Не знаю, чем было продиктована идея прикидываться старинным модемом, но на мой взгляд - она не лучшая в наше время, когда можно получать данные из буфера программно реализованного на ESP TCP-стека (например), используя механизмы SPI, I2C (даже софтварно эмулируемые) и пр.
Вот у вас есть соображения по поводу того - зачем там AT-система команд? Что она облегчает?
Да, и, заметьте - я не предлагал поиметь доступ к регистрам самой ESP, как SOC-а, речь шла о виртуализированном сетевом адаптере, если можно так выразиться.
Цитата:
И та либа, кстати, что Вы нашли, она из этой же серии гемороя - эмулирует TCP интерфейс поверх АТ, при том что сам АТ разумеется на TCP основывается. Но это неверно с точки зрения стека протоколов и, как следствие, геморно с практической точки т.к. специфика TCP при переходе к АТ теряется и вернуть её никак нельзя. АТ команды не обеспечивают 100% доступа к возможностям TCP.
Ну вот и я о том же. Кому только в голову пришло прогнать это все через AT? Да еще и мультисокетную поддержку завернуть в него. Но я не согласен, что она эмулирует TCP over AT-commands, просто предоставляет схожий с Ethernet lib синтаксис. Да, выдает она localIP(), но получает его совершенно идиотски - парсингом строки из UART. Вместо простого получения 4-х байт - гоним туда-сюда несколько десятков, потом режем на куски, преобразуем в uint32_t. Только в страшном сне такое могло бы приснится.
Цитата:
Если сильно мелкий - выкинуть нахер и перенести функционал в ESP. Если средний - разделить функционал, комуникации в ESP а остальное в MCU, связь между ними по оригинальному протоколу.
Еще один протокол никогда не бывает лишним? ))
Цитата:
Это как раз похоже Выш случай был, надо в ESP прием вашего простенького протокола сделать и по UART (или SPI если он родней) гнать данные в контролер, а там уже, на уровне вашего протокола, и решать вопрос - провод или WiFi.
Нет в этом выигрыша. Во всяком случае для моего алгоритма. Переносить на сторону сетевого модуля мне нужно или всё или ничего. Частичная передача функциональности только усложнит процессы взаимодействия, так как, сами понимаете, все, что можно перенести на ESP, нельзя на W5100, а уж тем более на ENC28J60. Придется для проводных вариантов анализ пакета проводить в MCU, для беспроводных - в ESP, т.е. фактически вести разработку для двух типов контроллеров. Врагу не пожелаешь такого.
Мне нужно всего лишь получать последовательно входящие байты с входящего соединения и суметь отправить несколько байтиков обратно. Мегабитных дуплексных потоков гнать нет необходимости. Надеюсь, что спаркфановская библиотечка сумеет это.
А вообще - было бы способ получить Wi-Fi интерфейс, который подключался бы на том же уровне OSI, что и W5100 - я бы подпрыгивал от счастья
Вот у вас есть соображения по поводу того - зачем там AT-система команд? Что она облегчает?
Да, и, заметьте - я не предлагал поиметь доступ к регистрам самой ESP, как SOC-а, речь шла о виртуализированном сетевом адаптере, если можно так выразиться.
AT-система там по причине того, что является общепринятым стандартом для модемов и для варианта применения ESP как комуникационного оборудования совершенно естественна. Но у ESP есть другие варианты использования, без АТ. Очевидно на них надо и смотреть если АТ не устраивают.
sadman41 пишет:
Да, и, заметьте - я не предлагал поиметь доступ к регистрам самой ESP, как SOC-а, речь шла о виртуализированном сетевом адаптере, если можно так выразиться.
Разумеется.
sadman41 пишет:
. Но я не согласен, что она эмулирует TCP over AT-commands, просто предоставляет схожий с Ethernet lib синтаксис. Да, выдает она localIP(), но получает его совершенно идиотски - парсингом строки из UART. Вместо простого получения 4-х байт - гоним туда-сюда несколько десятков, потом режем на куски, преобразуем в uint32_t. Только в страшном сне такое могло бы приснится.
И я с законами гравитации не согласен, но они мое несогласие игнорируют))) Вы какую прошивку в ESP лили?! АТ! "парсингом строки из UART" - это как раз разбор ответа АТ команды. Вашего согласия не обязательно ;)
sadman41 пишет:
Цитата:
Если сильно мелкий - выкинуть нахер и перенести функционал в ESP. Если средний - разделить функционал, комуникации в ESP а остальное в MCU, связь между ними по оригинальному протоколу.
Еще один протокол никогда не бывает лишним? ))
А если два девайса чем то обмениваются - без протокола не бывает. Стандартный АТ Вам не нравится (мне кстати тоже, я им только проверю сразу новый модуль и перешиваю на свое или NodeMCU), протокол по SPI через регистры отсутствует. Остается свое сочинять, но в этом большой беды нет. Уж точно менее геморно чем TCP over AT over TCP ))) да еще и невесть какой и насколько глюкавой либой.
sadman41 пишет:
Цитата:
Это как раз похоже Выш случай был, надо в ESP прием вашего простенького протокола сделать и по UART (или SPI если он родней) гнать данные в контролер, а там уже, на уровне вашего протокола, и решать вопрос - провод или WiFi.
Переносить на сторону сетевого модуля мне нужно или всё или ничего. Частичная передача функциональности только усложнит процессы взаимодействия, так как, сами понимаете, все, что можно перенести на ESP, нельзя на W5100, а уж тем более на ENC28J60. Придется для проводных вариантов анализ пакета проводить в MCU, для беспроводных - в ESP, т.е. фактически вести разработку для двух типов контроллеров. Врагу не пожелаешь такого.
Нет конечно, не так. То что может ESP сам (открыть порт, акцептить входящих и пр.) но не может сам W5100 выполняет ESP. А для W5100 это же делает контроллер (у Вас я так понимаю это уже написано для W5100). Полученый поток данных ESP отправляет по UART. Из W5100 контроллер тоже извлекает поток данных. Два потока данных у контролера есть, он выбирает какой нужен и начинает парсить пакет, отсылать ответ и т.д. уже единообразно.
sadman41 пишет:
Мне нужно всего лишь получать последовательно входящие байты с входящего соединения и суметь отправить несколько байтиков обратно.
Знаем, сами плавали;) Апетит приходит во время еды, сразу еще лишь айпишник глянуть бы, затем настройку а потом лишь разрыв соединения и еще только акцептить клиента )))
Но если вобще именно "всего лишь получать последовательно входящие байты с входящего соединения и суметь отправить несколько байтиков обратно" то это совсем просто делается, типа
Посмотрите в примерах для ESP, есть WiFiTelnetToSerial и куча подобных. Может даже готовый подойдет. Не исключаю что и АТ командами можна настроить такой прозрачный режим.
Но в реале таки нужен протокольчик, чтоб иметь возможность не только данные но и управление передавать.
AT-система там по причине того, что является общепринятым стандартом для модемов и для варианта применения ESP как комуникационного оборудования совершенно естественна.
W5xxx - тоже коммуникационное оборудование, но никто его не причесывает под модем. Видимо тут какое-то дурацкое архитектурное наследие.
Цитата:
Но у ESP есть другие варианты использования, без АТ. Очевидно на них надо и смотреть если АТ не устраивают.
Эти варианты я и ищу, но пока что мне не попадались иные варианты. Или всё запихивают в ESP или... Запихивают всё в ESP, а AT-команды только для "уроков ардуина+ESP".
Цитата:
Вы какую прошивку в ESP лили?! АТ! "парсингом строки из UART" - это как раз разбор ответа АТ команды. Вашего согласия не обязательно ;)
Знаете, не всегда стоит тех, кто пишет на этот форум, считать глупыми рукожопами, которые на самом деле повара, но зачем-т взяли в руки ардуину ;)
Я лил ту прошивку, под которую нашел библиотеку с подходящим мне синтаксисом. У NodeMCU, который был залит первоначально в мой ESP, я не нашёл способа извлечения входящих данных и внешнего управления процессом коммуницирования со внешним хостом.
Цитата:
Стандартный АТ Вам не нравится (мне кстати тоже, я им только проверю сразу новый модуль и перешиваю на свое или NodeMCU), протокол по SPI через регистры отсутствует.
Я допускаю, что есть вероятность существования такого способа, просто я не в том месте копаю. Поэтому и спросил в профильной ветке форума.
[quote]Полученый поток данных ESP отправляет по UART. Из W5100 контроллер тоже извлекает поток данных. Два потока данных у контролера есть, он выбирает какой нужен и начинает парсить пакет, отсылать ответ и т.д. уже единообразно.[/quote]
Написать можно всё, но не все стоит того, чтобы писать. Мысль я вашу понимаю, но пока не вижу простого способа интеграции ESP в свой проект. А перекурочивать отлаженный код ради модной возможности засрать эфир мне как-то пока не хочется. Ethernet library тоже многово не дает делать, если не лезть внутрь W5100 driver. Поэтому мне от ESP не нужно что-то более того, что может предложить стандартная библиотека Ethernet. И ровно поэтому я ищу сочетание прошивки ESP+библиотечки для ардуино, которое мне даст возможность малокровного добавления интефейса (наверное уже в десятый раз свою мысль объясняю ;))
За ссылку спасибо, буду изучать!
Я правильно понимаю, что для подключения к Ардуино ESP-01 тоже прошить нужно будет? Т.е. какой-то скейч в нее залить?
Для заливки прошивки XTCOM_UTIL а скрипт - ESPlorer. В нем же и пишу, хотя не удобный.
///на ЕСП (только не на 01)
А чем не кошерный? Я как раз на нем написал -
http://arduino.ru/forum/programmirovanie/skript-na-lune-dlya-esp8266-mon...
ножкав мало (для пульта в самый раз, а "на вырост" маловато)
Как бы да. Но пока 4 мне должно хватать. А сабж у меня уже года 2 пошти без дела валяется. Я так понимаю на старшие модели перейти не проблемно?
Все свои ардуиновские поделки перевел на ESP, потому как среда программирования одна плюс на борту ВайФай. ВиФи позволяет легко подключить смартфон в качестве монитора, но самое главное, модуль можно программировать по воздуху и это перевесит все минусы ЕСПшки.
Но! Свободных GPIO у любой модификации ЕСП катастрофически мало. Из десяти доступных, половину можно использовать с большими оговорками. Приходится устанавливать расширители портов, а это еще те костыли. Библиотеки тоже надо искать заточенные под ЕСП. Сама ЕСП работает от 3.3В поэтому еще желательно прикрутить согласователи логических уровней. Правда китайские ребята давно интегрировали ЕСП в отдельные модули с ИП на 5В, встроенным программатором и соответствующей обвязкой. У меня с десяток простеньких ЕСП так и валяются без дела.
Вот таки основные плюсы и минусы для тех кто думает переходить или нет с Ардуины на ЕСП.
За ссылку спасибо, буду изучать!
Я правильно понимаю, что для подключения к Ардуино ESP-01 тоже прошить нужно будет? Т.е. какой-то скейч в нее залить?
Для заливки прошивки XTCOM_UTIL а скрипт - ESPlorer. В нем же и пишу, хотя не удобный.
А зачем XTCOM_UTIL и ESPlorer? Разве нельзя Arduino IDE пользоваться?
Если я правильно понял, то это аналоги?
Жду с Али USB TTL-UART преобразователь - https://ru.aliexpress.com/item/CH340G-5V-USB-to-TTL-UART-Serial-Converter/32524218818.html?spm=2114.13010608.0.0.4vbnje
Он подойдет для заливки скейчей на ESP8266? Там вроде даже 3.3 вольта есть.
Все свои ардуиновские поделки перевел на ESP, потому как среда программирования одна плюс на борту ВайФай. ВиФи позволяет легко подключить смартфон в качестве монитора, но самое главное, модуль можно программировать по воздуху и это перевесит все минусы ЕСПшки.
Но! Свободных GPIO у любой модификации ЕСП катастрофически мало. Из десяти доступных, половину можно использовать с большими оговорками. Приходится устанавливать расширители портов, а это еще те костыли. Библиотеки тоже надо искать заточенные под ЕСП. Сама ЕСП работает от 3.3В поэтому еще желательно прикрутить согласователи логических уровней. Правда китайские ребята давно интегрировали ЕСП в отдельные модули с ИП на 5В, встроенным программатором и соответствующей обвязкой. У меня с десяток простеньких ЕСП так и валяются без дела.
Вот таки основные плюсы и минусы для тех кто думает переходить или нет с Ардуины на ЕСП.
Да, это вполне логично.
Возможно я тоже так со временем поступлю.
Как с надежностью у ESP? Слышал, что они менее стабильны, чем АТМега?
Еще вроже новый чип вышел ESP32? Его пока активно не используют?
А как работают расширитель портов? Есть такие для цифровых пинов? Где можно почитать?
Да, это вполне логично.
Возможно я тоже так со временем поступлю.
Как с надежностью у ESP? Слышал, что они менее стабильны, чем АТМега?
Еще вроже новый чип вышел ESP32? Его пока активно не используют?
А как работают расширитель портов? Есть такие для цифровых пинов? Где можно почитать?
C надежностью у ЕСП для HOME USES вполне себе нормально. Для программирования можно использовать как язык LUA + esplorer, так и Arduino IDE (среда разработки) и язык Wiring (почти С++). LUA и Wiring между собой несовместимы и подходы к программированию у них разные. По энергопотреблению ЕСП весьма не батарейный вариант в отличии от ATMEGA 328. При программировании ЕСП можно (ну это наверное новичек не осилит) только в первый раз через усб->сом преобразователь залить скетч с ОТА (OwerTheAir), потом ЕСП можно будет программировать "по воздуху"
ESP32 это 2хЕСП8266 ;). он сильно дороже (от $7) и на него пока совсем ничего нет в плане прикладного софта.
Расширитель портов - это микросхема которая подключается к МК по 2м проводам (шина I2C), а с другой стороны имеет 8 ножек, которые могут работать как порты ввода вывода. Классическим примером расширителя является PCF8574 - микросхема, которая используется для подключения широко известных (в узких кругах ардуинщЕгов) экранчиков LCD1602 по 2м проводам (I2C). Без расширителя требуется 8 портов (пинов) I/O - экономия пинов налицо.
Я так понимаю на старшие модели перейти не проблемно?
У старших просто все ножки наружу припаяны/выведены
Я теперь уже понимаю, что ESP8266 вполне себе микроконтроллер, но все таки решил пока на Arduino сосредоточиться.
Может быть есть где-то скейч, который подойдет в моем случае? Мне нужно подключить Ардуино к RemoteXY или аналогам.
Блинк и IoT Manager уже смотрел, но пока с ними не разобрался и не понял, чем они лучше/хуже RemoteXY. Так же буду благодарен толковым ссылкам по этой теме. ЛУчше с текстом, на видео у меня мало времени.
Я ж вам советовал - посмотрите у Третьякова. У него все разжевано "для чайников" на примере управления всей техникой (Люстра, ТВ, и.т.д) в комнате посредством одной ЕСП. И примеры готовых скетчей (которые в уроках) под видео в архивах лежат.
Про "мало времени" учтите - никто за вас ваши хотелки просто так бесплатно делать не будет. Раз уж взялись ищите время и читайте.
Если вы это осилите - то считайте, что вы уже "крутой ардуинщик" и есп почти освоили
Это шутка такая? )))
Подключить модуль к программатору по схеме (дальше вроде все как на Ардуино?) не большого ума дело вроде? Хотя пока не пробовал...
Да шутка
Модуль не надо подключать к программатору, достаточно усб ->сом преобоазователя
А зачем XTCOM_UTIL и ESPlorer? Разве нельзя Arduino IDE пользоваться?
Жду с Али USB TTL-UART преобразователь - https://ru.aliexpress.com/item/CH340G-5V-USB-to-TTL-UART-Serial-Converter/32524218818.html?spm=2114.13010608.0.0.4vbnje
Он подойдет для заливки скейчей на ESP8266? Там вроде даже 3.3 вольта есть.
первый раз через усб->сом преобразователь залить скетч с ОТА (OwerTheAir), потом ЕСП можно будет программировать "по воздуху"
Про ней отзывы очень "не очень". Например -https://esp8266.ru/forum/threads/prostejshaja-proshivka-s-ota.665/ И я так понимаю, что если сбойнет посреди процесса, то снова усб->сом нужен.
pilnikov, вы сами её используете? получается?
первый раз через усб->сом преобразователь залить скетч с ОТА (OwerTheAir), потом ЕСП можно будет программировать "по воздуху"
Про ней отзывы очень "не очень". Например -https://esp8266.ru/forum/threads/prostejshaja-proshivka-s-ota.665/ И я так понимаю, что если сбойнет посреди процесса, то снова усб->сом нужен.
pilnikov, вы сами её используете? получается?
В своем проекте - все так, как вы написали - иногда бывает нужен проводок (проект на ардуине), а вот у хомес смарт прошивки вроде стабильная ота (я не знаю на чем она писана, т.к. платная и закрытая, но похоже на LUA). Я где-то читал, уже не помню где, что вроде кусок кода, отвечающий за ОТА, должен располагаться в отдельной области флэшь, сразу за SDK, и при перепрошивке не должен затрагиваться. Т.е. обновлятся должна тока область с программой юзверя. Но это так походу тока для LUA. Ардуина пишет все сплошь. Хотя могу и ошибаться - поправтье если не прав.
вроде кусок кода, отвечающий за ОТА, должен располагаться в отдельной области флэшь, сразу за SDK, и при перепрошивке не должен затрагиваться. Т.е. обновлятся должна тока область с программой юзверя. Но это так походу тока для LUA. Ардуина пишет все сплошь. Хотя могу и ошибаться - поправтье если не прав.
Целиком разделяю Ваш взгляд на проблему.
C надежностью у ЕСП для HOME USES вполне себе нормально.
т.е. все таки ниже чем у Атмеги? ) Есть проекты, в надежности которых хотелось бы быть уверенным.
Для программирования можно использовать как язык LUA + esplorer, так и Arduino IDE (среда разработки) и язык Wiring (почти С++). LUA и Wiring между собой несовместимы и подходы к программированию у них разные.
Может поэтому не стоит с ЕСП начинать? Большой выбор - больше проблемм.
При программировании ЕСП можно (ну это наверное новичек не осилит) только в первый раз через усб->сом преобразователь залить скетч с ОТА (OwerTheAir), потом ЕСП можно будет программировать "по воздуху"
Где-то видел проект (вроде умного дома), где автор объяснял как прошить ЕСП, что бы потом прошивки загружались с его сервера по WiFi. Читаю много разных источников одновременно, немного запутался, возможно даже здесь ссылку давали.
Так вот, вроде там не сложно было? Другой вопрос, что мне сейчас не это важно...
Расширитель портов - это микросхема которая подключается к МК по 2м проводам (шина I2C), а с другой стороны имеет 8 ножек, которые могут работать как порты ввода вывода. Классическим примером расширителя является PCF8574 - микросхема, которая используется для подключения широко известных (в узких кругах ардуинщЕгов) экранчиков LCD1602 по 2м проводам (I2C). Без расширителя требуется 8 портов (пинов) I/O - экономия пинов налицо.
Это такая плата? https://ru.aliexpress.com/item/PCF8574-IO-Expansion-Board-I-O-Expander-I2C-Bus-Evaluation-Development-Module/32476725727.html?spm=2114.30010708.3.65.7Eec10&ws_ab_test=searchweb0_0,searchweb201602_4_10065_10068_10000032_119_10000025_10000029_430_10000028_10060_10062_10056_10055_10000062_10054_301_10059_10099_10000022_10000012_10103_10000015_10102_10096_10000018_10000019_10000056_10000059_10052_10053_10107_10050_10106_10051_10000053_10000007_10000050_10117_10084_10083_10000047_10080_10082_10081_10110_10111_10112_10113_10114_10115_10037_10033_10000041_10000044_10078_10079_10077_10000038_429_10073_10000035_10121-10033,searchweb201603_9,afswitch_3_afChannel,single_sort_2_default&btsid=d96c4111-7376-40db-ada5-8f234b8c0a1b
вроде есть для SPI расширители портов?
Я ж вам советовал - посмотрите у Третьякова. У него все разжевано "для чайников" на примере управления всей техникой (Люстра, ТВ, и.т.д) в комнате посредством одной ЕСП. И примеры готовых скетчей (которые в уроках) под видео в архивах лежат.
Про "мало времени" учтите - никто за вас ваши хотелки просто так бесплатно делать не будет. Раз уж взялись ищите время и читайте.
Смотрел и еще буду смотреть, интересно )
За меня делать ничего не нужно, так не научишься. Я просил ссылки где можно читать, а не смотреть. Мне так удобнее.
Модуль не надо подключать к программатору, достаточно усб ->сом преобоазователя
[/quote]
я наверное неправильно его назвал))) простите!
я про это - https://ru.aliexpress.com/item/CH340G-5V-USB-to-TTL-UART-Serial-Converte...
А зачем XTCOM_UTIL и ESPlorer? Разве нельзя Arduino IDE пользоваться?
Пока сложно для понимания...
[/quote]
У меня есть 3.3 вольта откуда брать.
А подскажите пожалуйста, приехала вот такая плата, там вверху на модуле есть светодиод, как его заставить светиться? Перепробовал все gpio (0-16), а он молчит... дохлый или есть какая хитрость с ним?
Вероятно светодиод подключен к UART TX.
"The LED is directly connected to the UART TX line. You can use the TX pin as GPIO1 to control the LED, but only if you don't use UART."
В этом случае в момент загрузки скетча он должен мигать.
А подскажите пожалуйста, приехала вот такая плата, там вверху на модуле есть светодиод, как его заставить светиться? Перепробовал все gpio (0-16), а он молчит... дохлый или есть какая хитрость с ним?
Забацал платку на версии девайса 01, частично запаял, ESP стартует, допаял - нестартует. Горит непрерывно синим "пламенем" светодиод. А ведь только GPIO2 через резисиор к базе подпаял. Даффай разбиратся, оказывается GPIO2 при старте должен быть в 1 ((( Ну хороше что в схемотехнике 1 при старте допускает. Но впаять резюк подтяжки между ножками CH_RD и GPIO2 было еще то развлечение.
Люди! Будте бдительны!
Про то, что при старте GPIO0 должен быть в 1 написано на каждом шагу, а про GPIO2 пошти нигде.
я тока что подпаял светодиод к гпио 2 и земле -> встал на ваши грабли
Кто нибудь встречал подобную плату для esp8266 http://c.b1wr.com/h.daSaUP?cv=RlqCR7E3jx&sm=93a61a ? с помощью которой можно шить без пайки
Модуль не надо подключать к программатору, достаточно усб ->сом преобоазователя
я наверное неправильно его назвал))) простите!
я про это - https://ru.aliexpress.com/item/CH340G-5V-USB-to-TTL-UART-Serial-Converte...
[/quote]
я через такой лью
Кто нибудь встречал подобную плату для esp8266 http://c.b1wr.com/h.daSaUP?cv=RlqCR7E3jx&sm=93a61a ? с помощью которой можно шить без пайки
вот мой немного модифицированный wemos D1 mini
https://yadi.sk/i/BJnOOULN3E3ANt
https://yadi.sk/i/3Pf6dQ_L3E3AQU
Тоже "можно шить без пайки" ;)
я через такой лью
Выше постом вемос д1 мини - на мой взгляд самая удобная платформа в плане залить/попробовать + самая демократичная цена и самый (почти) компактный размер (в макетку входит)
У меня есть D1 но не мини, брал по цене в районе 200 рублей, мини надо брать в комплекте и уже не самое дешовое решение получается, модуль можно взять чуть дороже 100 рублей + пара резисторов, для законченного устройства переходник нужен один раз
Каждый выбирает по себе, женщину, судьбу или дорогу... )))
я тока что подпаял светодиод к гпио 2 и земле -> встал на ваши грабли
Вы наверно будете смеятся, но история повторилась и на GPIO1, он же Tx ))))
Вывод: в момент старта все GPIO 0,1,2 должны быть подтянуты к 1.
ПС. От просто интересно, чего от GPIO3 ожидать?
В этом случае в момент загрузки скетча он должен мигать.
Всё тлен. Поглядел через прибор увеличительный, а там верхнего стёклышка нет и усиков. Похоже светодиод сломан механически или то вообще не светодиод китайцы припаяли... )
Всем здрасти!
Есть светодиодная лента где то ватт на 10-20.
Была ардуина нано и какой то полевик из БП компа, всё работает отлично.
Сейчас хочу управлять лентой с ESP8266-01, и там уже вывод даёт не 5В (ардуина), а 3.3 В которые может не хватить для полного открытия полевика.
Посоветуйте пожалуйтса полевик для управления светодиодной ленты 12 В ( до 2 А) и что бы полностью открывался при 3.3 В.
Завтра нужно ехать на рынок, а погуглив я больше запутался...
Wemos d1 - классная штука, и паять ничего не надо. Хочу, чтобы следующий вемос вышел с esp32. :)
Похвалюсь немного, хоть пока на соплях, зато внутренности хороше видно . Сегодня первый круг делал ))
Ну и вебморда к нему.
/quote]
Я ж вам советовал - посмотрите у Третьякова. У него все разжевано "для чайников" на примере управления всей техникой (Люстра, ТВ, и.т.д) в комнате посредством одной ЕСП. И примеры готовых скетчей (которые в уроках) под видео в архивах лежат.
Здравствуйте, ссылку можете дать?
https://esp8266.ru/forum/threads/programmirovanie-shag-za-shagom.1815/
ESP8266-01, и там уже вывод даёт не 5В (ардуина), а 3.3 В которые может не хватить для полного открытия полевика.
Это не вся проблема. Еше выдает меньше ток и некоторые выводы требуют быть в 1 при включении. Выход - между полевиком и ESP транзисторный ключ - npn транзистор и несколько резисторов в обвязке. Ну и в софте учесть, что открывать полевик не 1 а 0.
Здравствуйте, "хакнул" 01 версию (добавил ещё 4 пина 9, 10, 12, 13). Но есть вопросик... Можно конечно перекличку устроить, но...
Подскажите таблицу соотвествия GPIO и пинов для программирования в ардиуно IDE.
http://www.pighixxx.com/test/2015/09/esp8266-pinout/#prettyPhoto[gallery1140]/0/
Можно взять из 12 версии, но там уже не соотвествия:
IO2 в 01 версии это 3, а в 12 версии это 2.
https://yadi.sk/i/6hhPN-1P3FuBQ7
IO2 это 14 pin чипа, к нему светодиод припаян у 12е, в ардуино это D2 (12, 12Е модули, Wemos, NodeMCU)
а как в ардуино выбрать 01 модуль?
в \Users\user_name\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\variants\ лежат файлики *.h c пинаутами различных модулей. Какой выберите при прошивке тот пинаут и будет.
Вроде припаялся хорошо, но вижу всего три пина:
OGPIO14; HSPICLK
GPIO12;HSPIQ
GPIO13;HSPID
А вот этот не вижу - GPIO15;HSPICS. :(
Но в принципе 4 + 3 выхода с его то памятью с головой хватит :)
А по факту при выборе generic, номера пинов совпадают с GPIO. Ну кроме 15 которого я не вижу :(
15 должен быть притянут к земле (может быть у вас в 01 модуле он просто посажен на землю (там про это на картинке написано) наглухо без резистора) не могу утверждать потому как нету у меня модулей 01 и нету чертежа печатки. Вы цэшкой звякните пин 13 на землю
Властелины ESP, подскажите - существует ли для сабжа библиотечка (враппер) совместимая по синтаксису (или близкая) с Ethernet Library?
Имею проект, разработанный для W5100 (TCP Server only, траффик минимальный), хотелось бы добавить возможность выбирать между проводом и Wi-Fi. Портировать его целиком и тянуть потом два бранча бессмысленно. Отмотал в теме десяток страниц и понял, что общественность не находит смысла в соединении какой-нить Nano и ESP12. Но, может кто-то в курсе таких комбинаций - подскажите. Гуглеж, к сожалению, тоже особо не дал результатов - в основном попадается обмен через UART и AT-команды.
Властелины ESP, подскажите - существует ли для сабжа библиотечка (враппер) совместимая по синтаксису (или близкая) с Ethernet Library?
Имею проект, разработанный для W5100 (TCP Server only, траффик минимальный), хотелось бы добавить возможность выбирать между проводом и Wi-Fi.
общественность не находит смысла в соединении какой-нить Nano и ESP12. Но, может кто-то в курсе таких комбинаций - подскажите. Гуглеж, к сожалению, тоже особо не дал результатов - в основном попадается обмен через UART и AT-команды.
Замерил время некоторых команд. Местами странно. http://arduino.ru/forum/obshchii/vremya-vypolneniya-otdelnykh-komand-ard...
Властелины ESP, подскажите - существует ли для сабжа библиотечка (враппер) совместимая по синтаксису (или близкая) с Ethernet Library?
Нашлось вот такое: https://github.com/sparkfun/SparkFun_ESP8266_AT_Arduino_Library
Сходу у меня не завелась, пришлось повтыкать полдня, поразбираться с прошивками ESP. В целом работает. TCP есть, сервер отвечает, клиент куда надо ходит. До интеграции в свой код пока не дошёл.
Заточена под pre-v0.22 AT-прошивки (ESP8266 SDK < v1.0.0). В моем случае пришлось править ESP8266_AT.h b и навтыкать "_CUR" в часть строк.
Так в том-то и дело, что SDK открыто, в принципе - NodeMCU пилят. Даже на дурацкий ENC28J60 программный TCP/IP стек уже написали. И работает он в килобайте памяти. А в ESP всего побольше, память есть - буфер приличный можно организовать, ноги есть - дрыгай себе в SPI-style. Всяко удобней, наверное, регистры эмулировать, нежели заниматься парсингом и формированием строк. Да и со стороны мелкого MCU меньше оверхеда будет.
Нет, конечно, накатать такую прошивку мне не по силам, но явных непреодолимых препятствий для реализации (мало ног, тормознутость, отсутствие памяти), как я понимаю, нет.
Так в том-то и дело, что SDK открыто, в принципе - NodeMCU пилят. Даже на дурацкий ENC28J60 программный TCP/IP стек уже написали. И работает он в килобайте памяти. А в ESP всего побольше, память есть - буфер приличный можно организовать, ноги есть - дрыгай себе в SPI-style. Всяко удобней, наверное, регистры эмулировать, нежели заниматься парсингом и формированием строк. Да и со стороны мелкого MCU меньше оверхеда будет.
Нет, конечно, накатать такую прошивку мне не по силам, но явных непреодолимых препятствий для реализации (мало ног, тормознутость, отсутствие памяти), как я понимаю, нет.
Непреодолимым препятствием является отсутствие необходимости в выдаче наружу низкоуровневого функционала при наличии высокоуровневого. Какие нафиг регистры SPI если ESP реализует стек протоколов до HTTP и даже выше.
Шутите. Регистры эмулировать - дурная двойная работа. И работать с ними не удобней, хотяб потому что нада знать аппаратную специфику вместо АТ команд.
Не шучу. Думаю, что доступ к слою абстракции сетевой модели, который сейчас обеспечивается AT-командами, было бы гораздо действенней осуществлять другим способом. Не знаю, чем было продиктована идея прикидываться старинным модемом, но на мой взгляд - она не лучшая в наше время, когда можно получать данные из буфера программно реализованного на ESP TCP-стека (например), используя механизмы SPI, I2C (даже софтварно эмулируемые) и пр.
Вот у вас есть соображения по поводу того - зачем там AT-система команд? Что она облегчает?
Да, и, заметьте - я не предлагал поиметь доступ к регистрам самой ESP, как SOC-а, речь шла о виртуализированном сетевом адаптере, если можно так выразиться.
И та либа, кстати, что Вы нашли, она из этой же серии гемороя - эмулирует TCP интерфейс поверх АТ, при том что сам АТ разумеется на TCP основывается. Но это неверно с точки зрения стека протоколов и, как следствие, геморно с практической точки т.к. специфика TCP при переходе к АТ теряется и вернуть её никак нельзя. АТ команды не обеспечивают 100% доступа к возможностям TCP.
Ну вот и я о том же. Кому только в голову пришло прогнать это все через AT? Да еще и мультисокетную поддержку завернуть в него. Но я не согласен, что она эмулирует TCP over AT-commands, просто предоставляет схожий с Ethernet lib синтаксис. Да, выдает она localIP(), но получает его совершенно идиотски - парсингом строки из UART. Вместо простого получения 4-х байт - гоним туда-сюда несколько десятков, потом режем на куски, преобразуем в uint32_t. Только в страшном сне такое могло бы приснится.
Еще один протокол никогда не бывает лишним? ))
Нет в этом выигрыша. Во всяком случае для моего алгоритма. Переносить на сторону сетевого модуля мне нужно или всё или ничего. Частичная передача функциональности только усложнит процессы взаимодействия, так как, сами понимаете, все, что можно перенести на ESP, нельзя на W5100, а уж тем более на ENC28J60. Придется для проводных вариантов анализ пакета проводить в MCU, для беспроводных - в ESP, т.е. фактически вести разработку для двух типов контроллеров. Врагу не пожелаешь такого.
Мне нужно всего лишь получать последовательно входящие байты с входящего соединения и суметь отправить несколько байтиков обратно. Мегабитных дуплексных потоков гнать нет необходимости. Надеюсь, что спаркфановская библиотечка сумеет это.
А вообще - было бы способ получить Wi-Fi интерфейс, который подключался бы на том же уровне OSI, что и W5100 - я бы подпрыгивал от счастья
Вот у вас есть соображения по поводу того - зачем там AT-система команд? Что она облегчает?
Да, и, заметьте - я не предлагал поиметь доступ к регистрам самой ESP, как SOC-а, речь шла о виртуализированном сетевом адаптере, если можно так выразиться.
AT-система там по причине того, что является общепринятым стандартом для модемов и для варианта применения ESP как комуникационного оборудования совершенно естественна. Но у ESP есть другие варианты использования, без АТ. Очевидно на них надо и смотреть если АТ не устраивают.
Да, и, заметьте - я не предлагал поиметь доступ к регистрам самой ESP, как SOC-а, речь шла о виртуализированном сетевом адаптере, если можно так выразиться.
Разумеется.
И я с законами гравитации не согласен, но они мое несогласие игнорируют))) Вы какую прошивку в ESP лили?! АТ! "парсингом строки из UART" - это как раз разбор ответа АТ команды. Вашего согласия не обязательно ;)
Еще один протокол никогда не бывает лишним? ))
А если два девайса чем то обмениваются - без протокола не бывает. Стандартный АТ Вам не нравится (мне кстати тоже, я им только проверю сразу новый модуль и перешиваю на свое или NodeMCU), протокол по SPI через регистры отсутствует. Остается свое сочинять, но в этом большой беды нет. Уж точно менее геморно чем TCP over AT over TCP ))) да еще и невесть какой и насколько глюкавой либой.
Переносить на сторону сетевого модуля мне нужно или всё или ничего. Частичная передача функциональности только усложнит процессы взаимодействия, так как, сами понимаете, все, что можно перенести на ESP, нельзя на W5100, а уж тем более на ENC28J60. Придется для проводных вариантов анализ пакета проводить в MCU, для беспроводных - в ESP, т.е. фактически вести разработку для двух типов контроллеров. Врагу не пожелаешь такого.
Нет конечно, не так. То что может ESP сам (открыть порт, акцептить входящих и пр.) но не может сам W5100 выполняет ESP. А для W5100 это же делает контроллер (у Вас я так понимаю это уже написано для W5100). Полученый поток данных ESP отправляет по UART. Из W5100 контроллер тоже извлекает поток данных. Два потока данных у контролера есть, он выбирает какой нужен и начинает парсить пакет, отсылать ответ и т.д. уже единообразно.
Но если вобще именно "всего лишь получать последовательно входящие байты с входящего соединения и суметь отправить несколько байтиков обратно" то это совсем просто делается, типа
Посмотрите в примерах для ESP, есть WiFiTelnetToSerial и куча подобных. Может даже готовый подойдет. Не исключаю что и АТ командами можна настроить такой прозрачный режим.
Но в реале таки нужен протокольчик, чтоб иметь возможность не только данные но и управление передавать.
W5xxx - тоже коммуникационное оборудование, но никто его не причесывает под модем. Видимо тут какое-то дурацкое архитектурное наследие.
Эти варианты я и ищу, но пока что мне не попадались иные варианты. Или всё запихивают в ESP или... Запихивают всё в ESP, а AT-команды только для "уроков ардуина+ESP".
Знаете, не всегда стоит тех, кто пишет на этот форум, считать глупыми рукожопами, которые на самом деле повара, но зачем-т взяли в руки ардуину ;)
Я лил ту прошивку, под которую нашел библиотеку с подходящим мне синтаксисом. У NodeMCU, который был залит первоначально в мой ESP, я не нашёл способа извлечения входящих данных и внешнего управления процессом коммуницирования со внешним хостом.
Я допускаю, что есть вероятность существования такого способа, просто я не в том месте копаю. Поэтому и спросил в профильной ветке форума.
[quote]Полученый поток данных ESP отправляет по UART. Из W5100 контроллер тоже извлекает поток данных. Два потока данных у контролера есть, он выбирает какой нужен и начинает парсить пакет, отсылать ответ и т.д. уже единообразно.[/quote]
Написать можно всё, но не все стоит того, чтобы писать. Мысль я вашу понимаю, но пока не вижу простого способа интеграции ESP в свой проект. А перекурочивать отлаженный код ради модной возможности засрать эфир мне как-то пока не хочется. Ethernet library тоже многово не дает делать, если не лезть внутрь W5100 driver. Поэтому мне от ESP не нужно что-то более того, что может предложить стандартная библиотека Ethernet. И ровно поэтому я ищу сочетание прошивки ESP+библиотечки для ардуино, которое мне даст возможность малокровного добавления интефейса (наверное уже в десятый раз свою мысль объясняю ;))