Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用ESP8266-12E通过UDP发送/接收_C++_Arduino_Udp_Esp8266 - Fatal编程技术网

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

C++ 如何使用ESP8266-12E通过UDP发送/接收,c++,arduino,udp,esp8266,C++,Arduino,Udp,Esp8266,我已经做了很多次UDP发送/接收。但现在我累坏了 也许我在代码中遗漏了一些愚蠢的错误,或者我正在使用的库中存在问题。不管怎样,如果有人能帮忙,请看一看 接收机编码 #include <ESP8266WiFi.h> #include <WiFiUdp.h> const char* ssid = "M3-L7"; const char* password = "mySmartChoice"; unsigned int localPort = 2390; char pack

我已经做了很多次UDP发送/接收。但现在我累坏了

也许我在代码中遗漏了一些愚蠢的错误,或者我正在使用的库中存在问题。不管怎样,如果有人能帮忙,请看一看

接收机编码

#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); 
    }
  }
}
#包括
#包括
const char*ssid=“M3-L7”;
const char*password=“mySmartChoice”;
无符号int localPort=2390;
字符包缓冲区[255];
WiFiUDP-Udp;
无效设置(){
序列号开始(115200);
WiFi.begin(ssid,密码);
while(WiFi.status()!=WL_已连接){
延迟(500);
连续打印(“.”);
}
开始(localPort);
}
void循环(){
延迟(10);
if(Udp.parsePacket()){
int len=Udp.read(packetBuffer,255);
如果(len>0){
packetBuffer[len]=0;
Serial.println(packetBuffer);
}
}
}
发送方/访问点的代码

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

const char *ssid = "M3-L7";
const char *password = "mySmartChoice";
unsigned int localPort = 2390; 

WiFiUDP Udp;
void setup() {
    delay(1000);
    Serial.begin(115200);
    WiFi.softAP(ssid, password);
  Udp.begin(localPort);
}

void loop() {
 Udp.beginPacket("192.168.4.1", localPort);
 Udp.write("Hello");
 Udp.endPacket();
 delay(10);
}
#包括
#包括
const char*ssid=“M3-L7”;
const char*password=“mySmartChoice”;
无符号int localPort=2390;
WiFiUDP-Udp;
无效设置(){
延迟(1000);
序列号开始(115200);
WiFi.softAP(ssid,密码);
开始(localPort);
}
void循环(){
Udp.beginPacket(“192.168.4.1”,localPort);
Udp.write(“你好”);
Udp.endPacket();
延迟(10);
}

嗯,我希望“你好”会被反复打印:d。。它们到达了连接点,但这已经结束。

您可能想在Wifi之前尝试将以下内容添加到接收器中。开始:

WiFi.mode(WIFI_STA);

这会将Wifi设置为站点(客户端),而不是接入点。您的代码没有这样做,因此很难确定发生了什么,特别是如果您正在使用以前编程为在AP模式下运行的设备。

谢谢,我自己永远不会考虑它,它工作:DNo问题。在我意识到我需要这么做之前,我曾经有过一些自己的趣事!