Пользует ли кто WiFi-модули ESP8266 ? Поделитесь впечатлениями.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

atech пишет:

Есть здесь кто-нибудь, кто умеет из терминала 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 с указанием длины данных, которые пойдут, потом уже - сами эти данные. Т.е. ручками уже не так просто.

Lion777
Offline
Зарегистрирован: 20.05.2016

Незнаю как у всех, но у меня с 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() не везде там нужны, это тестил..

c0013r
Offline
Зарегистрирован: 06.12.2015

имеем: esp8266 подключенную к arduino по uart(0,1), esp-link прошивка,подключение к роутеру настроенно в esp, скетчи заливает по Wi-Fi отлично. 

задача: использовать ethernet, беру любой пример пинга или NTP, во всех них участвует стандартная библиотека Ethernet.h, понимаю что для шилдов, но все же вбиваю MAC и IP esp8266 - результата нет, нужна другая библиотека? где искать? куда копать?

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

какаято абра кадабра, 2 раза перечитал и ничего не понял

zalias7
Offline
Зарегистрирован: 18.03.2015

atech пишет:

Здравствуйте!

Ситуация стандартная, но поиск решения проблемы не дал результатов.

Есть 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 команд?

busy s.. это занят ... дай паузу , мне помогло :)
Lion777
Offline
Зарегистрирован: 20.05.2016

Подскажите как лучше распарсить ответ от сервера, ниже пример ответа, мне надо получить данную строку 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
DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Проблема как разбить tmp=hj&hmd=20CLOSED на пары ключ/значение? strtok есть, например. Да по всякому можно. Покажите, как вы пытались, и подскажем, где проблема.

Lion777
Offline
Зарегистрирован: 20.05.2016

я пока не пытался, пока читаю как лучше сделать, но strtok делит по одному символу, тип или '\r' или '\n' или '=' т.е что-то одно, а чтобы разделил ответ на заголовки и тело тип таким сепаратором "\r\n\r\n", ну в php есть функция explode(), например, возможно вы знакомы..

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Знаком, только explode, а не eplode ;) Тут не PHP, тут С/С++ надо. Если хочется PHP-like пути, то есть встроенный класс String, у него кучу методов типа substring и прочего - можно с помощью них оперативку дёрганьями помучать. А вообще - решение зависит от многих параметров. Скажем, если мне не надо париться и не жмёт оператива, то тупо напишу быдлокод с substring и прочим. Если надо по-человечьи, то помещу входящую строку в статический буфер и напишу что-то вроде этого:

typedef struct
{
char* key;
char* value;

} key_value;

char buff[] = "one=1&two=2&three=3";


Vector<key_value> params;

char* walker = buff;
char* holder = walker;

while(*walker)
{
 if(*walker == '=')
 {
   *walker = 0;
    key_value kv;
    kv.key = holder;
   kv.value = walker+1;
   
    holder = walker+1;
 }
else if( *walker == '&')
{
  *walker = 0;
   holder = walker+1;
}
 
walker++; 
}

Не тестировал, написал сходу, так что без претензий.

З.Ы. Как выщемить во входящей строке \r\n\r\n, после которого идёт тело, думаю, разберётесь ;)

З.З.Ы. Vector - это класс у мну такой лисапедный есть, вместо него можно простыми динамическими массивами сделать. Или - статическими, если заранее известно максимальное кол-во параметров вида "ключ=значение".

Lion777
Offline
Зарегистрирован: 20.05.2016

eplode это чисто случайно букву пропустил )), я ее сразу же вставил, это просто вы оперативно заметили )), да я вот и думал делать ли мне велосипед или есть готовое, давно просто уже не кодил, с 2009 года ), С++ немного знал, на нем даже ООП понял сразу, а на PHP не доходило )), но подзабылось все ужасно, счас сижу и чешу голову )), пасиб за подсказки.

c0013r
Offline
Зарегистрирован: 06.12.2015

c0013r пишет:

