ESP8266 - Как понять что означает AT+RST без прошивки

Я новичок в ESP8266 и в мире электроники. Я прошу вас проявить терпение, если я что-то неправильно понимаю.

Я использую ESP8266-01. Я успешно перепрошил официальную прошивку ai-thinker версии 1.1.1 на свой модуль и заметил, что она записывается в ячейку памяти 0x00000. Позже я успешно загрузил базовую программу мигания, используя Arduino ide. Снова программа была записана в ячейку памяти 0x00000 (я думаю, перезаписав прошивку).

Я хочу использовать его как веб-сервер. Код для этого использует AT-команды, что-то вроде "Serial.println("AT+RST");"

Насколько я понимаю, прошивка будет перезаписана. Тогда как модуль поймет, что означает «AT+RST»?

Спасибо


person zodiac    schedule 13.01.2016    source источник
comment
Как связаны веб-сервер и AT-команды, мне неизвестно ... модемное соединение может позволить вам подключиться к вашему веб-серверу Arduino, но это все. В любом случае AT-команды (сброс, в вашем примере...) понимаются (простите, если я упрощаю) непосредственно чипом ESP8266 (не забудьте сделать правильные соединения, если вы не хотите обрабатывать входные данные для позже отправляем в чип ESP) и ваш скетч может быть совершенно пустым (чип будет обрабатывать все известные команды за вас).   -  person Adriano Repetti    schedule 13.01.2016
comment
Спасибо за ответ. Как связаны «веб-сервер» и AT-команды, мне неизвестно: я имел в виду, что для настройки сервера я буду выдавать AT-команды модулю Wi-Fi. В любом случае, AT-команды воспринимаются непосредственно микросхемой ESP8266. Если это так, то почему модуль перестает отвечать на AT-команды с последовательного монитора после того, как я загрузил пустой/мигающий скетч?   -  person zodiac    schedule 13.01.2016
comment
Вы подключили последовательные входные контакты к контактам ESP? Если нет, то с пустым эскизом он не получит никаких данных.   -  person Adriano Repetti    schedule 13.01.2016
comment
@AdrianoRepetti: у меня есть ardunio uno, который я использую для передачи/получения сообщений через последовательный монитор, предоставленный в Ardunio IDE. Если я прошиваю официальную прошивку, AT отвечает «ОК». После загрузки скетча ничего. И поскольку мой скетч записан в ячейку памяти 0x00000, я предполагаю, что прошивка была перезаписана, а вместе с ней и способность понимать команду «AT».   -  person zodiac    schedule 13.01.2016
comment
Поясняю, что имею в виду: с пустым скетчем ESP не будет получать данные с входных контактов, если вы физически не соедините их.   -  person Adriano Repetti    schedule 13.01.2016
comment
@AdrianoRepetti: я думаю, что контакты подключены правильно. Это выглядит следующим образом: RX(esp)-----RX(uno) ; TX(esp)----TX(uno) ; GND (esp) --- GND (отдельный источник питания); CH_PD(esp)---3.3V(uno) ; VCC(esp) - VCC(отдельный источник питания); GPIO-0 (esp) (оставьте открытым или потяните вверх для нормального режима, потяните вниз, чтобы загрузить новую прошивку). Что-то похожее на imgur.com/AidHic4   -  person zodiac    schedule 13.01.2016


Ответы (2)


«Arduino» — это больше, чем просто IDE и платы (например, Uno). Arduino также является своего рода прошивкой/ОС, которая работает на этих платах. Скетч, который вы пишете в IDE, компилируется вместе с прошивкой в ​​единый пакет, который записывается в память.

На https://github.com/esp8266/Arduino есть еще несколько советов:

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

Ядро ESP8266 Arduino поставляется с библиотеками для связи через WiFi с использованием TCP и UDP, настройки серверов HTTP, mDNS, SSDP и DNS, выполнения обновлений OTA, использования файловой системы во флэш-памяти, работы с SD-картами, сервоприводами, периферийными устройствами SPI и I2C. .

Когда вы нажимаете кнопку «Загрузить» в среде IDE, вы эффективно заменяете все, что было записано в ESP8266 ранее.

person Marcel Stör    schedule 13.01.2016
comment
Скетч, который вы пишете в IDE, компилируется вместе с прошивкой в ​​один пакет, который записывается в память, это имеет смысл, и если это так, то команда «AT» должна работать после загрузки пустого скетча. Должно быть, я делаю что-то не так, так как я не получаю никакого ответа после загрузки пустого скетча. Я потрачу еще немного времени, играя с ним, чтобы получить желаемый результат, и отпишусь. Спасибо. - person zodiac; 13.01.2016
comment
Тогда это был бы другой вопрос. Две последние ссылки, которыми я хотел бы поделиться: j.mp/1OqRbG4, j.mp/1OqR2Tb. И если это было полезно и по делу: meta.stackexchange.com/q/5234/257994. Конец связи. - person Marcel Stör; 13.01.2016

Этот вопрос неверен на многих уровнях.

  1. Это было основано на предположении, что "Serial.println("AT+RST")" была командой для esp, в то время как на самом деле программист имел в виду это как сообщение журнала для последовательного монитора.
  2. Я спросил: «Как он понимает, что означает «AT + RST» без прошивки». Ответ заключается в том, что это не так, и не может быть, если я не напишу код в своем скетче для его обработки. Прошивка является своеобразным интерпретатором. Он принимает команду в определенном формате (например, "AT \n"), анализирует ее, выполняет соответствующую низкоуровневую функцию и возвращает результат. После того, как я загрузил скетч и перезаписал прошивку AT, код интерпретатора исчез, и, следовательно, esp не может интерпретировать/понимать AT-команду.

@АдрианоРепетти:

  1. "Как связаны "веб-сервер" и АТ-команды, мне неизвестно" - Вы правы, они не связаны. Виноват.
  2. «В любом случае AT-команды понимает непосредственно чип ESP8266» Я сомневаюсь в этом.

Спасибо за ваши ответы.

Этот вопрос не добавляет никаких знаний ни к чему. Я думаю, что это должно быть удалено.

person zodiac    schedule 15.01.2016