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

быстрый прием и обработка данных

Emmys

New member
Добрый день. У меня обычный ESP8266
выглядит он вот так: http://www.ebay.com/itm/ESP8266-Ser...81?pt=LH_DefaultDomain_15&hash=item2a4b0df605

когда я передаю данные по UDP широковещательный пакет с компьютера *54530>d:ALLc:4421868,38p:1r:1# то на прием данных микросхемой ESP8266 уходит достаточно много времени.

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

Но там я вижу подпись ESP8266EX . что значит EX . означает ли это что мне нужно купиить другую микросхему для быстрого приема данных.
спасибо
 

Victor

Administrator
Команда форума
У вас тоже ESP8266EX. Это модель не модуля, а самой микросхемы, точнее SoC, буквы EX видны даже на фото по вашей ссылке. Так что проблема точно не в этом.
А без EX мало кто и видел чипы. Когда Espressif их делала больше особо никто про них не слышал тогда.
Но если у вас остались сомнения, сверьте распиновку.
ESP8266EX Распиновка (pinouts) чипа
Кстати попробуйте не хромом заходить.
 

Emmys

New member
спасибо. теперь понятно что у меня тоже должно быстро работать.
я делаю вай фай устройство с ик излучением. подключаю вот так . когда с копьютера приходит сигнал - начинает мигать диод синий. примерно секунду. так же в мониторинге ком вижу что сигнал приходит с потугами.. еще я ниразу не обновлял прошивку. может в этом дело.
пробывал так же сделать веб сервер . у меня страничка почти пустая грузилась 2-3 секунды. не так как на видео. т.е. все медленно работает.

wifi - ик схема подключения.png
 

Emmys

New member
при прошивке при помощи ардуины я получаю вот это


Writing at 0x0007e800... (99 %)



Writing at 0x0007ec00... (99 %)



Leaving...

Failed to leave Flash mode
 

Victor

Administrator
Команда форума
Failed to leave Flash mode
на это не обращайте внимания
у меня страничка почти пустая грузилась 2-3 секунды
а браузер какой?
еще я ни разу не обновлял прошивку
даже фирменные прошивки могу чуть-чуть отличаться ответами на команды, может ардуина парсит ответы вашей прошивки не совсем корректно.
Попробуйте выдернуть AT команды из скетча и вводить их вручную в терминале, сверяя реальные ответы и смотреть что ждет скетч.
Прогоните вручную команды - поймете, что модуль делает то, что вам нужно или нет, если модуль все сделает хорошо, то копаете скетч, если нет, то добиваетесь сначала чтобы модуль заработал от команд, введенных вручную.
Последняя версия прошивки AT v0.22 SDK 0.9.6b1 15.02.2015
 

Emmys

New member
добрый день. я все сделал как вы говорили.
прошил последней прошивкой. залил скетч по работе с AT командами. ввожу в ком порт AT- вижу ответ ввиде иероглифов . какая скорость должна быть по умолчанию?
вроде все попробовал. включая 115200. на каждую команду он выводит иероглифы. в принципе почти одни и теже каждый раз... не похоже на мусор.
Вот скрин что он выводит. одно и тоже. красным я подчерккнул -команды АТ которые вводил http://joxi.ru/eAO4QDMTpEEgro
еще хотел спросить - когда мы в скетче прописываем esp8266.beggin(9600); - как эта самая скорость 9600 влияет на скорость обмена по wifi??? . это из за нее может у меня все тормозит? я купил с не родной прошивкой. в чем разница между 115200 и 9600. на что влияет.
как исправить проблему.
прошивка залилась без ошибок - нашел статью на вашем сайте по ней заливал. все как по рисункам - один в один
 

Victor

