ให้คะแนนกระทู้:
  • 0 โหวต - 0 เฉลี่ย
  • 1
  • 2
  • 3
  • 4
  • 5
ESP8266 DHT11 sent data to multi thingsboard
#1
ESP8266 DHT11 ส่งข้อมูล อุณหภูมิและความชื้น ขึ้น Thingsboard Server 2 Server พร้อมกัน






โค้ด:
#include <DHT.h>
#include <ESP8266WiFi.h>
#include <ThingsBoard.h>

// Replace with your WiFi credentials
const char* ssid = "ชื่อไวไฟ";
const char* password = "รหัสไวไฟ";

// Replace with your ThingsBoard server information
const char* thingsboardServer1 = "ce.iotbb.com";
const char* deviceToken1 = "token1";

const char* thingsboardServer2 = "pe.iotbb.com";
const char* deviceToken2 = "token2";

// Create a DHT object
#define DHTPIN D2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

// Create ThingsBoard clients
WiFiClient espClient1;
ThingsBoard tb1(espClient1);

WiFiClient espClient2;
ThingsBoard tb2(espClient2);

void setup() {
  Serial.begin(115200);

  // Connect to Wi-Fi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");

  // Connect to ThingsBoard servers
  tb1.connect(thingsboardServer1, deviceToken1);
  tb2.connect(thingsboardServer2, deviceToken2);
}

void loop() {
  float temperature, humidity;

  // Read temperature and humidity from DHT sensor
  temperature = dht.readTemperature();
  humidity = dht.readHumidity();

  if (!isnan(temperature) && !isnan(humidity)) {
    Serial.println("DHT11 Readings:");
    Serial.print("Temperature: ");
    Serial.print(temperature);
    Serial.println(" °C");

    Serial.print("Humidity: ");
    Serial.print(humidity);
    Serial.println(" %");

    // Send data to ThingsBoard servers
    tb1.sendTelemetryFloat("temperature", temperature);
    tb1.sendTelemetryFloat("humidity", humidity);

    tb2.sendTelemetryFloat("temperature", temperature);
    tb2.sendTelemetryFloat("humidity", humidity);

    Serial.println("Data sent to ThingsBoard");
  } else {
    Serial.println("Failed to read DHT11 data. Check connections and try again.");
  }

  delay(5000); // Delay for 5 seconds before reading data again
}
ตอบกลับ
« หน้าที่แล้ว | หน้าถัดไป »


ไปยังหัวข้อ:


ผู้ที่กำลังดูกระทู้นี้: 1 ผู้เยี่ยมชม