NodeMCUネットワークUDPクライアント要求、サンプルコード(C++開発)

1813 ワード

NodeMCUをudpクライアントとしてudpサービス側のc++コードにアクセスする.
#include 

#include 

//     
const char* ssid      = "xxx";
const char* password  = "xxxxxx";

//Udp param
WiFiUDP Udp;
unsigned int localUdpPort = 2333; //      
char incomingPacket[537];         //      

void setup() {
  // put your setup code here, to run once:
 Serial.begin(115200);
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    Serial.println("");
    Serial.println("WiFi connected");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
  }

//init udp
UdpInit();
UdpSend();

}

void UdpInit() {
  //https://www.arduino.cc/en/Reference/WiFi
  //    UDP         
  Udp.begin(localUdpPort);
  Serial.printf("Now listening at IP %s, UDP port %d
", WiFi.localIP().toString().c_str(), localUdpPort); } void UdpSend() { Udp.beginPacket("device.xxx.com", 9090); Udp.write("LED has been turn off"); // LED has been turn off Udp.endPacket(); } void UdpRecv() { int packetSize = Udp.parsePacket(); // if (packetSize) // { Serial.printf("Received %d bytes from %s, port %d
", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort()); int len = Udp.read(incomingPacket, 536); // incomingPacket if (len > 0) // { incomingPacket[len] = 0; // 0 Serial.printf("UDP packet contents: %s
", incomingPacket); } } } void loop() { UdpRecv(); }