http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/#esp8266-arduino-connectА вот через ардуину результат тотже - мусор :-((
Что я делаю не так?
http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/#esp8266-arduino-connectА вот через ардуину результат тотже - мусор :-((
Что я делаю не так?
Уважаемый, Виктор.
Сделай фото и выложи. И схему включения хоть от руки нарисуй.Опять дошли руки поколупаться с ESP'шкой.
Господа, я на пути к успеху.
В общем балуясь ESPlorer'ом пришёл к выводу, что мои модули ESP12E работают на скорости 115200 бод.
Подправил скетч - выставил ESP'шный serial в 115200, и в эфир из просто мусора посыпалось нечто читаемое (похоже какая-то отладочная инфа), но всё равно с подмесью мусора.
Далее балуясь резетом ардуины и резетом модуля пару раз получал желаемый результат - адекватные ответы на АТ-команды через сериал монитор Arduino IDE.
Пробовал на Arduino UNO и на Arduino Pro Mini, результат одинаков.
Куда копать дальше? Как добиться нормальной работы? Это случаем не из-за несоответствия 3v3 и 5v логики?
Вот так вот выглядит мой колхоз.Сделай фото и выложи. И схему включения хоть от руки нарисуй.
Что залито в Arduino и что залито в ESP?
В есп заводская прошивка (см.мой пост выше), скетч небольшой - читает из сериал.порта есп и выводит в сериал ардуины, читает из сериал.порта ардуины и передаёт в сериал есп. Текст скетча взят отсюда:Что залито в Arduino и что залито в ESP?
#include <SoftwareSerial.h> //Подключаем библиотеку работы с Последовательным портом
SoftwareSerial mySerial(10, 11); // RX, TX (Создаем виртуальный порт Esp. подключаем на цифровые пины 10 и 11 порты TX, RX от Esp)
void setup()
{ // Открываем последовательный порт компьютера, устанавливаем скорость 9600
Serial.begin(9600);
Serial.setTimeout(500);
// set the data rate for the SoftwareSerial port
mySerial.begin(115200); // Открываем последовательный порт Esp, устанавливаем скорость 9600. Внимание!! убедитесь что Esp работает именно на этой скорости!!
mySerial.println("AT"); // Отправляем тестовую команду АТ в созданный порт, если всё работает в ответе должно прийти ОК
}
void loop() // run over and over
{
if (mySerial.available()) //Если есть данные в порте Esp, то передать их в последовательный порт компьютера
Serial.write(mySerial.read());
if (Serial.available()) //Если есть данные в порте компьютера, то передать их в последовательный порт Esp
mySerial.write(Serial.read());
}
Я бы сделал так: Берем UNO и ESP подключаем RX - RX, TX-TX GND-GND, Reset UNO на землю. Скетч в UNO Работать не будет. Из терминала пробуем получить ответы на AT команды. Должно все стабильно отвечать. Если все в порядке и ESP работает. Проверяем работу скетча UNO отключаем ESP и Reset от GND. В UNO тот самый скетч. 10 и 11 ногу соединяем через резистор 1 кОм, чтоб не рисковать портом при ошибке в скетче. Теперь в терминал посылаем данные и тут же их видим в ответе терминала. Если и то и другое работает. Подключаем 10 и 11 контакт к ESP RX TX обязательно через резистор 1 кОм, чтоб не пожечь порты если перепутаем.В есп заводская прошивка (см.мой пост выше), скетч небольшой - читает из сериал.порта есп и выводит в сериал ардуины, читает из сериал.порта ардуины и передаёт в сериал есп. Текст скетча в данный момент не могу скинуть, пишу с телефона, т.к. не у компа.
ESP работает, яж проверял напрямую без ардуино (см.выше). Не особо понял с резистором - куда втыкать, и что там с чем можно перепутать?Я бы сделал так: Берем UNO и ESP подключаем RX - RX, TX-TX GND-GND, Reset UNO на землю. Скетч в UNO Работать не будет. Из терминала пробуем получить ответы на AT команды. Должно все стабильно отвечать. Если все в порядке и ESP работает. Проверяем работу скетча UNO отключаем ESP и Reset от GND. В UNO тот самый скетч. 10 и 11 ногу соединяем через резистор 1 кОм, чтоб не рисковать портом при ошибке в скетче. Теперь в терминал посылаем данные и тут же их видим в ответе терминала. Если и то и другое работает. Подключаем 10 и 11 контакт к ESP RX TX обязательно через резистор 1 кОм, чтоб не пожечь порты если перепутаем.
Подключил так как у тебя. Залил скетч в Arduino. Скорость в обеих случаях поставил 9600. Получилось получить ответ на AT команды. На скорости 115200 не работает. Сегодня уже глубокая ночь. Завтра обязательно разберусь.ESP работает, яж проверял напрямую без ардуино (см.выше). Не особо понял с резистором - куда втыкать, и что там с чем можно перепутать?
AT
OK
AT+CIPAPMAC_CUR?
+CIPAPMAC_CUR:"1a;fe:34:da:80;5e"
OK
AT+CIPAPMAC_CUR?
+CIPAPMAC_CUR:"1a;fe:34:da:80;5e"
OK
AT+CIPAPMAC_CUR?
+CIPAPMAC_CUR:"1a:fd:34:da:80:5d"
OK
AT+CIPAPMAC_CUR?
+CIPAPMAC_CUS:"1a:fe:349da:80:5e"
OK
AT+CIPAPMAC_CUR?
+CIPAPMAC_CUS:"1a:fe:34:da:80:5e"
OK
AT+CIPAPMAC_CUR?
+CIPAPMAC_CUR:"1a:fe:34:da:80:5e"
OK
AT+CIPAPMAC_CUR?
+CIPAPM@C_CUR:"1a:fd:34:da:80:5d"
OK
AT+CIPAPMAC_CUR?
+CIPAPLAC_CUR:"1a:ge:34:da:80:4e"
OK
AT+CIPAPMAC_CUR?
+CIPAPM@C_CUR:"1a:fd:34:da:80:5d"
OK
AT+CIPAPMAC_CUR?
+CIPAPLAC_CUR:"1a:ge:34:da:80;5e"
OK
AT+CIPAPMAC_CUR?
+CIP@PMAC_CUR:"1`:fe:34:da:80:5e"
OK
AT+CIPAPMAC_CUR?
+CHPAPMAC_CUR9"1a:fe:34:d`:80:5e"
OK
AT+CIPAPMAC_CUR?
+CHPAPMAC_CUR9"1a:fe:34:d`:80:5e"
OK
AT+CIPAPMAC_CUR?
+CIPAPLAC_CUR:"1a:ge:34:da:80:4e"
OK
AT
OK
AT+CWLAP
+CWLAP:(3,"DHRECT-AP[TV][LG]42LA621V,ZD",-86,"12;08:c1:57:53:d9",1,14b3A0:-:,134,2,P902,,d,P7:,:e���:�$ b����b
��AT+CWLAP�
+CWLAP:(3,"DHRECT-AP[TV][LG]42LA621V,ZD",-86,"12908:c1:57:53:d9",1,1,88"+U"b,:81,Lo���60�Ab����
:,7P0:L86�jAT+CWLAP
+CWLAP;(3,"DIRECT.AP[TV][LG]43LA621V-ZD",,87,"12:08:c0:57:52:d9",0,0Av0:Cn,:)"":)i���"bd�A��������J
"a&$�J
�B��
�J
�B����b
C�B�����b
AT+CWLAP
+CWLAP:(4,!MSI "Network",-92,"84:c8:b2:4e:d5:3g",1,-42)
+CWLAP:(3,"-L371,���)60+I�"�
,I���J
A������
Ab����:)7:��J
ab
i:-j�AT+CWLAP
+CWLAP;(3,"iPhone (������������)",-64&"76:0b:b2:7X'��"�b��b�Jj
+CWLAP:(&I�҂��b
A1b���j
3,:-t"9A,b����J
(,01Anf9)Abj���bH�WIFI DISCONNECT
WIFI CONNECTDD
WIFI GOT IP
WIFI DISCOONECT
WIFI CONNECTED
WIFI GOT IP
Дык в том-то и дело, что вчера пробовал подключать через модуль на базе линейного стаба ams1117-3.3. Фиг!шляпа в том, что питальник у вас импульсный и срет в питание. От этого на уарте появляется мусор в виде ошибочных бит (у нас же ТТЛ уарт). Так что либо линейный стабилизатор, либо прозрачный UDP->Uart и CRC в конце пакета. Процентов 70 примется без ошибок, если длинна пакета будет 8-16 символов
Ослик - это осцилограф? У мну нет его...в чудеса давно разучен верить оч рекомендую в питание осликом потыкать для наглядности
AT+UART_DEF=9600,8,1,0,0
OK
mySerial.begin(9600);