Arduino Nano, ESP8266-01 связь

В моем последнем вопросе мне предложили приобрести регулятор напряжения для питания моего ESP8266, поэтому я пошел купить его, и в конце концов ESP8266 включился. Затем я начал подключать контакты Tx / Rx через переключатель логического уровня и опробовал этот фрагмент кода, который нашел в Интернете

// Базовая последовательная связь с ESP8266
// Использует последовательный монитор для связи с ESP8266
//
// Контакты
// Arduino pin 2 (RX) к ESP8266 TX
// Arduino pin 3 к делителю напряжения, а затем к ESP8266 RX
// Подключите GND от Arduiono к GND на ESP8266
// Pull ESP8266 CH_PD HIGH
//
// При вводе команды на последовательный монитор компьютера 
// Arduino передаст его на ESP8266
//

#include <SoftwareSerial.h>
SoftwareSerial ESPserial(2, 3); // RX | TX

void setup() 
{
    Serial.begin(115200);     // связь с главным компьютером
    //while (!Serial) { ; }

    // Запустите Software Serial для связи с ESP8266
    ESPserial.begin(115200);  

    Serial.println("");
    Serial.println("Remember to to set Both NL & CR in the serial monitor.");
    Serial.println("Ready");
    Serial.println("");    
}

void loop() 
{
    // прослушайте сообщение от ESP8266, а затем запишите его на последовательный монитор
    if ( ESPserial.available() )   {  Serial.write( ESPserial.read() );  }

    // прослушайте ввод пользователя и отправьте его на ESP8266
    if ( Serial.available() )       {  ESPserial.write( Serial.read() );  }
}

Но когда я попытался отправить "AT" в ESP через последовательный монитор, ничего не произошло.

Это моя текущая проводка, надеюсь, она не будет непонятной:

Надеюсь, кто-то может мне помочь :)

, 👍1

Обсуждение

измените baudrates в коде и последовательном мониторе и проверьте еще раз . Может быть, 9600., @Mitu Raj

@MITURAJ Я уже проверил это, но не повезло, @Fantasia

Убедитесь, что эти соединения есть: 1) Питание esp8266 составляет 3,3 В от NANO. 2) GND от NANO до GND от esp8266. 3) TX от esp8266 переходит к RX от NANO. 4) TX от Nano идет к esp8266 через резистивный делитель для падения 3,3 В. 5) CH_PD, ПЕРВЫЕ контакты esp8266 = 3,3 В, @Mitu Raj

Я думаю, что проблема в скорости передачи данных, я заказал USB-последовательный конвертер, чтобы сначала изменить его, @Fantasia

Горит ли синий светодиод в вашем esp8266?, @Mitu Raj

да, бодрейт может быть проблемой. USB-TTL конвертеры вместе с PuTTY - это хороший способ легко проверить ваш wifi-модуль ... перед использованием с arduino uno, @Mitu Raj

Да, он постоянно горит, @Fantasia

постоянно горит? ой, тогда ваша прошивка повреждена. Вам нужно перепрошить esp8266!, @Mitu Raj

это прошивка или может быть, что nano не подает достаточного тока?, @Fantasia

Может быть. Питание от отдельного источника питания 3,3 В всегда является лучшим выбором. Обычно я использую USB-TTL для включения питания., @Mitu Raj

Я думаю, что сначала попробую прошить прошивку, это то, что рекомендовал мой быстрый поиск в Google, @Fantasia


3 ответа


Лучший ответ:

0

Некоторые аппаратные неполадки -

  • Убедитесь, что источник питания 3,3 В к модулю Wi-Fi подает достаточный ток на esp8266, так как он потребляет много тока.
  • Убедитесь, что TX от Nano идет к RX esp8266 через резистивный делитель для снижения сигналов 5 В от nano до 3,3 В (для большей безопасности).
  • При включении питания проверьте, быстро ли мигнул синий светодиод ESP8266 2-3 раза и погас. Проверьте, загорелся ли красный светодиод и продолжает ли он гореть. Если это так, то ваш чип ESP8266 работает нормально. Если СИНИЙ светодиод не мигает или продолжает гореть, возможно, ваша прошивка повреждена, и вам придется заново прошить прошивку ESP8266.
  • Убедитесь, что бодрейт правильный.
,

1

Шаг 1: Включите модуль ESP8266 с помощью выходного контакта Arduino Nano 3.3V Dc. Помните, что иногда плата Arduino не подает достаточного напряжения на модуль ESP8266. Для питания этого модуля можно использовать регулятор 3,3 В (не превышающий входного напряжения 3,3 В) ( AMS1117 ). Схема делителя напряжения используется для понижения Arduino 5V до ESP8266 3.3 V.

Шаг 2: Вот принципиальная схема, в моем коде я использовал цифровой вывод 2 в качестве Tx и D3 в качестве RX.

Шаг 3: Откройте Arduino IDE и вставьте исходный код в окно, как показано на рисунке.

Шаг 4: Вы готовы отправлять At-команды в свой модуль ESP8266. Помните, что во время последовательной связи вы увидите значение мусора.

AT – Даст OK на последовательном мониторе, если нет, просто отсоедините на мгновение вывод vcc модуля ESP8266 и снова подключите.

Send AT+RST – Команда для перезапуска модуля / Необязательная команда

Отправить ПО адресу +GMR – Чтобы получить версию прошивки

Отправить В РЕЖИМЕ +CWMODE? – Установите модуль в двойной режим, такой как автономный + режим точки доступа.

Send AT+CWLAP – команда для поиска ближайшей точки доступа Wi-Fi. Найдите свое имя Wi-Fi в результатах поиска.

Send AT+CWJAP="Your Wifi Name", "Your Wifi Password" – команда для подключения к Wi-Fi.

Отправьте AT + CIFSR – команду для проверки выделенного Ip-адреса, предоставленного вашим Wi-Fi модулю ESP8266 / Дополнительная команда.

,

С этой публикацией есть несколько проблем. Во-первых, не рекомендуется использовать выход Arduino 3,3 В. Плакат уже выходит за рамки этого, используя внешний регулятор. Далее, представление кода в виде снимка экрана * picture * абсолютно неприемлемо. Но даже если бы вы представили код в текстовом формате в своем посте, вы не можете просто предложить альтернативный код, вам нужно * объяснить *, почему он лучше, чем тот, который уже опробован., @Chris Stratton


1

Проблема в том, что ESP8266-01, как показано на схеме, закорачивает контакты заголовка. Помните, что макет, который вы используете, соединяет все контакты с каждой стороны подряд. Модуль Wi-Fi имеет 8 контактов с распиновкой, описанной в других сообщениях. Вы должны "поплавать" модуль и подключить его к макетной плате с помощью точечной проводки (надеюсь, это ясно). Проще говоря ... не подключайте модуль Wi-Fi к макетной плате. Ничего не поделаешь. Ваше здоровье!

,