имеем: 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 :(

szhitnikov
Offline
Зарегистрирован: 24.06.2016

Доброго времени суток! Прошу направить (но не послать) на нужное направление, содержащее подробнейшую информацию о подключении, программировании (необходимо получать инфу с датчиков) следующего девайса ESP-12E «Wemos» D1 WiFi uno основе ESP8266 к ардуинке уно. Прошу очень Вас.

Araris
Offline
Зарегистрирован: 09.11.2012

szhitnikov, а знаете, почему уже в течение почти суток никто не реагирует на Вашу просьбу ? Дело в том, что в интернете на сегодняшний день есть достаточно подробнейшей информации о "Wemos", и находится она простейшими запросами. Позвольте мягко направить (но не послать) Вас в Гугл.

Каким местом там Ардуино Уно, я как-то недопонял, "Wemos" вполне самостоятельное устройство, зачем его подключать к Ардуино ?  (Вопрос риторический, если что.)

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Ну в Гугл Вас уже мягко направили (но не послали). Я тогда ещё направлю (столь же мягко) сюда - http://esp8266.ru/ (ценнейший источник знаний по esp8266, кроме гугла)

accord
Offline
Зарегистрирован: 04.01.2015

esp-link весчь! но ограничивает использование модуля

Вот если бы кто сделал реализацию STK500 на Arduino IDE , было бы удобно шить мегу по воздуху, и пользовать ЕСПху для связи с внешним миром

Я понимаю что есть реализация AVRISP но она не удобна, требует стороннего загрузчика и занимает пины

obuhanoe
Offline
Зарегистрирован: 18.05.2016

Добрый вечер!

Есть 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);
  }
}

 

Araris
Offline
Зарегистрирован: 09.11.2012

Вы уверены, что "GET / HTTP/1.0"- это GET запрос ?

Вот, например, GET запрос :

client.println("GET /search?q=arduino HTTP/1.0");

client.println("HOST: google.com");

client.println();

Или вот :

client.print( "GET /add_data.php?");
client.print("temp-1=");
client.print( sensors.getTempCByIndex(0) );
client.print("&");
client.print("&");
client.print("temp-2=");
client.print( sensors.getTempCByIndex(1) );
client.println( " HTTP/1.1");
client.print( "Host:" );
client.println(host);
client.println( "Connection: close" );
client.println();
client.println();

 

obuhanoe
Offline
Зарегистрирован: 18.05.2016

Araris пишет:

Вы уверены, что "GET / HTTP/1.0"- это GET запрос ?

Вот, например, GET запрос :

client.println("GET /search?q=arduino HTTP/1.0");

client.println("HOST: google.com");

client.println();

Или вот :

client.print( "GET /add_data.php?");
client.print("temp-1=");
client.print( sensors.getTempCByIndex(0) );
client.print("&");
client.print("&");
client.print("temp-2=");
client.print( sensors.getTempCByIndex(1) );
client.println( " HTTP/1.1");
client.print( "Host:" );
client.println(host);
client.println( "Connection: close" );
client.println();
client.println();

 

 

Спасибо большое, помогло.

satelit
Offline
Зарегистрирован: 12.12.2015

пришли два модуля esp12e. вопросов куча появилось. в гугле вся информация про то как его конектят с роутером. а у меня вопрос - реально ли собрать пульт ду для радиоуправляемой машинки. или придется с собой роутер носить и создать локальную сеть

 

atech
Offline
Зарегистрирован: 06.06.2016

Я бы советовал использовать для этой цели радиомодули. Проще, дешевле, информации найдете море. На Али достаточно хороший выбор.
Если хочется управления с помощью смартфона - удобнее будет блютуз.

Если все же хочется использовать espшки, то нужно один использовать как сервер, другой как клиент.

Лично мое мнение - если нужно реализовать просто управшление - используйте блютуз/радио. Если хочется изучить сами модули esp, а управление машинками - просто применение, то хотелось бы подробностей) чем управлять собираетесь, с чего управлять и т.д.

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

