Есть здесь кто-нибудь, кто умеет из терминала get запросы отправлять?
Есть :) Пишешь в терминалке GET-запрос, и отправляешь. Сам простейший GET-запрос выглядит так (вместо \r\n - соответствующие коды возврата каретки и перевода строки):
GET / HTTP/1.0\r\n
Host: google.com\r\n
\r\n
Можно ещё кучу заголовков добавить, типа Connection, Referer и прочей шелухи. В общем, проще прочитать RFC по HTTP, хотя бы бегло - многие вопросы отпадут.
Если же имелось в виду отправлять GET-запрос из терминалки на ESP - то там несколько по-другому: с AT-прошивкой эта железка сначала просит указать, сколько байт хотим послать по AT+CIPSEND, а потом уже - сами эти байты ждёт. Соответственно, надо сначала подсчитать длину запроса, послать команду AT+CIPSEND с указанием длины данных, которые пойдут, потом уже - сами эти данные. Т.е. ручками уже не так просто.
Незнаю как у всех, но у меня с 5в логикой работает криво, поставил делитель - работает вроде норм, в терминале вроде мусора нету, сча буду тестировать скетчем. Но на делителе просело напряжение до 3.6в с 5в, поэтому 1 вышла 2.4в
---
софтсериал не хотел работать со скоростью 115200, поставил 9600 - работает, потом проверю на какой максимальной будет работать.
---
чет в одном месте всеравно каракули
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
//Serial.println("Goodnight moon!");
String header = "GET /1/1.php?tmp=hj&hmd=20 HTTP/1.1\r\nHost: 192.168.1.109\r\nConnection: close\r\n\r\n";
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
delay(500);
mySerial.println("AT");
delay(100);
mySerial.println("AT+CIPSTART=\"TCP\",\"192.168.1.109\",80");
delay(10);
mySerial.print("AT+CIPSEND=");
mySerial.println(header.length());
mySerial.flush();
delay(200);
mySerial.println(header);
mySerial.flush();
}
void loop() { // run over and over
if (mySerial.available()) {
Serial.write(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
}
вот ответ из монитора и в 5 строчке должно быть AT+CIPSTART="TCP","192.168.1.109",80 , а там чет каракули
AT
OK
AT+CIPSTAЁхўAbrВ))Д‚j
CONNECT
OK
AT+CIPSEND=79GET /1/1.php?tmp=hj&hmd=20 HTTP/1.1
Host: 192.168.1.109
Connection: close
busy s...
Recv 79 bytes
SEND OK
+IPD,201:HTTP/1.1 200 OK
Date: Tue, 07 Jun 2016 19:53:34 GMT
Server: Apache/2.2.25 (Win32) PHP/5.4.30
X-Powered-By: PHP/5.4.30
Content-Length: 13
Connection: close
Content-Type: text/html
tmp=hj&hmd=20CLOSED
---
))) сам спрашиваю, сам отвечаю )), надо было задержку увеличить не 10, а больше, поставил 1000. Да, задержки delay() не везде там нужны, это тестил..
имеем: esp8266 подключенную к arduino по uart(0,1), esp-link прошивка,подключение к роутеру настроенно в esp, скетчи заливает по Wi-Fi отлично.
задача: использовать ethernet, беру любой пример пинга или NTP, во всех них участвует стандартная библиотека Ethernet.h, понимаю что для шилдов, но все же вбиваю MAC и IP esp8266 - результата нет, нужна другая библиотека? где искать? куда копать?
Ситуация стандартная, но поиск решения проблемы не дал результатов.
Есть ESP-07.
AT+GMR
AT version:0.40.0.0(Aug 8 2015 14:45:58)
SDK version:1.3.0
Ai-Thinker Technology Co.,Ltd.
Build:1.3.0.2 Sep 11 2015 11:48:04
Пытаюсь отправить get запрос, в конце выдает следующую ошибку:
CONNECT
OK
AT+CIPSEND=78
OK
> CLOSED
busy s...
Recv 78 bytes
SEND FAIL
Искал везде по кроахам, но в итоге все равно вот такая ошибка. Не подскажите хотя бы источник, где можно почитать адекватную инструкцию, как отправлять get запросы с помощью at команд?
Подскажите как лучше распарсить ответ от сервера, ниже пример ответа, мне надо получить данную строку tmp=hj&hmd=20CLOSED
ну и ее разбить на ключ=значение
+IPD,201:HTTP/1.1 200 OK
Date: Tue, 07 Jun 2016 19:53:34 GMT
Server: Apache/2.2.25 (Win32) PHP/5.4.30
X-Powered-By: PHP/5.4.30
Content-Length: 13
Connection: close
Content-Type: text/html
tmp=hj&hmd=20CLOSED
Проблема как разбить tmp=hj&hmd=20CLOSED на пары ключ/значение? strtok есть, например. Да по всякому можно. Покажите, как вы пытались, и подскажем, где проблема.
я пока не пытался, пока читаю как лучше сделать, но strtok делит по одному символу, тип или '\r' или '\n' или '=' т.е что-то одно, а чтобы разделил ответ на заголовки и тело тип таким сепаратором "\r\n\r\n", ну в php есть функция explode(), например, возможно вы знакомы..
Знаком, только explode, а не eplode ;) Тут не PHP, тут С/С++ надо. Если хочется PHP-like пути, то есть встроенный класс String, у него кучу методов типа substring и прочего - можно с помощью них оперативку дёрганьями помучать. А вообще - решение зависит от многих параметров. Скажем, если мне не надо париться и не жмёт оператива, то тупо напишу быдлокод с substring и прочим. Если надо по-человечьи, то помещу входящую строку в статический буфер и напишу что-то вроде этого:
Не тестировал, написал сходу, так что без претензий.
З.Ы. Как выщемить во входящей строке \r\n\r\n, после которого идёт тело, думаю, разберётесь ;)
З.З.Ы. Vector - это класс у мну такой лисапедный есть, вместо него можно простыми динамическими массивами сделать. Или - статическими, если заранее известно максимальное кол-во параметров вида "ключ=значение".
eplode это чисто случайно букву пропустил )), я ее сразу же вставил, это просто вы оперативно заметили )), да я вот и думал делать ли мне велосипед или есть готовое, давно просто уже не кодил, с 2009 года ), С++ немного знал, на нем даже ООП понял сразу, а на PHP не доходило )), но подзабылось все ужасно, счас сижу и чешу голову )), пасиб за подсказки.
имеем: esp8266 подключенную к arduino по uart(0,1), esp-link прошивка,подключение к роутеру настроенно в esp, скетчи заливает по Wi-Fi отлично.
задача: использовать ethernet, беру любой пример пинга или NTP, во всех них участвует стандартная библиотека Ethernet.h, понимаю что для шилдов, но все же вбиваю MAC и IP esp8266 - результата нет, нужна другая библиотека? где искать? куда копать?
Отвечаю сам на свой вопрос: нужно включить SLIP в веб-морде и подкинуть библиотеку https://github.com/jeelabs/el-client где REST и MQQT заявлены, REST из примеров работает. Жаль что проектов нет на esp-link :(
Доброго времени суток! Прошу направить (но не послать) на нужное направление, содержащее подробнейшую информацию о подключении, программировании (необходимо получать инфу с датчиков) следующего девайса ESP-12E «Wemos» D1 WiFi uno основе ESP8266 к ардуинке уно. Прошу очень Вас.
szhitnikov, а знаете, почему уже в течение почти суток никто не реагирует на Вашу просьбу ? Дело в том, что в интернете на сегодняшний день есть достаточно подробнейшей информации о "Wemos", и находится она простейшими запросами. Позвольте мягко направить (но не послать) Вас в Гугл.
Каким местом там Ардуино Уно, я как-то недопонял, "Wemos" вполне самостоятельное устройство, зачем его подключать к Ардуино ? (Вопрос риторический, если что.)
Ну в Гугл Вас уже мягко направили (но не послали). Я тогда ещё направлю (столь же мягко) сюда - http://esp8266.ru/ (ценнейший источник знаний по esp8266, кроме гугла)
Есть ESP8266-01 и Mega2560, подключены через Serial2. Питание модуля внешнее 3,3В. AT-0.40 SDK 1.3.0
На АТ команды реагирует нормально, но как только хочу передать GET запрос - ответа не получаю.
Вот команды
AT+CWMODE=1
AT+CWJAP="ssid","pass"
AT+CIPSTART="TCP","site.ru",80
AT+CIPSEND=16
>
GET / HTTP/1.0
busy s...
Recv 16 bytes
SEND OK
и через n-секунд CLOSED
И больше ничего. Почему может не быть ответа ?
Код скетча
void setup() {
// initialize both serial ports:
Serial.begin(9600);
Serial2.begin(9600);
Serial2.println("AT");
}
void loop() {
// read from port 1, send to port 0:
if (Serial2.available()) {
int inByte = Serial2.read();
Serial.write(inByte);
}
// read from port 0, send to port 1:
if (Serial.available()) {
int inByte = Serial.read();
Serial2.write(inByte);
}
}
пришли два модуля esp12e. вопросов куча появилось. в гугле вся информация про то как его конектят с роутером. а у меня вопрос - реально ли собрать пульт ду для радиоуправляемой машинки. или придется с собой роутер носить и создать локальную сеть
Я бы советовал использовать для этой цели радиомодули. Проще, дешевле, информации найдете море. На Али достаточно хороший выбор.
Если хочется управления с помощью смартфона - удобнее будет блютуз.
Если все же хочется использовать espшки, то нужно один использовать как сервер, другой как клиент.
Лично мое мнение - если нужно реализовать просто управшление - используйте блютуз/радио. Если хочется изучить сами модули esp, а управление машинками - просто применение, то хотелось бы подробностей) чем управлять собираетесь, с чего управлять и т.д.
пришли два модуля esp12e. вопросов куча появилось. в гугле вся информация про то как его конектят с роутером. а у меня вопрос - реально ли собрать пульт ду для радиоуправляемой машинки. или придется с собой роутер носить и создать локальную сеть
Функционально управлять при помощи смартфона, вподне реально. Поднимаете на ESP8266 точку доступа и WEB-сервер для управления, но привыкайте к мысли, что протокол HTTP да еще и в исполнении WiFi довольно тармознутый. Если использовать WEB-сокет или просто сокет - результат будет получше, но больше программирования со стороны клиента. Как в варианте с блютусом, впрочем.
приехал lolin(nodemcu v3 c CH340), продавец обещал 32мбит, при AT+RST на стоковой прошивке показал SPI FLASH & MAP - 8мбит, залил esp-link как для 32мбит, работает нормально, веб и сети.
собственно вопрос: возможно ли прошить разметку не своего размера и как проверить не прошивая истинный размер флеша?
Анонсированные в марте 2016 года WiFi модули ESP8285 начали поступать в продажу. ESP8285 благодаря небольшой разнице в цене и схожему функционалу можно назвать лучшей заменой популярного модуля ESP8266.
Действительно, ESP8285 по своим характеристикам мало чем отличается от своего предшественника. Главным отличием здесь является увеличенная flash-память (1 МБ). В основе этого радиомодуля находится уже знакомый нам 32-разрядный микроконтроллер Tensilica L106, основная рабочая частота которого составляет 80 МГц, хотя он может разгоняться до 160 МГц. На нем можно запускать операционную систему реального времени RTOS, что очень удобно в некоторых приложениях. Еще одной особенностью ESP8285 является его миниатюрность. Он меньше чем ESP8266, поскольку предназначен главным образом для носимой электроники.
With the advanced power management technologies, ESP32 can switch between different power modes (see Table 4).
• Power mode
– Active mode: The chip radio is powered on. The chip can receive, transmit, or listen.
– Modem-sleep mode: The CPU is operational and the clock is configurable. The Wi-Fi/Bluetooth baseband and radio are disabled.
- Light-sleep mode: The CPU is paused. The RTC and ULP-coprocessor are running. Any wake-up
events (MAC, host, RTC timer, or external interrupts) will wake up the chip.
– Deep-sleep mode: Only RTC is powered on. Wi-Fi and Bluetooth connection data are stored in RTC
memory. The ULP-coprocessor can work.
– Hibernate mode: The internal 8MHz oscillator and ULP-coprocessor are disabled. The RTC recovery
memory are power-down. Only one RTC timer on the slow clock and some RTC GPIOs are active. The
RTC timer or the RTC GPIOs can wake up the chip from the Hibernate mode.
Здравствуйте, может кто показать небольшой пример скетча где ардуино формирует небольшую страничку с данными, а esp8266 её показывает в сеть как клиент то есть вебсервер.
Просто нужно перевести работу W5100 на esp8266, но несколько дней не как не могу разобратся, разобрался как подключать с помощью ардуины esp8266 как клиент или как точка доступа но вот как сформировать html страничку не как не пойму
Среди общего числа различных модификаций ESP8266? есть у меня два модуля ESP-12 у которых наблюдается странная картина : Постоянно горит синий светодиод! при этом модули не работают как должны. Нормально видятся и прошиваются флешерами. в том числе и blank прошивки и любые другие заливаются. но после рестарта подмаргивает и зажигает опять свой синий глаз. Ни в какие сейв моды итд не входят, ничего не помогает его запустить. Питание нормальное, подключение штатное, все несколько раз перепроверял. И вроде есть у меня полно других полностью рабочих, но покоя мне не даёт что же всётаки с ними случилось такое?
Считается, что Softserial не работает нормально со скоростями выше 57600, разные источники называют также 19200, 31250 и 38400.
Потестил ESP8266 12E с software serial стабильно работает только на скорости 9600, что с конвертором уровней (3.3<->5) что без. На 19200 уже начинаются проблемы, через раз но проблемы есть.
Выше чем 19200 уже сплошные глюки в каждом ответе от ESP8266.
Это проблема ESP8266, или всех устройств на software serial?
Считается, что Softserial не работает нормально со скоростями выше 57600, разные источники называют также 19200, 31250 и 38400.
Потестил ESP8266 12E с software serial стабильно работает только на скорости 9600, что с конвертором уровней (3.3<->5) что без. На 19200 уже начинаются проблемы, через раз но проблемы есть.
Выше чем 19200 уже сплошные глюки в каждом ответе от ESP8266.
Это проблема ESP8266, или всех устройств на software serial?
Это проблемы SoftwareSerial. Там еще размером буфера можно поиграться. Может поможет. Но на скорости свыше 9600, ИМХО, аппаратный UART. Посадить отладку на Serial1 (GPIO2), а основной использовать для обмена.
У esp железный uart. Проблемма на стороне ардуины. А зачем скорости больше 9600?
Да это понятно, как раз проблема в software serial.
Ну как зачем? Будет быстрее страничка рисоваться.
sav13 пишет:
Это проблемы SoftwareSerial. Там еще размером буфера можно поиграться. Может поможет. Но на скорости свыше 9600, ИМХО, аппаратный UART. Посадить отладку на Serial1 (GPIO2), а основной использовать для обмена. Прошивать и вовсе через WebUpdate
Да я уже это понял, пока буду смотреть на 9600. Просто аппаратный у NANO один. Я пока не понял как его использовать для ESP если по нему прошивку заливаю.
измените структуру устройства. пусть ардуина передает сырые данные в ESP, а все рисование страничек делать на стороне ESP, тогда скорость обмена с ардуиной не будет влиять на скорость WEB да и ардуина будет разгружена web задачами
ну не знаю,у меня наоборот софтсериал на есп работант идеально на скорости 57600,на 74880 редко-редко проскакивают кракозябры,а на 115200 уже ломаных символов все больше,ломается целостность строки,поэтому использую 57600...а вот мега на железном сериал3 работает-работает да подвисает порой на пару минут,а потом как с пулемета все сообщения отправит пачку,а иногда больше и не отвисает....скорость работы на ситуацию не влияет,ставил и 9600....возможно из-за того что на меге использую прерывание serialEvent(),сейчас пойду уберу,может поможет...
У esp железный uart. Проблемма на стороне ардуины. А зачем скорости больше 9600?
Да это понятно, как раз проблема в software serial.
Ну как зачем? Будет быстрее страничка рисоваться.
sav13 пишет:
Это проблемы SoftwareSerial. Там еще размером буфера можно поиграться. Может поможет. Но на скорости свыше 9600, ИМХО, аппаратный UART. Посадить отладку на Serial1 (GPIO2), а основной использовать для обмена. Прошивать и вовсе через WebUpdate
Да я уже это понял, пока буду смотреть на 9600. Просто аппаратный у NANO один. Я пока не понял как его использовать для ESP если по нему прошивку заливаю.
вам правильно говорят,глупо в этой связке ложить работу формирования веб страницы на ардуино...веб страницей должен заниматься есп,а ардуина на есп должна гнать лишь данные которые будут отображаться на той самой страничке,температуры,всякие показания и тд...
вам правильно говорят,глупо в этой связке ложить работу формирования веб страницы на ардуино...веб страницей должен заниматься есп,а ардуина на есп должна гнать лишь данные которые будут отображаться на той самой страничке,температуры,всякие показания и тд...
+1
А еще лучше вообще Ардуино исключить и получать данные прямо на ESP.
Точно, что то сразу не подумал, хотел использовать ESP просто как сетевой модуль, а он же в принципе и программируется. Сейчас гляну в инете.
Эх опять с блинка начинать как и с ардуино.
Есть здесь кто-нибудь, кто умеет из терминала get запросы отправлять?
Есть :) Пишешь в терминалке GET-запрос, и отправляешь. Сам простейший GET-запрос выглядит так (вместо \r\n - соответствующие коды возврата каретки и перевода строки):
GET / HTTP/1.0\r\n
Host: google.com\r\n
\r\n
Можно ещё кучу заголовков добавить, типа Connection, Referer и прочей шелухи. В общем, проще прочитать RFC по HTTP, хотя бы бегло - многие вопросы отпадут.
Если же имелось в виду отправлять GET-запрос из терминалки на ESP - то там несколько по-другому: с AT-прошивкой эта железка сначала просит указать, сколько байт хотим послать по AT+CIPSEND, а потом уже - сами эти байты ждёт. Соответственно, надо сначала подсчитать длину запроса, послать команду AT+CIPSEND с указанием длины данных, которые пойдут, потом уже - сами эти данные. Т.е. ручками уже не так просто.
Незнаю как у всех, но у меня с 5в логикой работает криво, поставил делитель - работает вроде норм, в терминале вроде мусора нету, сча буду тестировать скетчем. Но на делителе просело напряжение до 3.6в с 5в, поэтому 1 вышла 2.4в
---
софтсериал не хотел работать со скоростью 115200, поставил 9600 - работает, потом проверю на какой максимальной будет работать.
---
чет в одном месте всеравно каракули
вот ответ из монитора и в 5 строчке должно быть AT+CIPSTART="TCP","192.168.1.109",80 , а там чет каракули
---
))) сам спрашиваю, сам отвечаю )), надо было задержку увеличить не 10, а больше, поставил 1000. Да, задержки delay() не везде там нужны, это тестил..
имеем: esp8266 подключенную к arduino по uart(0,1), esp-link прошивка,подключение к роутеру настроенно в esp, скетчи заливает по Wi-Fi отлично.
задача: использовать ethernet, беру любой пример пинга или NTP, во всех них участвует стандартная библиотека Ethernet.h, понимаю что для шилдов, но все же вбиваю MAC и IP esp8266 - результата нет, нужна другая библиотека? где искать? куда копать?
какаято абра кадабра, 2 раза перечитал и ничего не понял
Здравствуйте!
Ситуация стандартная, но поиск решения проблемы не дал результатов.
Есть ESP-07.
Искал везде по кроахам, но в итоге все равно вот такая ошибка. Не подскажите хотя бы источник, где можно почитать адекватную инструкцию, как отправлять get запросы с помощью at команд?
Подскажите как лучше распарсить ответ от сервера, ниже пример ответа, мне надо получить данную строку tmp=hj&hmd=20CLOSED
ну и ее разбить на ключ=значение
Проблема как разбить tmp=hj&hmd=20CLOSED на пары ключ/значение? strtok есть, например. Да по всякому можно. Покажите, как вы пытались, и подскажем, где проблема.
я пока не пытался, пока читаю как лучше сделать, но strtok делит по одному символу, тип или '\r' или '\n' или '=' т.е что-то одно, а чтобы разделил ответ на заголовки и тело тип таким сепаратором "\r\n\r\n", ну в php есть функция explode(), например, возможно вы знакомы..
Знаком, только explode, а не eplode ;) Тут не PHP, тут С/С++ надо. Если хочется PHP-like пути, то есть встроенный класс String, у него кучу методов типа substring и прочего - можно с помощью них оперативку дёрганьями помучать. А вообще - решение зависит от многих параметров. Скажем, если мне не надо париться и не жмёт оператива, то тупо напишу быдлокод с substring и прочим. Если надо по-человечьи, то помещу входящую строку в статический буфер и напишу что-то вроде этого:
Не тестировал, написал сходу, так что без претензий.
З.Ы. Как выщемить во входящей строке \r\n\r\n, после которого идёт тело, думаю, разберётесь ;)
З.З.Ы. Vector - это класс у мну такой лисапедный есть, вместо него можно простыми динамическими массивами сделать. Или - статическими, если заранее известно максимальное кол-во параметров вида "ключ=значение".
eplode это чисто случайно букву пропустил )), я ее сразу же вставил, это просто вы оперативно заметили )), да я вот и думал делать ли мне велосипед или есть готовое, давно просто уже не кодил, с 2009 года ), С++ немного знал, на нем даже ООП понял сразу, а на PHP не доходило )), но подзабылось все ужасно, счас сижу и чешу голову )), пасиб за подсказки.
имеем: esp8266 подключенную к arduino по uart(0,1), esp-link прошивка,подключение к роутеру настроенно в esp, скетчи заливает по Wi-Fi отлично.
задача: использовать ethernet, беру любой пример пинга или NTP, во всех них участвует стандартная библиотека Ethernet.h, понимаю что для шилдов, но все же вбиваю MAC и IP esp8266 - результата нет, нужна другая библиотека? где искать? куда копать?
Отвечаю сам на свой вопрос: нужно включить SLIP в веб-морде и подкинуть библиотеку https://github.com/jeelabs/el-client где REST и MQQT заявлены, REST из примеров работает. Жаль что проектов нет на esp-link :(
Доброго времени суток! Прошу направить (но не послать) на нужное направление, содержащее подробнейшую информацию о подключении, программировании (необходимо получать инфу с датчиков) следующего девайса ESP-12E «Wemos» D1 WiFi uno основе ESP8266 к ардуинке уно. Прошу очень Вас.
szhitnikov, а знаете, почему уже в течение почти суток никто не реагирует на Вашу просьбу ? Дело в том, что в интернете на сегодняшний день есть достаточно подробнейшей информации о "Wemos", и находится она простейшими запросами. Позвольте мягко направить (но не послать) Вас в Гугл.
Каким местом там Ардуино Уно, я как-то недопонял, "Wemos" вполне самостоятельное устройство, зачем его подключать к Ардуино ? (Вопрос риторический, если что.)
Ну в Гугл Вас уже мягко направили (но не послали). Я тогда ещё направлю (столь же мягко) сюда - http://esp8266.ru/ (ценнейший источник знаний по esp8266, кроме гугла)
esp-link весчь! но ограничивает использование модуля
Вот если бы кто сделал реализацию STK500 на Arduino IDE , было бы удобно шить мегу по воздуху, и пользовать ЕСПху для связи с внешним миром
Я понимаю что есть реализация AVRISP но она не удобна, требует стороннего загрузчика и занимает пины
Добрый вечер!
Есть ESP8266-01 и Mega2560, подключены через Serial2. Питание модуля внешнее 3,3В. AT-0.40 SDK 1.3.0
На АТ команды реагирует нормально, но как только хочу передать GET запрос - ответа не получаю.
Вот команды
Вы уверены, что "GET / HTTP/1.0"- это GET запрос ?
Вот, например, GET запрос :
client.println("GET /search?q=arduino HTTP/1.0");
client.println("HOST: google.com");
client.println();
Или вот :
Вы уверены, что "GET / HTTP/1.0"- это GET запрос ?
Вот, например, GET запрос :
client.println("GET /search?q=arduino HTTP/1.0");
client.println("HOST: google.com");
client.println();
Или вот :
Спасибо большое, помогло.
пришли два модуля esp12e. вопросов куча появилось. в гугле вся информация про то как его конектят с роутером. а у меня вопрос - реально ли собрать пульт ду для радиоуправляемой машинки. или придется с собой роутер носить и создать локальную сеть
Я бы советовал использовать для этой цели радиомодули. Проще, дешевле, информации найдете море. На Али достаточно хороший выбор.
Если хочется управления с помощью смартфона - удобнее будет блютуз.
Если все же хочется использовать espшки, то нужно один использовать как сервер, другой как клиент.
Лично мое мнение - если нужно реализовать просто управшление - используйте блютуз/радио. Если хочется изучить сами модули esp, а управление машинками - просто применение, то хотелось бы подробностей) чем управлять собираетесь, с чего управлять и т.д.
пришли два модуля esp12e. вопросов куча появилось. в гугле вся информация про то как его конектят с роутером. а у меня вопрос - реально ли собрать пульт ду для радиоуправляемой машинки. или придется с собой роутер носить и создать локальную сеть
Функционально управлять при помощи смартфона, вподне реально. Поднимаете на ESP8266 точку доступа и WEB-сервер для управления, но привыкайте к мысли, что протокол HTTP да еще и в исполнении WiFi довольно тармознутый. Если использовать WEB-сокет или просто сокет - результат будет получше, но больше программирования со стороны клиента. Как в варианте с блютусом, впрочем.
Добрый день! подскажите насколько удобны эти модули(http://ru.aliexpress.com/item/NodeMCU-Development-Board-for-ESP-12E-From-ESP8266-Esp-12E-Lua-IoT-Programable-Diy-Rc-Toy/32587639930.html?spm=2114.30010708.3.211.BlmHOi&ws_ab_test=searchweb201556_10,searchweb201602_5_10039_10048_10057_10047_10056_10037_10055_10049_10059_10033_10046_10058_10032_10045_10017_405_404_10040_10060_10061_412,searchweb201603_1&btsid=8416ba41-3816-4401-a534-09d0a84e6c0a) для для управления нагрузкой через интернет по протаколу MQTT, еще интересен мне процесс прошивки , у ESP-12E тоже есть режим прошивки или же можно как в ардуино вставил шнур , выбрал устройство , сом и прошивай?
А через этот модуль можно видео с вебки прогонять до телефона? видео без звука 640 на 480?
приехал lolin(nodemcu v3 c CH340), продавец обещал 32мбит, при AT+RST на стоковой прошивке показал SPI FLASH & MAP - 8мбит, залил esp-link как для 32мбит, работает нормально, веб и сети.
собственно вопрос: возможно ли прошить разметку не своего размера и как проверить не прошивая истинный размер флеша?
ESP32 !
CPU: Xtensa Dual-Core 32-bit LX6, 160 MHz или 240 MHz (до 600 DMIPS)
Memory: 520 KByte SRAM, 448 KByte ROM
Flash на модуле: 1, 2, 4… 64 Мб
Wireless:
Peripheral interfaces:
Security:
Подробности : https://habrahabr.ru/post/309746/ , https://espressif.com/en/products/hardware/esp32/resources
Ждём на Али ?
UPD: Поискал на Али - таки да : https://www.aliexpress.com/item/2-pcs-lot-free-shipping-preorder-dual-core-low-power-WiFi-Bluetooth-esp32-module/32732232784.html?spm=2114.01010208.3.26.XCrHTN&ws_ab_test=searchweb201556_10,searchweb201602_1_10065_10068_112_10069_110_111_10017_109_108_10060_10061_10062_10057_10056_10055_10037_10054_301_10033_10059_10032_10058_10073_10070_10052_10053_10050_10051,searchweb201603_1&btsid=e182dea6-36c2-4fd4-99cb-8bdc65695ffd
Ещё появился ESP8285. Даташит.
Анонсированные в марте 2016 года WiFi модули ESP8285 начали поступать в продажу. ESP8285 благодаря небольшой разнице в цене и схожему функционалу можно назвать лучшей заменой популярного модуля ESP8266.
Действительно, ESP8285 по своим характеристикам мало чем отличается от своего предшественника. Главным отличием здесь является увеличенная flash-память (1 МБ). В основе этого радиомодуля находится уже знакомый нам 32-разрядный микроконтроллер Tensilica L106, основная рабочая частота которого составляет 80 МГц, хотя он может разгоняться до 160 МГц. На нем можно запускать операционную систему реального времени RTOS, что очень удобно в некоторых приложениях. Еще одной особенностью ESP8285 является его миниатюрность. Он меньше чем ESP8266, поскольку предназначен главным образом для носимой электроники.
Но ESP32 конечно круче.
Ждём на Али ?
А потом пару лет ждать, пока SDK нормальный выпустят. Я вот взял RTL8710 побаловаться. Сейчас Амебу ковыряю.
Ещё появился ESP8285. Даташит.
А он по SDK, загрузчику и прочим вещам с ESP8266 совместим?
Как-то слово "preorder" (предзаказ) смущает. Т.е. модулей еще нет, но они, якобы, будут.
А он по SDK, загрузчику и прочим вещам с ESP8266 совместим?
Не в курсе, ещё не разбирался. Но МК там одинаковый - Tensilica L106.
Как-то слово "preorder" (предзаказ) смущает. Т.е. модулей еще нет, но они, якобы, будут.
Дык, "горячий" товар же, на Seeedstudio ещё интереснее :
Dear Customers,The first batch of the ESP3212 (600pcs) has been sold out!
Orders placed before 18:00(UTC+ 8), 6th Sept, will be shipped around 23rd Sept.
The second batch (3000pcs) has also been sold out!
Due to China National Holiday, orders placed between 18:00(UTC+ 8), 6th Sept and 18:00(UTC+ 8), 8th Sept, are estimated to be shipped around 10th Oct.
Orders placed after 18:00(UTC+ 8), 8th Sept, are estimated to be shipped around 25th Oct.
ESP32 !
....
Ощущается явная нехватка USB. А в остальном - моща конечно.
Если еще потребление будет разумным, хотяб 100мА при отключенном вайфае - вещ.
ПС. На картинке в хабре чтото про USB просматривается.
На картинке в Хабре ESP32 Demo Board V2, ESP32 изрядно поменьше будет.
With the advanced power management technologies, ESP32 can switch between different power modes (see Table 4).
• Power mode
– Active mode: The chip radio is powered on. The chip can receive, transmit, or listen.
– Modem-sleep mode: The CPU is operational and the clock is configurable. The Wi-Fi/Bluetooth baseband and radio are disabled.
- Light-sleep mode: The CPU is paused. The RTC and ULP-coprocessor are running. Any wake-up
events (MAC, host, RTC timer, or external interrupts) will wake up the chip.
– Deep-sleep mode: Only RTC is powered on. Wi-Fi and Bluetooth connection data are stored in RTC
memory. The ULP-coprocessor can work.
– Hibernate mode: The internal 8MHz oscillator and ULP-coprocessor are disabled. The RTC recovery
memory are power-down. Only one RTC timer on the slow clock and some RTC GPIOs are active. The
RTC timer or the RTC GPIOs can wake up the chip from the Hibernate mode.
ESP32 !
...
Подробности : https://habrahabr.ru/post/309746/ , https://espressif.com/en/products/hardware/esp32/resources
Ждём на Али ?
UPD: Поискал на Али - таки да : https://www.aliexpress.com/item/2-pcs-lot-free-shipping-preorder-dual-core-low-power-WiFi-Bluetooth-esp32-module/32732232784.html?spm=2114.01010208.3.26.XCrHTN&ws_ab_test=searchweb201556_10,searchweb201602_1_10065_10068_112_10069_110_111_10017_109_108_10060_10061_10062_10057_10056_10055_10037_10054_301_10033_10059_10032_10058_10073_10070_10052_10053_10050_10051,searchweb201603_1&btsid=e182dea6-36c2-4fd4-99cb-8bdc65695ffd
ESP32 ??? опять на Али с лохов деньги собирают.
Ух ты, надо же. Продавцы с Алиэкспресса делятся с Вами своими планами ?
Всем доброго вечера!
Подскажите, пожалуйста.
В наличии ESP8266 12E. Подключил по схеме, подал отдельно 3.2 В. На модуле загорается синий диод, появляется новая сеть.
При соединении ESP8266 с Arduino mega диод гаснет, сеть пропадает..
С чем сие может быть связано?
Здравствуйте, может кто показать небольшой пример скетча где ардуино формирует небольшую страничку с данными, а esp8266 её показывает в сеть как клиент то есть вебсервер.
Просто нужно перевести работу W5100 на esp8266, но несколько дней не как не могу разобратся, разобрался как подключать с помощью ардуины esp8266 как клиент или как точка доступа но вот как сформировать html страничку не как не пойму
Среди общего числа различных модификаций ESP8266? есть у меня два модуля ESP-12 у которых наблюдается странная картина : Постоянно горит синий светодиод! при этом модули не работают как должны. Нормально видятся и прошиваются флешерами. в том числе и blank прошивки и любые другие заливаются. но после рестарта подмаргивает и зажигает опять свой синий глаз. Ни в какие сейв моды итд не входят, ничего не помогает его запустить. Питание нормальное, подключение штатное, все несколько раз перепроверял. И вроде есть у меня полно других полностью рабочих, но покоя мне не даёт что же всётаки с ними случилось такое?
Кто нибудь пробовал подключать далас на gpio0?
У меня есть несколько модулей где выведен только gpio0
Считается, что Softserial не работает нормально со скоростями выше 57600, разные источники называют также 19200, 31250 и 38400.
Потестил ESP8266 12E с software serial стабильно работает только на скорости 9600, что с конвертором уровней (3.3<->5) что без. На 19200 уже начинаются проблемы, через раз но проблемы есть.
Выше чем 19200 уже сплошные глюки в каждом ответе от ESP8266.
Это проблема ESP8266, или всех устройств на software serial?
У esp железный uart. Проблемма на стороне ардуины. А зачем скорости больше 9600?
Считается, что Softserial не работает нормально со скоростями выше 57600, разные источники называют также 19200, 31250 и 38400.
Потестил ESP8266 12E с software serial стабильно работает только на скорости 9600, что с конвертором уровней (3.3<->5) что без. На 19200 уже начинаются проблемы, через раз но проблемы есть.
Выше чем 19200 уже сплошные глюки в каждом ответе от ESP8266.
Это проблема ESP8266, или всех устройств на software serial?
Это проблемы SoftwareSerial. Там еще размером буфера можно поиграться. Может поможет. Но на скорости свыше 9600, ИМХО, аппаратный UART. Посадить отладку на Serial1 (GPIO2), а основной использовать для обмена.
Прошивать и вовсе через WebUpdate
У esp железный uart. Проблемма на стороне ардуины. А зачем скорости больше 9600?
Да это понятно, как раз проблема в software serial.
Ну как зачем? Будет быстрее страничка рисоваться.
Это проблемы SoftwareSerial. Там еще размером буфера можно поиграться. Может поможет. Но на скорости свыше 9600, ИМХО, аппаратный UART. Посадить отладку на Serial1 (GPIO2), а основной использовать для обмена. Прошивать и вовсе через WebUpdate
Да я уже это понял, пока буду смотреть на 9600. Просто аппаратный у NANO один. Я пока не понял как его использовать для ESP если по нему прошивку заливаю.
Ну как зачем? Будет быстрее страничка рисоваться.
измените структуру устройства. пусть ардуина передает сырые данные в ESP, а все рисование страничек делать на стороне ESP, тогда скорость обмена с ардуиной не будет влиять на скорость WEB да и ардуина будет разгружена web задачами
ну не знаю,у меня наоборот софтсериал на есп работант идеально на скорости 57600,на 74880 редко-редко проскакивают кракозябры,а на 115200 уже ломаных символов все больше,ломается целостность строки,поэтому использую 57600...а вот мега на железном сериал3 работает-работает да подвисает порой на пару минут,а потом как с пулемета все сообщения отправит пачку,а иногда больше и не отвисает....скорость работы на ситуацию не влияет,ставил и 9600....возможно из-за того что на меге использую прерывание serialEvent(),сейчас пойду уберу,может поможет...
У esp железный uart. Проблемма на стороне ардуины. А зачем скорости больше 9600?
Да это понятно, как раз проблема в software serial.
Ну как зачем? Будет быстрее страничка рисоваться.
Это проблемы SoftwareSerial. Там еще размером буфера можно поиграться. Может поможет. Но на скорости свыше 9600, ИМХО, аппаратный UART. Посадить отладку на Serial1 (GPIO2), а основной использовать для обмена. Прошивать и вовсе через WebUpdate
Да я уже это понял, пока буду смотреть на 9600. Просто аппаратный у NANO один. Я пока не понял как его использовать для ESP если по нему прошивку заливаю.
вам правильно говорят,глупо в этой связке ложить работу формирования веб страницы на ардуино...веб страницей должен заниматься есп,а ардуина на есп должна гнать лишь данные которые будут отображаться на той самой страничке,температуры,всякие показания и тд...
вам правильно говорят,глупо в этой связке ложить работу формирования веб страницы на ардуино...веб страницей должен заниматься есп,а ардуина на есп должна гнать лишь данные которые будут отображаться на той самой страничке,температуры,всякие показания и тд...
+1
А еще лучше вообще Ардуино исключить и получать данные прямо на ESP.
Если GPIO хватает
Зачем пложить сущности без рнадобности? (C)
Точно, что то сразу не подумал, хотел использовать ESP просто как сетевой модуль, а он же в принципе и программируется. Сейчас гляну в инете.
Эх опять с блинка начинать как и с ардуино.
Спасибо всем за подсказки.
там ничего сложного
на выбор для новичка ардуино IDE для ESP или nodemcu
для продвинутых SDK
я пока играюсь на NodeMCU