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

AT команда - странный ответ

stas0

New member
Все доброго времени суток!

Использую PIC16F73. Baudrate 115200, High speed. _XTAL_FREQ 20MHz

(Команды пишу такими, как они отображены в программе)

Посылаю [inline]AT\r\n[/inline] команду, а в ответ мне приход AT, даже не ERORR или что либо другое. Не могу понять в чем дело. Для интереса посылал другие команда, например,
[inline]AT+CIPSTART=\"TCP\", \"192.168.101.110\", 1000\r/\n[/inline]
, но тоже без толку, команда не срабатывает, а значит ответ AT не является аналогом OK.

Проверял программу в Proteus и все работает хорошо, но в жизни все обстоит иначе...
Screenshot

Что подскажите?
 

Сергей_Ф

Moderator
Команда форума
@stas0
Для начала убедитесь, что esp принимает команды от компьютера без всяких pic. Заодно, выясните какая прошивка в модуле, нужную скорость порта, а также, не перепутаны ли у вас обозначения Rx и TX на самом модуле.
Ответ АТ вы получаете, скорее всего, потому что у вас не отключено echo в настройках порта PIC.

например,
AT+CIPSTART=\"TCP\", \"192.168.101.110\", 1000\r/\n
Что за странная концовка команды? Зачем там прямой слэш между \r и \n?
 
Последнее редактирование:

kab

New member
Все доброго времени суток!

Использую PIC16F73. Baudrate 115200, High speed. _XTAL_FREQ 20MHz

(Команды пишу такими, как они отображены в программе)

Посылаю [inline]AT\r\n[/inline] команду, а в ответ мне приход AT, даже не ERORR или что либо другое. Не могу понять в чем дело. Для интереса посылал другие команда, например,
[inline]AT+CIPSTART=\"TCP\", \"192.168.101.110\", 1000\r/\n[/inline]
, но тоже без толку, команда не срабатывает, а значит ответ AT не является аналогом OK.

Проверял программу в Proteus и все работает хорошо, но в жизни все обстоит иначе...
Screenshot

Что подскажите?
Посмотрите
https://esp8266.ru/forum/threads/ob...nix-proshivok-kakoj-fajl-lit.2966/#post-44688

Возможно, будет полезно
 

stas0

New member
Сергей_Ф, echo в настройках PIC, впервые слышу, что оно из себе представляет?
Для начала убедитесь, что esp принимает команды от компьютера без всяких pic
Это нужен переходник USART <> USB? Если да, то какой лучше взять и что какой нужен софт?

А слеш - ошибся, когда писал пост
 

Сергей_Ф

Moderator
Команда форума
@stas0 я вообще то имел ввиду настройки uart у pic. У самого pic никого echo нет, естественно.
Для проверки вам нужен любой переходник на USB, хотя бы Ардуино Юно, даже. Из софта, любая терминальная программа, опять же, даже Ардуино ИДЕ.
Вы читали https://esp8266.ru/category/esp8266-hardware/ ?
 

stas0

New member
Вчера взял себе переходник на USART <> USB, сегодня вечером буду шаманить.
 

stas0

New member
@Сергей_Ф
Разобрался с проблемой, был вывод echo, убрал командой ATE0\r\n и все.
Скажите, как правильно подключится к WiFi?
Даю команды:

AT+CWMODE=3\r\n
// __delay_ms(10000);
AT+CIPMUX=1\r\n
// __delay_ms(10000);
AT+CWJAP_CUR=\"ssid\",\"1133557799\"\r\n

Задержки ставлю, потому что читал, что они помогают избежать некоторых ошибок.
Мне потом выдает WiFi disconnect. Как с этим бороться?
 

Сергей_Ф

Moderator
Команда форума
@stas0, извините, по самим командам и их использованию ничего не подскажу. Не популярен такой механизм и я им не пользовался.
 

stas0

New member
Какое тогда используют подключение? Подключение непосредственно к модулю, как к Slave?
 

Сергей_Ф

