一个基于Arduino esp8266的无线温度&湿度读取器和与其链接的网关,具有NEXTION显示屏。
代码示例:
无线温度&湿度读取器:
#include
#define DHTPIN 2
#define DHTTYPE DHT11
const char* ssid = "YOUR_SSID"; const char* password = "YOUR_PASSWORD"; const char* host = "192.168.X.XX"; // IP address of the gateway const int port = 8080;
DHT dht(DHTPIN, DHTTYPE);
void setup() { Serial.begin(115200); delay(10);
dht.begin(); 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());
}
void loop() { float humidity = dht.readHumidity(); float temperature = dht.readTemperature(); if (isnan(humidity) || isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); return; } Serial.print("Humidity: "); Serial.print(humidity); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(temperature); Serial.println(" *C");
WiFiClient client;
if (client.connect(host, port)) { Serial.println("Connected to gateway"); String temperatureData = String(temperature, 1); String humidityData = String(humidity, 1); client.print("Temperature: "); client.println(temperatureData); client.print("Humidity: "); client.println(humidityData); } else { Serial.println("Connection failed"); }
delay(5000); }
链接的网关:
#include