Делаю проект: датчик температуры и влажности, соединённый с платой Nodemcu v3, которая шлёт данные по UDP на локальный ноутбук. Проблема в том, что плата не хочет ничего отправлять, пока не отослать ей какие-нибудь данные. Может кто знает что-нибудь про это? Код предоставляю ниже. Делаю всё в среде ArduinoCore.
Код:
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include "DHT.h"
#define DHTPIN 13
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
char ssid[] = "RosTelekom-WIFI"; // your network SSID (name)
char pass[] = "odin2tri4"; // your network password
WiFiUDP Udp;
unsigned int remoteUdpPort = 25565;
char remoteIp[] = "192.168.1.100";
void setup()
{
// initialize serial:
Serial.begin(9600);
Serial.println("Attempting to connect to WPA network...");
Serial.print("SSID: ");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, pass);
Serial.print("Connecting to WIFI");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connected to wifi. My address: ");
IPAddress myAddress = WiFi.localIP();
Serial.println(myAddress);
if (!Udp.begin(remoteUdpPort))
{
Serial.println("Failed to bin port");
}
Serial.print("Start listening port: ");
Serial.println(remoteUdpPort);
dht.begin();
delay(5000);
}
void loop()
{
byte data[2];
data[0] = dht.readTemperature();
data[1] = dht.readHumidity();
if (isnan(data[0]) || isnan(data[1]))
{
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Temp: ");
Serial.print(data[0]);
Serial.print(" Humidity: ");
Serial.println(data[1]);
Udp.beginPacket(remoteIp, remoteUdpPort);
Udp.write(data,2);
Udp.endPacket();
delay(2000);
}