无法使用ESP8266和Arduino uno建立连接

时间:2015-04-01 18:23:31

标签: sockets arduino wifi esp8266

我正在使用带有ESP8266的Arduino Uno Rev3连接到网络并通过TCP套接字发送一些数据。我正在使用以下代码建立连接

boolean connectWifi() {
  String cmd =  "AT+CWJAP=\"";
         cmd += SSID;
         cmd += "\",\"";
         cmd += PASS;
         cmd += "\"";
  Serial.flush();
  Serial.println(cmd);
  delay(5000);
  if(Serial.find("OK")) {
    Serial.println("Connected");
    return true;
  } else {
    Serial.println("Not connected");
    return false;
  }
}

但每次我在arduino loop()中调用此函数时,都会收到“Not connected”。

我已经尝试直接连接在Arduino上运行空代码的串行监视器,这个AT命令工作得非常好。有人知道出了什么问题吗?

连接:

(当我需要从arduino代码发送命令时使用)
    Arduino ------------ ESP8266
    3.3v --------------------- vcc
    gnd ---------------------- gnd
    3.3v ------------------- CH_PD
    TX ------------------------ RX
    RX ------------------------ TX

(当我需要从arduino串口监视器发送命令时使用)
    Arduino ------------ ESP8266
    3.3v --------------------- vcc
    gnd ---------------------- gnd
    3.3v ------------------- CH_PD
    TX ------------------------ TX
    RX ------------------------ RX

3 个答案:

答案 0 :(得分:2)

我刚将blank.bin上传到ESP中,一切正常。有一些示例代码与Arduíno冲突。

答案 1 :(得分:0)

您需要更多电量才能使其正常工作。 也许这会有所帮助:

  

http://makezine.com/2015/04/01/installing-building-arduino-sketch-5-microcontroller/

     
    

(查看文章中的build a voltage divider out of resistors

  

答案 2 :(得分:0)

我也有同样的问题,尝试下面的代码也许它的工作原理 (esp应该连接到arduino的引脚,除了rx和tx,我使用引脚号7和引脚号8)

#include <SoftwareSerial.h>

SoftwareSerial esp(7, 8);// TX, RX

void setup()
{
esp.begin(115200);

Serial.begin(9600);
}

void loop()
{
//put your code here
}