Moderator
Команда форума
@stas0, esp сам по себе неплохой контроллер. Его можно программировать непосредственно. Если нужен другой контроллер, то подключаться можно и по uart, только АТ команды не использовать, а залить свою прошивку с нужной логикой.
 

gerkimuyda

New member
Какое тогда используют подключение? Подключение непосредственно к модулю, как к Slave?
Т.к. ESP8266 имеет проц в 160Mhz (80 по умолчанию), достаточно памяти и другой периферии - чаще его используют как отдельный самостоятельный модуль.
Для этого - сносят АТ прошивку и заливают или NudeMCU Lua или пишут свой скетч в Arduino IDE и прошивают им модуль.
Также для повышения стабильности работы популярен метод создания прошивки блокнотом (notepad) и его компиляцией командой "make" (можно и через Eclipse).
ASM почти нигде не встречается, т.к. хоть дока по командам есть, но в ней нет примеров и весь SDK закрыт (а для C есть и примеры и либы SDK)
 

CodeNameHawk

Moderator
Команда форума
Подключение непосредственно к модулю
Да,все через Uart ESP8266, по существу в ответ получаете набор символов, их и надо обрабатывать.

Попробуйте Arduino для ESP8266, там все намного проще, много готовых примеров.
 

stas0

New member
@geerkimuyda Если я возьму себе Arduino, зашью свою WiFi прошивку, оно будет работать также как и с AT командами, волнует тот факт, что модуль можно просто окирпичить
 

gerkimuyda

New member
@geerkimuyda Если я возьму себе Arduino, зашью свою WiFi прошивку, оно будет работать также как и с AT командами, волнует тот факт, что модуль можно просто окирпичить
1. Arduino UNO или Arduino IDE ? - тут надо четко понимать, о чем вы говорите.
2. Оно будет работать так, как вы ему скажите. Если вы хотите общаться с модулем из другого модуля (или терминала) командами АТ - можете написать их эмуляцию. Если хотите своими командами - свои команды и пишите. Если вам общаться не надо - тогда просто в скетче делаете что вам необходимо и модуль молча будет это выполнять.
3. Окирпичить не получится, т.к. прошивка заливается не во внутренюю флеш (нету в чипе флешки), а во внешнюю микросхему. Поэтому всегда можно восстановить какую-то стандартную прошивку (тот-же NodeMCU Lua, например). Т.е. в esp нет зашитого загрузчика, как в атмеле. Тут загрузчик заливается по uart перед самой прошивкой (модуль переводится в режим выполнения программ из uart, ему передается мелкий код прошивальщика, и потом передается сама прошивка, которую прошивальщик заливает в внешнюю флеш).

Прочитайте эту тему, может в ней будут еще ответы на ваши вопросы: https://esp8266.ru/forum/threads/esp8266-v-kachestve-wifi-shielda-arduino.2987/
и эту: https://esp8266.ru/forum/threads/objasnite-naschet-poslednix-proshivok-kakoj-fajl-lit.2966/
 

stas0

New member
Дада, ошибся Arduino IDE, TTL переходник есть.
Почему еще спрашиваю, потому что с AT командами работать можно, но с ними возни много, с тем же PUTTY. Сегодня не пойму почему подключение остановилось на WIFI GOT IP, появилась догадка, что это из-за это. Она не сохраняется. Позже гляну другую прогу, где все вручную.
 

gerkimuyda

New member
Поставьте NodeMCU Lua, там через ESPlorer можно команды в файлы на внутреннюю файловую систему (в флеше) писать, а также можно выполнять их как в командной строке, видя результат.
Язык Lua не сложный.
 

stas0

New member
Разобрался что к чему. Запустил модуль как клиент, он подключается к локальному хосту. После успешного подключения отправляет команду и принимает ответ. Все гуд, все найс :)
Теперь заметил, что увлекся с кодом для контроллера. Screenshot
Если объем Data >= 50%, то контроллер дохнет - совсем не хочет работать. Это так и должно быть или неправильно настроил конфигурацию мк?
 
Сверху Снизу