Administrator
Команда форума
Emmys, ESP8266 состоит как-бы из двух интерфейсов в мир. Один, WiFi смотрит в эфир - может подключаться к другим AP и/или быть сам AP. С другой стороны у него UART (это не IP интерфейс, а последовательный, смотрит в сторону того устройства, которое подключено проводами к TX RX). Так что меняя скорость на 9600 или 115200, вы просто настраиваете обмен между компьютером и ESP8266 по проводам, это никак не влияет на WiFi. Далее, чтобы подобраться к ESP8266 со стороны UART вам нужна терминальная программы (найдете в наших статьях), там вы вводите AT команды, настраиваете модуль. После этого, ESP8266 может стать WiFi точкой доступа или подключиться к вашему роутеру тоже по WiFi. Если первое, то у вас сейчас есть возможность подключиться к этой новой точке доступа по WiFi. Если второе, то ESP8266 станет частью вашей существующей WiFi сети (возможен и третий вариант, когда ESP8266 выступает и в той и в другой роли). Далее вы можете поднять HTTP (или телнет, например) сервер на ESP8266 и подключиться к нему браузером (по IP адресу) или настроить ESP8266, чтобы он сам подключался к другим HTTP серверам, а вы видели результат по проводам (как бы с другой стороны).

Про мусор почитайте здесь
Что у вас там тормозит я так и не понял, попробуйте объяснить подробнее.
 

Emmys

New member
предположу что обмен с платой ардуины был слишком долгий из за скорости 9600.
когда я на комьютере нажимаю кнопку отправить UDP пакет то синий диод у меня загорался мгновенно. а по времени горел долго. секунду- две. вот наверное он отдавал в плату пришедший на него пакет просто долго.. вы так и не ответили какая скорость по умолчанию заложена в прошивке AT v0.22 SDK 0.9.6b1 15.02.2015 . я пробывал шить так же на скорости 9600. результат тот же - те же символы....
ппринцип работы вай фая я понимаю и использую его во всю. все команды использованы, написан рабочий проект. я не новичек (и программист). просто в первый раз прошиваю.. и вижу эти символы - ранее я этим же скетчем пользовался. это ваш же пример для ардуины. ввожу терминально АТ команды в COM и получаю ответы. ОК и т.д. в зависмости от команды. сейчас как я уже писал - я получаю мусор в ответ.
честно сказать я мало верю что в ином терминале все заработает. если бы работало я думаю и в ардуине терминале бы тоже работало. ведь когда я буду писать скетч и в ответ он мне тоже тогда только мусор будет давать вместо пакетов.... но слепо попробую проверить вашу подсказку. надеюсь на помощь и подсказки.
 

Victor

Administrator
Команда форума
получаю мусор в ответ
а земля общая у Arduino и ESP8266 ?
Похоже, что передача идет нормально TX arduino 5v, а приема на ардуине нет, т.к. TX у ESP8266 3,3v
Читали про согласование TTL уровней?
В моих статьях про подключение к Arduino скетчей нет, я описывал только использование ардуины в качестве переходника USB-TTL
Еще если ESP8266 подключен к ardunino не на аппаратный UART, а на SoftSerial, то он не вытягивает 115200, а для новых прошивок нужно именно 115200.
Можно переключить терминалом на 9600 и уже тогда подключать ардуино.
Шить можно на любой скорости, где-то до 300000. Стабильно точно шьется на 115200. Скорость прошивки никак не зависит от самой прошивки
 

Emmys

New member
да я использовал SoftSerial.
еще раз пожалуйста уточните что у меня будет являться терминалом? софт? немного запутался.
 

Victor

Administrator
Команда форума
да я использовал SoftSerial
нужно подключать ESP8266 к ногам ардуины RX,TX
SoftSerial стабильно работает до 57600, на 115200 не успевает дергать ноги ардуины - отсюда мусор.
уже обсуждалось здесь, поищите

да, точно ноги 6,7 увидел на схеме. жаль что сразу не заметил.
так будет работать только на 9600.
Современные прошивки стартуют на 115200, так обмен не организовать.
Шить старую прошивку, которая запускается на 9600 не имеет смысла, т.к. там одни глюки. Так что только переключать на RX TX ардуины. Чтобы компом смотреть debug на ардуине через SoftSerial нужен будет еще USB-TTL - вот его то и подключите на 6,7

Кстати NodeMCU стартует на 9600 - можете попробовать посмотреть ее. Потребуются другие скетчи/библиотеки (в NodeMCU нет AT команд)
 
Последнее редактирование:

Emmys

New member
да нашел статью http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/#esp8266-arduino-connect
чуть более понятно.
получается что бы использовать на 57600 с SoftSerial мне нужно подключить ардуинку таким образом и при помощи теминала залесть в esp8266, какой то командой установить скорость для неё 57600 , отключить эту схему и спользовать как и ранее с SoftSerial ?
второй вариант если подключать ESP8266 к ногам ардуины RX,TX, то как с этим потом работать? где взять пример для ардуина скетча... еще более туманно
 