satelit пишет:

пришли два модуля esp12e. вопросов куча появилось. в гугле вся информация про то как его конектят с роутером. а у меня вопрос - реально ли собрать пульт ду для радиоуправляемой машинки. или придется с собой роутер носить и создать локальную сеть

Функционально управлять при помощи смартфона, вподне реально. Поднимаете на ESP8266 точку доступа и WEB-сервер для управления,  но  привыкайте к мысли, что протокол HTTP да еще и в исполнении WiFi довольно тармознутый. Если использовать WEB-сокет или просто сокет - результат будет получше, но больше программирования со стороны клиента. Как в варианте с блютусом, впрочем.

sava
Offline
Зарегистрирован: 07.07.2016

Добрый день! подскажите насколько удобны эти модули(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 тоже есть режим прошивки или же можно как в ардуино вставил шнур , выбрал устройство , сом и прошивай?

 

Dimidrol
Offline
Зарегистрирован: 19.02.2016

А через этот модуль можно видео с вебки прогонять до телефона? видео без звука 640 на 480?

c0013r
Offline
Зарегистрирован: 06.12.2015

приехал lolin(nodemcu v3 c CH340), продавец обещал 32мбит, при AT+RST на стоковой прошивке показал SPI FLASH & MAP - 8мбит, залил esp-link как для 32мбит, работает нормально, веб и сети.

собственно вопрос: возможно ли прошить разметку не своего размера и как проверить не прошивая истинный размер флеша?

 

Araris
Offline
Зарегистрирован: 09.11.2012

ESP32 !

Характеристики 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:
  • Wi-Fi: 802.11b/g/n/e/i, до 150 Mbps c HT40
  • Bluetooth: v4.2 BR/EDR и BLE



Peripheral interfaces:

  • 12-bit SAR ADC до 18 каналов
  • 2 × 8-bit DAC
  • 10 × touch сенсоров
  • Temperature сенсор
  • 4 × SPI
  • 2 × I²S
  • 2 × I²C
  • 3 × UART
  • 1 host (SD/eMMC/SDIO)
  • 1 slave (SDIO/SPI)
  • Ethernet MAC с поддержкой DMA и IEEE 1588
  • CAN 2.0
  • IR (TX/RX)
  • Motor PWM
  • LED PWM до 16 каналов
  • Hall sensor
  • Ultra low power analog pre-amplifier



Security:

  • IEEE 802.11 безопасность WFA, WPA/WPA2 и WAPI
  • Secure boot
  • Flash encryption
  • 1024-bit OTP, включая до 768-bit под задачу
  • Cryptographic движок: AES, SHA-2, RSA, ECC, RNG

Подробности : 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

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Ещё появился ESP8285. Даташит.

Цитата:

Анонсированные в марте 2016 года WiFi модули ESP8285 начали поступать в продажу. ESP8285 благодаря небольшой разнице в цене и схожему функционалу можно назвать лучшей заменой популярного модуля ESP8266.

Действительно, ESP8285 по своим характеристикам мало чем отличается от своего предшественника. Главным отличием здесь является увеличенная flash-память (1 МБ). В основе этого радиомодуля находится уже знакомый нам 32-разрядный микроконтроллер Tensilica L106, основная рабочая частота которого составляет 80 МГц, хотя он может разгоняться до 160 МГц. На нем можно запускать операционную систему реального времени RTOS, что очень удобно в некоторых приложениях. Еще одной особенностью ESP8285 является его миниатюрность. Он меньше чем ESP8266, поскольку предназначен главным образом для носимой электроники.

Но ESP32 конечно круче.

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Araris пишет:

Ждём на Али ?

А потом пару лет ждать, пока SDK нормальный выпустят. Я вот взял RTL8710 побаловаться. Сейчас Амебу ковыряю.

Jeka_M пишет:

Ещё появился ESP8285. Даташит.

А он по SDK, загрузчику и прочим вещам с ESP8266 совместим?

a5021
Offline
Зарегистрирован: 07.07.2013

Araris пишет:
UPD: Поискал на Али - таки да

Как-то слово "preorder" (предзаказ) смущает. Т.е. модулей еще нет, но они, якобы, будут.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

sav13 пишет:

А он по SDK, загрузчику и прочим вещам с ESP8266 совместим?

Не в курсе, ещё не разбирался. Но МК там одинаковый - Tensilica L106.

Araris
Offline
Зарегистрирован: 09.11.2012

a5021 пишет:

Araris пишет:
UPD: Поискал на Али - таки да

Как-то слово "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.

Logik
Offline
Зарегистрирован: 05.08.2014

Araris пишет:

ESP32 !

Характеристики ESP32


....

Ощущается явная нехватка USB. А в остальном - моща конечно.

Если еще потребление будет разумным, хотяб 100мА при отключенном вайфае - вещ.

ПС. На картинке в хабре чтото про  USB просматривается.

Araris
Offline
Зарегистрирован: 09.11.2012

На картинке в Хабре ESP32 Demo Board V2, ESP32 изрядно поменьше будет.

a5021
Offline
Зарегистрирован: 07.07.2013

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.

lelik1414
Offline
Зарегистрирован: 03.04.2016
Araris
Offline
Зарегистрирован: 09.11.2012

Ух ты, надо же. Продавцы с Алиэкспресса делятся с Вами своими планами ?

NE_XT
NE_XT аватар
Offline
Зарегистрирован: 22.05.2012
lelik1414 пишет:
 
ESP32 ??? опять на Али с лохов деньги собирают.
 
 
Там же красным написано, предзаказ - будут в конце октября.
Лучше подождать -  не рисковать, купить как у всех появиться в продаже.
AlexTS
Offline
Зарегистрирован: 02.10.2016

Всем доброго вечера!

Подскажите, пожалуйста.

В наличии ESP8266 12E. Подключил по схеме, подал отдельно 3.2 В. На модуле загорается синий диод, появляется новая сеть.

При соединении ESP8266 с Arduino mega диод гаснет, сеть пропадает..

С чем сие может быть связано?

avgaz
Offline
Зарегистрирован: 23.09.2014

Здравствуйте, может кто показать небольшой пример скетча где ардуино формирует небольшую страничку с данными, а esp8266 её показывает в сеть как клиент то есть вебсервер.

Просто нужно перевести работу W5100 на esp8266, но несколько дней не как не могу разобратся, разобрался как подключать с помощью ардуины esp8266 как клиент или как точка доступа но вот как сформировать html страничку не как не пойму

zarro
Offline
Зарегистрирован: 26.04.2014

Среди общего числа различных модификаций ESP8266? есть у меня два модуля ESP-12 у которых наблюдается странная картина : Постоянно горит синий светодиод! при этом модули не работают как должны. Нормально видятся и прошиваются флешерами. в том числе и blank прошивки и любые другие заливаются. но после рестарта подмаргивает и зажигает опять свой синий глаз. Ни в какие сейв моды итд не входят, ничего не помогает его запустить. Питание нормальное, подключение штатное, все несколько раз перепроверял. И вроде есть у меня полно других полностью рабочих, но покоя мне не даёт что же всётаки с ними случилось такое?

axill
Offline
Зарегистрирован: 05.09.2011

Кто нибудь пробовал подключать далас на gpio0?

У меня есть несколько модулей где выведен только gpio0

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Araris пишет:

Считается, что Softserial не работает нормально со скоростями выше 57600, разные источники называют также 19200, 31250 и 38400.

Потестил ESP8266 12E с software serial стабильно работает только на скорости 9600, что с конвертором уровней (3.3<->5) что без. На 19200 уже начинаются проблемы, через раз но проблемы есть. 
Выше чем 19200 уже сплошные глюки в каждом ответе от ESP8266. 

Это проблема ESP8266, или всех устройств на software serial?

axill
Offline
Зарегистрирован: 05.09.2011

У esp железный uart. Проблемма на стороне ардуины. А зачем скорости больше 9600?

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Andrey12 пишет:

Araris пишет:

Считается, что 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 

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

axill пишет:

У esp железный uart. Проблемма на стороне ардуины. А зачем скорости больше 9600?

Да это понятно, как раз проблема в software serial.
Ну как зачем? Будет быстрее страничка рисоваться.

sav13 пишет:

Это проблемы SoftwareSerial. Там еще размером буфера можно поиграться. Может поможет. Но на скорости свыше 9600, ИМХО, аппаратный UART. Посадить отладку на Serial1 (GPIO2), а основной использовать для обмена. Прошивать и вовсе через WebUpdate 

Да я уже это понял, пока буду смотреть на 9600. Просто аппаратный у NANO один. Я пока не понял как его использовать для ESP если по нему прошивку заливаю.

axill
Offline
Зарегистрирован: 05.09.2011

Andrey12 пишет:
.

Ну как зачем? Будет быстрее страничка рисоваться.

измените структуру устройства. пусть ардуина передает сырые данные в ESP, а все рисование страничек делать на стороне ESP, тогда скорость обмена с ардуиной не будет влиять на скорость WEB да и ардуина будет разгружена web задачами

pastry777
Offline
Зарегистрирован: 16.01.2014

ну не знаю,у меня наоборот софтсериал на есп работант идеально на скорости 57600,на 74880 редко-редко проскакивают кракозябры,а на 115200 уже ломаных символов все больше,ломается целостность строки,поэтому использую 57600...а вот мега на железном сериал3 работает-работает да подвисает порой на пару минут,а потом как с пулемета все сообщения отправит пачку,а иногда больше и не отвисает....скорость работы на ситуацию не влияет,ставил и 9600....возможно из-за того что на меге использую прерывание serialEvent(),сейчас пойду уберу,может поможет...

pastry777
Offline
Зарегистрирован: 16.01.2014

Andrey12 пишет:

axill пишет:

У esp железный uart. Проблемма на стороне ардуины. А зачем скорости больше 9600?

Да это понятно, как раз проблема в software serial.
Ну как зачем? Будет быстрее страничка рисоваться.

sav13 пишет:

Это проблемы SoftwareSerial. Там еще размером буфера можно поиграться. Может поможет. Но на скорости свыше 9600, ИМХО, аппаратный UART. Посадить отладку на Serial1 (GPIO2), а основной использовать для обмена. Прошивать и вовсе через WebUpdate 

Да я уже это понял, пока буду смотреть на 9600. Просто аппаратный у NANO один. Я пока не понял как его использовать для ESP если по нему прошивку заливаю.

 

 

вам правильно говорят,глупо в этой связке ложить работу формирования веб страницы на ардуино...веб страницей должен заниматься есп,а ардуина на есп должна гнать лишь данные которые будут отображаться на той самой страничке,температуры,всякие показания и тд...

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

pastry777 пишет:

вам правильно говорят,глупо в этой связке ложить работу формирования веб страницы на ардуино...веб страницей должен заниматься есп,а ардуина на есп должна гнать лишь данные которые будут отображаться на той самой страничке,температуры,всякие показания и тд...

+1

А еще лучше вообще Ардуино исключить и получать данные прямо на ESP.

Если GPIO хватает

Зачем пложить сущности без рнадобности? (C)

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Точно, что то сразу не подумал, хотел использовать ESP просто как сетевой модуль, а он же в принципе и программируется. Сейчас гляну в инете. 
Эх опять с блинка начинать как и с ардуино.

Спасибо всем за подсказки. 

axill
Offline
Зарегистрирован: 05.09.2011

там ничего сложного

на выбор для новичка ардуино IDE для ESP или nodemcu

для продвинутых SDK

я пока играюсь на NodeMCU