如何使用ESP8266-12E通过UDP发送/接收

时间:2019-04-21 07:51:46

标签: c++ arduino udp esp8266

我已经完成UDP发送/接收很多次了。但是现在我被困住了。

也许我错过了代码中的一些愚蠢的错误,或者我正在使用的库中有问题。无论如何,如果有人可以帮助您,请看看。

接收方代码

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    if previousOffsetY > offsetLimitation {
        // hide
    }
}

发送方/访问点的代码

#include <ESP8266WiFi.h>
#include <WiFiUdp.h>

const char* ssid = "M3-L7";
const char* password = "mySmartChoice";
unsigned int localPort = 2390; 
char packetBuffer[255];
WiFiUDP Udp;

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED){
    delay(500);
    Serial.print(".");
  }
  Udp.begin(localPort);
}

void loop() {
  delay(10);
  if (Udp.parsePacket()) {
    int len = Udp.read(packetBuffer, 255);
    if (len > 0) {
      packetBuffer[len] = 0;
      Serial.println(packetBuffer); 
    }
  }
}

好吧,我希望“ Hello”会被重复打印:D ..它们到达了连接点,但结束了。

1 个答案:

答案 0 :(得分:1)

您可能想尝试在Wifi.begin之前将以下内容添加到接收器:

WiFi.mode(WIFI_STA);

这会将Wifi设置为站(客户端)而不是接入点。您的代码没有执行此操作,因此很难确定正在发生的事情,尤其是如果您正在重新使用以前编程为以AP模式运行的设备。