Emmys

New member
у меня есть рабочие экземпляры работающие на 9600. я пришел к вам на форум за помощью. я бы хоотел увеличить эти самые 9600 на что то по больше и оценить ускорилась ли работа моего скетча
RX,TX - нулевая и первая нога - используется такой тип подключения только для прошивки? не можете подсказать как повысить мне 9600 на что то по более
 

Victor

Administrator
Команда форума
я бы хотел увеличить эти самые 9600
вроде вы не это хотели? вроде скорость ответа в браузере?
1. Если скорость в браузере, уточните класс SD карты, желательно Class 10
2. какой браузер используете (chrome подключается к ESP серверу очень медленно, explorer хорошо)
если хотите 9600 увеличить, то у современных прошивок есть команда смены скорости на порту, ваш SoftSerial потянет 57600
1. вот прошивка AT v0.22 SDK 0.9.6b1 15.02.2015
2. вот команды http://esp8266.ru/esp8266-at-commands-v021/
(ищите AT+UART)
надеюсь, что помог
 

Victor

Administrator
Команда форума
RX,TX - нулевая и первая нога - используется такой тип подключения только для прошивки?
не только для прошивки.
цепляете ESP8266 на RX TX ардуины и вместо SoftSerial пишите Serial, а если на Serial уже что-то было подключено (debug терминал обычно), то подключаете его на SoftSerial(6,7) а на пины 6,7 цепляете USB-TTL и к компьютеру на терминал
как-то так.
 

Emmys

New member
простите что попутал Вас с браузером. я просто хотел этим видео показать что у других проектов на ардуине все очень быстро работает. (а у меня не быстро) меня НЕ интересует браузер.
я шлю на ESP8266 (подключена к арудине уно) обычные UPD пакеты с компьютера (своей программой), тот их принимает, и если пакет назначался ему то выполняет полезную работу.
вот я заподозрил что скорость страдает из за 9600 по умолчанию в прошивке, т.к. самая большая задержка перед сработкой - это долгое (1-2сек) синее горение диода на ESP8266
1. пункт - прошивку я прошил.
2. команды видел. все понятно - отлично.
как войти терминалом в ESP8266 что бы ввести эту команду? мне нужно подключить ESP8266 к ардуине в режиме USB-TTL конвертера? (как в статье тут:http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/#esp8266-arduino-connect ) затем любым терминальным софтом дать команду?
спасибо. извиняюсь за настойчивость
 

Emmys

New member
вот это очень интересно, вроде суть уловил:
цепляете ESP8266 на RX TX ардуины и вместо SoftSerial пишите Serial, а если на Serial уже что-то было подключено (debug терминал обычно), то подключаете его на SoftSerial(6,7) а на пины 6,7 цепляете USB-TTL и к компьютеру на терминал
как-то так.


под debug терминал обычно вы подразумеваете вывод сообщений в терминал с кома? Serial.println (напрмер)
правильно ли я понял что мои пакеты UPD будут отлавливаться вот так:
while(Serial.available()) { command+=(char)Serial.read(); }

пожалуйста чуть более детально, не совсем понял мысль:
то подключаете его на SoftSerial(6,7) а на пины 6,7 цепляете USB-TTL и к компьютеру на терминал

ардунка стоит в зале. только для первичной настройки подключается к пк. (задается пользователем (через софт работающий через ком) куда ESP8266 цепляется - имя роутера и пароль от роутера)
 
Последнее редактирование:

Victor

Administrator
Команда форума
извиняюсь за настойчивость
да бросьте, ведь наверняка знаете, "чтобы правильно задать вопрос, нужно знать половину ответа" :)

1. долгое горение диода на ESP8266 - это отправка данных в UART (кстати, часто мигает или горит постоянно?) похоже, что поднятие скорости должно вам помочь
2. можно подключить ESP8266 к ардуине в режиме USB-TTL конвертера и затем любым терминальным софтом дать команду
3. для оценки увеличения скорости переключить ESP8266 на другие контакты и отлавливать пакеты через Serial.read()
 
Сверху Снизу