【问题标题】:ESP8266 with arduino nano, no feedback on serial monitor带有arduino nano的ESP8266,串行监视器上没有反馈
【发布时间】:2017-04-17 03:42:54
【问题描述】:

我正在将我的 esp8266 连接到我的 arduino nano

ESP Tx > Arudino Tx
ESP Rx > Arduino Rx
ESP 3.3v > Arduino 3v3
ESP Dh_cp > Arduino 3v3
ESP Gnd > Arduino Gnd

我通过 USB 为 arduino nano 供电,VIN 为 12V,对所有人使用公共接地

我已经尝试了所有波特率并发送了 AT 命令。 ESP8266 的红灯常亮蓝灯只在启动时亮,arduino 的 TX 红灯在连接 ESP8266 时也常亮。

作为最后的手段,我尝试使用 espressif 网站上的固件刷新 ESP8266,我刷新了 nonos sdk(非启动版本)v2.0.0。

串行监视器不显示任何波特率

我尝试了很多我在网上找到的代码,比如这里的代码: 但主要是我使用一个空白代码,因为我只想将 esp8266 连接到 arduino 并让它给出一些它现在正在工作的反馈。喜欢这个链接:http://randomnerdtutorials.com/getting-started-with-esp8266-wifi-transceiver-review/

使用此代码

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

void setup() 
{
    Serial.begin(115200);     // communication with the host computer
    //while (!Serial)   { ; }

    // Start the software serial for communication with the 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() 
{
    // listen for communication from the ESP8266 and then write it to the serial monitor
    if ( ESPserial.available() )   {  Serial.write( ESPserial.read() );  } else { Serial. println("not ready");}

    // listen for user input and send it to the ESP8266
    if ( Serial.available() )       {  ESPserial.write( Serial.read() );  }
}

串行监视器不断打印“未准备好”,所以我猜测 ESP 模块无法读取,但我不知道如何从中诊断问题

闪烁时我使用波特率 115200

用这个电路也可以测试http://www.martyncurrey.com/wp-content/uploads/2015/01/Arduino-to-ESP8266.jpg

【问题讨论】:

标签: arduino esp8266 arduino-esp8266


【解决方案1】:

ESP Rx -> Arudino Tx ESP Tx -> Arduino Rx

改变它,我认为它会工作

祝你好运。

【讨论】:

    【解决方案2】:

    如果您只想使用 AT 命令,则只需上传具有 void setup(){}
    void loop(){} 的空白草图 在里面。 另外,请保持接线原样。 我正在做同样的事情,它对我来说很好。 你也可以参考这个链接 https://www.instructables.com/id/Getting-Started-With-the-ESP8266-ESP-01/

    【讨论】:

      【解决方案3】:

      您应该始终像这样交叉 RX(接收) TX(发送):

      ESP Rx > Arudino Tx

      ESP Tx > Arduino Rx

      ESP 3.3v > Arduino 3v3

      ESP Dh_cp > Arduino 3v3

      ESP 接地 > Arduino 接地

      您还应该精简外部电源,因为 ESP 需要更多的安培,而 Arduino 无法提供,而且它可能无法正常工作(肯定不可靠)。

      (不要忘记为arduino、电源和ESP制作一个公共GND)

      【讨论】:

        【解决方案4】:

        其他答案都提出了您应该更改的内容,但这些可能不是问题的罪魁祸首。有一个致命错误。软件串行以 115200 的波特率工作。您必须使用空白草图将 ESP8266 连接到 TX 和 RX 引脚,并将 ESP8266 的波特率更改为9600之前的软件序列号就可以接了。

        另外,我认为代码不能正确接收返回。尝试更多:

        #define RX_PIN 3
        #define TX_PIN 2
        #define ESP_BRATE 9600
        
        SoftwareSerial esp8266(RX_PIN, TX_PIN);
        
        bool at_command(String command, int timeout_ms, String* output) {
          esp8266.println(command);
        
          String ret;
        
          int start_time = millis();
          while (timeout_ms == -1 || millis() < start_time + timeout_ms) {
            String line = esp8266.readStringUntil('\n');
            if (line == "OK\r") {
              if (output) {
                *output = ret;
              }
              return true;
            }
            if (line == "ERROR\r") {
              if (output) {
                *output = ret;
              }
              return false;
            }
        
            ret += line;
            ret += '\n';
          }
          if (output) {
            *output = ret;
          }
          return false;
        }
        
        void setup()
        {
          Serial.begin(9600);
          while (!Serial) {
            delay(10);
          }
        
          esp8266.begin(ESP_BRATE); // I changed this on the ESP to 9600
          while (!esp8266) {
            delay(10);
          }
        
          String out;
          bool ret;
        
          ret = at_command("AT", -1, &out);
          Serial.println(out);
          if (!ret) {
            Serial.println("AT is not returning OK");
            return;
          }
        

        可以在here 找到基于 ESP8266-01 的气象站的完整示例代码,这可能有助于向您展示如何操作。它包含大量有关使用 ESP 的文档,应该可以帮助您到达需要的地方!

        【讨论】:

          猜你喜欢
          • 2016-07-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多