ESP32 Bắt đầu với Cơ sở dữ liệu Chuỗi Thời gian InfluxDB

ESP32 Bắt đầu với Cơ sở dữ liệu Chuỗi Thời gian InfluxDB

Giới thiệu InfluxDB

InfluxDB là một cơ sở dữ liệu chuỗi thời gian mã nguồn mở. Nó được sử dụng để lưu trữ và thu thập dữ liệu chuỗi thời gian thường được sử dụng trong các ứng dụng IoT, phân tích dữ liệu thời gian thực, giám sát hoạt động, v.v. Một lượng lớn dữ liệu có thể được lưu trữ hiệu quả mỗi giây với dấu thời gian được liên kết với mỗi điểm dữ liệu.

Biểu trưng InfluxDB

Hãy để chúng tôi định nghĩa một số thuật ngữ khóa InfluxDB thường được sử dụng trong khi sử dụng cơ sở dữ liệu này.

Vùng lưu trữ: Vùng lưu trữ là một nơi được chỉ định nơi lưu trữ dữ liệu. Trong khi tạo vùng lưu trữ, bạn chỉ định tên và khoảng thời gian để dữ liệu bị xóa.

Điểm: Một điểm bao gồm một tập hợp dữ liệu liên tiếp. Nó bao gồm một phép đo, bộ thẻ, khóa trường, giá trị trường và dấu thời gian.

Thẻ (khóa thẻ và giá trị thẻ): Các cột trong dữ liệu được gọi là thẻ. Thẻ bao gồm một tập hợp dữ liệu cung cấp cho chúng tôi thông tin về dữ liệu khác thường được truy vấn. Mặc dù chúng là tùy chọn nhưng nó giúp tổ chức dữ liệu một cách hiệu quả. Chúng được lập chỉ mục.

Trường (khóa trường và giá trị trường): Một trường bao gồm khóa trường và giá trị trường được lưu trữ trong các cột tương ứng của chúng. Chúng không được lập chỉ mục. Ở đây, khóa trường là một kiểu chuỗi mô tả tên của trường. Mặt khác, giá trị trường mô tả giá trị của trường. Nó có thể là gõ chuỗi, phao, int hoặc boolean.

Đo lường: Dữ liệu này hiển thị dữ liệu (thẻ, trường, dấu thời gian) được lưu trữ trong các trường liên quan. Tên đo lường là một chuỗi và được chọn theo cách mô tả dữ liệu mà nó chứa.

Thiết lập cơ sở dữ liệu InfluxDB

Bây giờ chúng ta hãy xem cách dễ dàng thiết lập cơ sở dữ liệu InfluxDB của chúng ta để ghi nhật ký dữ liệu ESP32. Đầu tiên, hãy truy cập trang web chính thức của InfluxDB  và nhấp vào nút 'Get InfluxDB' như được đánh dấu bên dưới.

InfluxDB tạo tài khoản 1

Bạn sẽ phải tạo một tài khoản đám mây InfluxDB miễn phí. Bạn có thể tiếp tục với tài khoản Google hoặc Microsoft của mình hoặc đăng nhập bằng cách cung cấp thông tin chi tiết của bạn như được hiển thị bên dưới để tạo tài khoản.

InfluxDB tạo tài khoản 2

Bước tiếp theo là chọn nơi bạn muốn lưu trữ dữ liệu. Chúng tôi đang chọn Google Cloud làm bộ nhớ. Bạn cũng có tùy chọn sử dụng các dịch vụ web của Amazon và Microsoft Azure. Hơn nữa, tên công ty cũng sẽ được yêu cầu. Đừng quên đánh dấu vào thỏa thuận sau khi đọc nó.

InfluxDB lưu trữ dữ liệu

Tiếp theo, chúng tôi sẽ được yêu cầu chọn một kế hoạch. Chúng tôi sẽ gắn bó với gói 'Miễn phí' vì nó hoạt động tốt với các dự án của chúng tôi.

InfluxDB chọn kế hoạch

Bây giờ trang bắt đầu sẽ mở ra. Bây giờ chúng tôi đã đăng nhập thành công vào InfluxDB, đặt đích lưu trữ và chọn gói đám mây InfluxDB của chúng tôi. Bây giờ chúng tôi đã sẵn sàng để tải dữ liệu.

Trang bắt đầu InfluxDB

Tải dữ liệu

Để tải dữ liệu vào InfluxDB, hãy bắt đầu bằng cách nhấp vào nút Thêm như được tô sáng bên dưới.

InfluxDB tải dữ liệu

Thao tác này sẽ mở phần tải dữ liệu. Ở đây trong tab 'Nguồn', chọn Arduino làm thư viện khách hàng.

InfluxDB tải dữ liệu 2

Thao tác này cũng sẽ mở ra trang vùng lưu trữ với mã mẫu. Hiện tại chúng tôi không có bất kỳ thùng nào. Đầu tiên, chúng ta sẽ phải tạo một bucket. Nhấp vào '+ CREATE BUCKET' để tiếp tục.

InfluxDB tạo Bucket 1

Đặt tên cho vùng lưu trữ của bạn và tùy chỉnh tùy chọn xóa dữ liệu theo yêu cầu của bạn. Sau đó nhấp vào 'TẠO' để hoàn tất quá trình tạo vùng lưu trữ.

InfluxDB tạo Bucket 2

Bây giờ như bạn có thể thấy, trong trang vùng lưu trữ, chúng ta có thể xem vùng lưu trữ mà chúng ta vừa tạo. Chúng tôi đã đặt tên cho nó là 'ESP32' và nó có thể được tìm thấy trong phần xô. Nhấp đúp chuột vào nó để vùng lưu trữ được chọn.

InfluxDB tạo Bucket 3

Lấy tham số InfluxDB (URL, ORG và Bucket)

Đây là một bước rất quan trọng. Chúng ta sẽ lấy InfluxDB URL, ORG và Bucket. Các tham số này sẽ được sử dụng bên trong bản phác thảo chương trình của chúng tôi để gửi dữ liệu thành công đến InfluxDB.

Bên trong vùng lưu trữ ESP32 của chúng tôi, hãy chuyển đến phần 'Khởi tạo máy khách'. Tại đây bạn có thể xem định nghĩa của các tham số InfluxDB khác nhau. Sao chép INFLUXDB_URL, INFLUXDB_ORG và INFLUXDB_BUCKET.

InfluxDB tạo Bucket 4

Nhận API Token

Bước quan trọng tiếp theo là tạo API Token. Điều này cũng được yêu cầu để đọc/ghi an toàn vào cơ sở dữ liệu InfluxDB.

Ở phía ngoài cùng bên trái, hãy nhấp vào biểu tượng mũi tên như hình dưới đây rồi chọn Mã thông báo API.

InfluxDB API Mã thông báo 1

Bây giờ hãy nhấp vào + GENERATE API TOKEN và sau đó nhấp vào All Access API Token như được đánh dấu bên dưới:

InfluxDB API Mã thông báo 2

Cung cấp mô tả cho Mã thông báo API không giới hạn của bạn và lưu nó.

InfluxDB API Mã thông báo 3

Bây giờ mã thông báo API của bạn sẽ được tạo. Sao chép nó và lưu nó một cách an toàn. Bạn sẽ không thể xem lại.

InfluxDB API Mã thông báo 4

Cài đặt Thư viện InfluxDB trong Arduino IDE

Chúng tôi sẽ sử dụng Arduino IDE để lập trình ESP32 của chúng tôi. Vì vậy, bạn nên có phiên bản Arduino IDE mới nhất. Ngoài ra, bạn cũng cần cài đặt plugin ESP32.

Mở Arduino IDE và nhấp vào Sketch > Library > Manage Libraries

MPU-6050 Cài đặt thư viện

Cửa sổ sau sẽ mở ra.

thư viện tìm kiếm Arduino IDE

Nhập 'Influxdb' vào thanh tìm kiếm và nhấn enter. Cài đặt phiên bản mới nhất của thư viện như hình dưới đây. Thư viện này tương thích với cả bảng phát triển ESP8266 và ESP32.

Cài đặt Thư viện InfluxDB

Sau khi cài đặt thư viện, hãy khởi động lại IDE của bạn.

Gửi ESP32 Đo điện áp ADC trong InfluxDB

Bây giờ chúng ta đã sẵn sàng để gửi các điểm dữ liệu ESP32 trong InfluxDB. Vì mục đích trình diễn, chúng tôi sẽ giao diện bảng ESP32 của mình với chiết áp và gửi số đọc điện áp đến vùng lưu trữ ESP32 của chúng tôi trong InfluxDB.

Chúng tôi sẽ kết nối chiết áp với một kênh tương tự trên bảng ESP32 của chúng tôi và sau đó đo điện áp của nó. Bằng cách xoay núm trên của chiết áp, điện áp đầu vào thay đổi sẽ được cung cấp sẽ được chuyển đổi thành các giá trị kỹ thuật số tương ứng của chúng thông qua mô-đun ADC trong bo mạch ESP32 của chúng tôi. Các thành phần sau đây được yêu cầu để thực hiện quy trình này:

Các thành phần bắt buộc

  1. Bảng mạch ESP32 DEVKIT

  2. Breadboard

  3. Chiết áp kế

  4. Dây kết nối

Sơ đồ kết nối ESP32 với chiết áp kế

Hình dưới đây cho thấy sơ đồ cho mô-đun ESP32 với chiết áp. Lắp ráp mạch của bạn như sau:

Sơ đồ kết nối ADC ESP32 Micropython

Như chúng ta có thể thấy một cực của chiết áp được cấp nguồn bằng 3.3V (màu xanh lá cây), đầu cuối trung tâm được kết nối với chân GPIO (màu xanh lam) và đầu cuối cùng được nối đất (màu đen). Đối với ESP32, dây màu xanh lam kết nối GPIO32 là ADC1_CH4 hoặc ADC1 kênh 4.

Đảm bảo bạn chọn một chân tương tự ESP32 thích hợp không được chia sẻ bởi các thiết bị ngoại vi khác, đặc biệt là Wi-Fi.

Phác thảo: ESP32 Lưu dữ liệu trong InfluxDB

Mở Arduino IDE của bạn và đi tới Tệp > Mới để mở tệp mới. Sao chép mã được cung cấp bên dưới trong tệp đó. Hãy nhớ thay đổi thông tin đăng nhập Wi-Fi, URL InfluxDB, org, tên vùng lưu trữ và mã thông báo API. Ngoài ra, hãy đặt chuỗi múi giờ theo vị trí của bạn để đồng bộ hóa thời gian một cách chính xác.

Bản phác thảo này tạo ra một điểm dữ liệu trên cơ sở dữ liệu với các thẻ và trường. Sau mỗi 5 giây, nó giúp tiết kiệm điện áp đọc được lấy từ kênh ESP32 ADC được chuyển đổi thành giá trị kỹ thuật số.

#include <WiFiMulti.h>

#include <InfluxDbClient.h>

#include <InfluxDbCloud.h>

 

WiFiMulti wifiMulti;

 

#define DEVICE "ESP32"

#define WIFI_SSID "WRITE_YOUR_SSID"

#define WIFI_PASSWORD "WRITE_YOUR_PASSWORD"

#define INFLUXDB_URL "WRITE_YOUR_URL"

#define INFLUXDB_TOKEN "WRITE_YOUR_API_TOKEN"

#define INFLUXDB_ORG "WRITE_YOUR_ORG"

#define INFLUXDB_BUCKET "WRITE_YOUR_BUCKET"

 

// Set timezone string according to https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html

#define TZ_INFO "PKT-5"

 

// InfluxDB client instance with preconfigured InfluxCloud certificate

InfluxDBClient client(INFLUXDB_URL, INFLUXDB_ORG, INFLUXDB_BUCKET, INFLUXDB_TOKEN, InfluxDbCloud2CACert);

 

// Data point

Point sensor("voltage_status");

 

const int Analog_channel_pin= 32;

int ADC_VALUE = 0;

float voltage_value;

 

void setup() {

  Serial.begin(115200);

  WiFi.mode(WIFI_STA);

  wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD);

  Serial.print("Connecting to wifi");

  while (wifiMulti.run() != WL_CONNECTED) {

    Serial.print(".");

    delay(500);

  }

  Serial.println();

 

  // Add tags

  sensor.addTag("device", DEVICE);

  sensor.addTag("SSID", WiFi.SSID());

  

  timeSync(TZ_INFO, "pool.ntp.org", "time.nis.gov");

  

  if (client.validateConnection()) {

    Serial.print("Connected to InfluxDB: ");

    Serial.println(client.getServerUrl());

  } else {

    Serial.print("InfluxDB connection failed: ");

    Serial.println(client.getLastErrorMessage());

  }

}

 

void loop() {

  // Store measured value into point

  sensor.clearFields();

  

  ADC_VALUE = analogRead(Analog_channel_pin);

  delay(1000);

  

  voltage_value = (ADC_VALUE * 3.3 ) / (4095);

  delay(1000);

  

  sensor.addField("Voltage",voltage_value);

 

  Serial.print("Writing: ");

  Serial.println(client.pointToLineProtocol(sensor));

  

  // If no Wifi signal, try to reconnect it

  if (wifiMulti.run() != WL_CONNECTED) {

    Serial.println("Wifi connection lost");

  }

  // Write point

  if (!client.writePoint(sensor)) {

    Serial.print("InfluxDB write failed: ");

    Serial.println(client.getLastErrorMessage());

  }

 

  Serial.println("Delay 5s");

  delay(5000);

}

Mã hoạt động như thế nào?

Bước đầu tiên là đưa thư viện WiFiMulti vào bản phác thảo. Điều này sẽ cho phép chúng tôi thêm nhiều mạng Wi-Fi vào bên trong bản phác thảo của mình và ESP32 kết nối với mạng mạnh nhất. Tuy nhiên, chúng tôi sẽ sử dụng một mạng duy nhất trong ví dụ này. Thứ hai, cũng bao gồm các thư viện InfluxDB mà chúng tôi vừa cài đặt. Điều này sẽ đảm bảo giao tiếp ESP32 dễ dàng và thành công với InfluxDB.

#include <WiFiMulti.h>

#include <InfluxDbClient.h>

#include <InfluxDbCloud.h>

Tiếp theo, tạo một đối tượng của WiFiMulti như hình dưới đây:

WiFiMulti wifiMulti;

Chỉ định tên của thiết bị mà bạn sẽ sử dụng. Trong trường hợp của chúng tôi, đó là ESP32.

#define DEVICE "ESP32"

Bước tiếp theo rất quan trọng. Xác định cẩn thận SSID Wi-Fi, mật khẩu Wi-Fi, URL InfluxDB, InfluxDB ORG, mã thông báo API InfluxDB và tên vùng lưu trữ InfluxDB. Các tham số liên quan đến InfluxDB là những tham số mà trước đây chúng tôi đã có được và lưu lại.

#define WIFI_SSID "WRITE_YOUR_SSID"

#define WIFI_PASSWORD "WRITE_YOUR_PASSWORD"

#define INFLUXDB_URL "WRITE_YOUR_URL"

#define INFLUXDB_TOKEN "WRITE_YOUR_API_TOKEN"

#define INFLUXDB_ORG "WRITE_YOUR_ORG"

#define INFLUXDB_BUCKET "WRITE_YOUR_BUCKET"

Bây giờ, hãy xác định múi giờ theo vị trí của bạn. Điều này là cần thiết để đồng bộ hóa thời gian.

Tham khảo liên kết được cung cấp bên dưới để có được múi giờ gần nhất với vị trí của bạn và xác định múi giờ đó trong mã.

Chúng tôi đã đặt múi giờ cho Châu Á / Karachi, do đó chúng tôi sử dụng PKT-5.

// Set timezone string according to https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html

#define TZ_INFO "PKT-5"

Bước tiếp theo là tạo một phiên bản InfluxDBCliant. Thao tác này sẽ tạo ra một máy khách an toàn với chứng chỉ được định cấu hình sẵn.

InfluxDBClient client(INFLUXDB_URL, INFLUXDB_ORG, INFLUXDB_BUCKET, INFLUXDB_TOKEN, InfluxDbCloud2CACert);

Ở đây chúng ta sẽ tạo một điểm dữ liệu gọi là 'voltage_status' trong cơ sở dữ liệu InfluxDB. Điều này sẽ bao gồm một phép đo, bộ thẻ, khóa trường, giá trị trường và dấu thời gian. Trong trường hợp này, trường hợp điểm được gọi là cảm biến.

Point sensor("voltage_status");

Hơn nữa, chỉ định chân tương tự của ESP32 được kết nối với chiết áp là Analog_channel_pin. Sau đó tạo hai biến. Biến int được sử dụng để lưu trữ giá trị ADC và biến float được sử dụng để lưu trữ giá trị điện áp.

const int Analog_channel_pin= 32;

int ADC_VALUE = 0;

float voltage_value;

thiết lập()

Bên trong hàm setup(), chúng ta sẽ mở giao tiếp nối tiếp với tốc độ truyền là 115200. Sau đó, chúng tôi sẽ đặt ESP32 ở chế độ trạm.

Serial.begin(115200);

WiFi.mode(WIFI_STA);

Sau đó, thêm mạng Wi-Fi cho ESP32 để kết nối. Điều này sẽ được thực hiện bằng phương thức addAP() trên đối tượng WiFiMulti. Ở đây chúng tôi sẽ chỉ định hai tham số. Tham số đầu tiên là SSID và tham số thứ hai là mật khẩu. Bạn có thể thêm bao nhiêu mạng tùy thích. Chúng tôi chỉ thêm một mạng duy nhất.

wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD);

Chúng ta sẽ sử dụng phương thức run() trên đối tượng WiFimulti, để kết nối ESP32 với kết nối Wi-Fi mạnh nhất. Thao tác này trả về trạng thái của kết nối Wi-Fi.

Các dòng mã sau đây sẽ được sử dụng để theo dõi xem ESP32 có được kết nối hay không. Trong khi kết nối bị mất, nó sẽ cố gắng kết nối lại.

Serial.print("Connecting to wifi");

  while (wifiMulti.run() != WL_CONNECTED) {

    Serial.print(".");

    delay(500);

  }

  Serial.println();

Bây giờ thêm các thẻ vào dữ liệu. Điều này được thực hiện bằng cách sử dụng phương thức addTag() trên point instance. Nó có hai tham số. Đầu tiên là khóa thẻ và thứ hai là giá trị thẻ.

Ở đây chúng tôi đang thêm hai thẻ. Một cho tên thiết bị và một cho SSID Wi-Fi.

  sensor.addTag("device", DEVICE);

  sensor.addTag("SSID", WiFi.SSID());

Tiếp theo, chúng ta sẽ đồng bộ hóa thời gian với máy chủ NTP bằng hàm timeSync().

timeSync(TZ_INFO, "pool.ntp.org", "time.nis.gov");

Cuối cùng, máy khách InfluxDB xác nhận kết nối của nó với máy chủ. Một thông báo có liên quan sẽ được in trong màn hình nối tiếp trong cả hai trường hợp nếu máy khách có được kết nối hay không.

 

  if (client.validateConnection()) {

    Serial.print("Connected to InfluxDB: ");

    Serial.println(client.getServerUrl());

  } else {

    Serial.print("InfluxDB connection failed: ");

    Serial.println(client.getLastErrorMessage());

  }

vòng lặp()

Bên trong hàm loop(), chúng ta lưu trữ dữ liệu đến điểm. Trước hết chúng ta sẽ xóa tất cả các trường của ví dụ điểm.

 sensor.clearFields();

Sau đó, chúng tôi đọc đầu vào tương tự và lưu nó vào biến 'ADC_VALUE'. Sau độ trễ 1 giây, chúng tôi sẽ chuyển đổi giá trị kỹ thuật số của ADC_VALUE thành điện áp. ADC_VALUE được nhân với độ phân giải ESP32 ADC là 3.3 / 4095. Độ phân giải còn được gọi là bước tối thiểu của ADC cho từng giá trị điện áp tương ứng. Ví dụ: nếu ADC_VALUE đếm 10, giá trị trung bình của nó đã thực hiện 10 bước hoặc giá trị tại chân đầu vào gấp 10 lần độ phân giải của ADC.

ADC_VALUE = analogRead(Analog_channel_pin);

  delay(1000);

  

voltage_value = (ADC_VALUE * 3.3 ) / (4095);

  delay(1000);

Tiếp theo, chúng tôi thêm trường Điện áp vào điểm của chúng tôi. Điều này được thực hiện bằng cách sử dụng phương thức addField() trên phiên bản Điểm. Chúng tôi chỉ định khóa là tham số đầu tiên và giá trị là tham số thứ hai.

sensor.addField("Voltage",voltage_value);

Sau đó, chúng tôi sẽ hiển thị trên màn hình nối tiếp thông tin đang được ghi vào điểm. Dữ liệu sẽ được hiển thị trong biểu mẫu Giao thức dòng.

  Serial.print("Writing: ");

  Serial.println(client.pointToLineProtocol(sensor));

Ngoài ra, hãy kết nối với mạng Wi-Fi trong trường hợp ngắt kết nối.

  if (wifiMulti.run() != WL_CONNECTED) {

    Serial.println("Wifi connection lost");

  }

Cuối cùng, viết điểm vào cơ sở dữ liệu sau mỗi 5 giây. Điều này được thực hiện bằng cách sử dụng client.writePoint() và truyền điểm làm tham số bên trong nó.

 

  // Write point

  if (!client.writePoint(sensor)) {

    Serial.print("InfluxDB write failed: ");

    Serial.println(client.getLastErrorMessage());

  }

 

  Serial.println("Delay 5s");

  delay(5000);

Cuộc biểu tình

Chọn đúng bảng và cổng COM trước khi tải mã của bạn lên bảng.
Đi tới Bảng > Công cụ và chọn Mô-đun Nhà phát triển ESP32.

Chọn bảng ESP32

Tiếp theo, đi tới Công cụ > Cổng và chọn cổng thích hợp mà qua đó bảng của bạn được kết nối.

Chọn COM PORT ESP32

Nhấp vào nút tải lên để tải mã lên bảng phát triển ESP32. Sau khi bạn đã tải mã của mình lên bảng phát triển ESP32, hãy nhấn nút ENABLE của nó.

Nút đặt lại bật ESP32

Trong Arduino IDE của bạn, hãy mở màn hình nối tiếp và đặt tốc độ truyền thành 115200. Đầu tiên, bo mạch sẽ kết nối với Wi-Fi cục bộ sau đó thời gian sẽ đồng bộ hóa. Tiếp theo, máy khách được kết nối với máy chủ InfluxDB và bạn có thể xem dữ liệu đang được ghi vào cơ sở dữ liệu sau mỗi 5 giây. Di chuyển núm của chiết áp để thay đổi số đọc điện áp.

ESP32 Gửi dữ liệu trong InfluxDB Voltage Readings demo màn hình nối tiếp

Bây giờ chúng ta hãy trực quan hóa dữ liệu mà chúng ta đã gửi đến InfluxDB Cloud. Đăng nhập vào tài khoản InfluxDB của bạn và truy cập Data Explorer như hình dưới đây.

InfluxDB Trình khám phá dữ liệu

Thao tác này sẽ mở trang Data Explorer. Ở đây chúng ta sẽ có thể vẽ đồ thị dữ liệu đang được gửi đến đám mây InfluxDB. Đầu tiên hãy nhấp vào vùng lưu trữ ESP32. Sau đó, để xem số đọc nhiệt độ, nhấp temperature_status bên dưới bộ lọc đo, SSID đang được sử dụng trong bộ lọc SSID, Nhiệt độ là thẻ trường bên dưới bộ lọc trường và ESP32 trong bộ lọc thiết bị. Nhấp vào Gửi để hiển thị dữ liệu.

ESP32 gửi số đọc BME280 đến InfluxDB dữ liệu thám hiểm nhiệt độ 1

Bây giờ bạn có thể xem dữ liệu nhiệt độ đang được vẽ trong biểu đồ. Bạn cũng có thể tùy chỉnh nó.

ESP32 gửi số đọc BME280 đến InfluxDB dữ liệu thám hiểm nhiệt độ 2

Để xem số đọc áp suất, nhấp pressure_status bên dưới bộ lọc đo, SSID đang được sử dụng trong bộ lọc SSID, Áp suất là thẻ trường dưới bộ lọc trường và ESP32 trong bộ lọc thiết bị. Nhấp vào Gửi để hiển thị dữ liệu.

Bây giờ bạn có thể xem dữ liệu áp suất đang được vẽ trong biểu đồ.

ESP32 gửi số đọc BME280 đến áp suất khám phá dữ liệu InfluxDB

Tương tự, để xem số đọc độ ẩm, hãy nhấp humidity_status bên dưới bộ lọc đo, SSID đang được sử dụng trong bộ lọc SSID, Độ ẩm là thẻ trường bên dưới bộ lọc trường và ESP32 trong bộ lọc thiết bị. Nhấp vào Gửi để hiển thị dữ liệu.

Bây giờ bạn có thể xem dữ liệu độ ẩm đang được vẽ trong biểu đồ.

ESP32 gửi số đọc BME280 đến độ ẩm khám phá dữ liệu InfluxDB

Hơn nữa, bạn cũng có thể hiển thị dữ liệu ở nhiều định dạng khác nhau bao gồm băng tần, thước đo, biểu đồ tần suất, bản đồ, v.v. Chỉ cần chọn nó từ menu thả xuống bên dưới.

InfluxDB Trình khám phá dữ liệu 4

Xây dựng InfluxDB Dashboard

Bây giờ hãy để chúng tôi chỉ cho bạn cách hiển thị dữ liệu ở các định dạng khác nhau trên cùng một trang. Chúng tôi sẽ tạo một bảng điều khiển. Đi tới biểu tượng Bảng điều khiển và nhấp vào nó.

InfluxDB Tạo Dashboard

Thao tác này sẽ mở Bảng điều khiển mở. Hiện tại, chúng tôi không có bất kỳ bảng điều khiển nào được tạo. Nhấp vào nút '+ TẠO BẢNG ĐIỀU KHIỂN' như được đánh dấu bên dưới:

InfluxDB Tạo Bảng điều khiển 1

Đặt tên cho trang tổng quan của bạn. Sau đó bấm THÊM Ô để thêm trực quan hóa.

InfluxDB Tạo Bảng điều khiển 2

Chỉ định tên của ô. Chúng tôi đã đặt cho nó cái tên 'Bài đọc điện áp ESP32. Tiếp theo, chọn trực quan hóa từ menu thả xuống. Chúng tôi đã chọn Đồ thị. Để có được dữ liệu, hãy thực hiện một truy vấn như chúng ta đã làm trước đây trong trình khám phá dữ liệu. Đầu tiên hãy nhấp vào vùng lưu trữ ESP32, sau đó đánh dấu vào voltage_status bên dưới bộ lọc đo, SSID đang được sử dụng trong bộ lọc SSID, điện áp là thẻ trường dưới bộ lọc trường và ESP32 trong bộ lọc thiết bị. Nhấp vào nút gửi. Sau đó nhấp vào nút đánh dấu để các thay đổi diễn ra.

InfluxDB Tạo Bảng điều khiển 3

Như bạn có thể thấy, biểu đồ hiện có thể được nhìn thấy trong bảng điều khiển của chúng tôi. Để thêm trực quan hóa khác, hãy nhấp lại vào 'THÊM Ô' và làm theo quy trình như được mô tả trước đây.

InfluxDB Tạo Bảng điều khiển 4

Chúng tôi đã thêm một biểu đồ và một thước đo vào bảng điều khiển của mình để xem các chỉ số điện áp. Ngoài ra, chúng tôi đã tùy chỉnh đồng hồ đo bằng cách đặt các giá trị tối đa và tối thiểu của nó trong giới hạn điện áp. Bạn cũng có thể thay đổi cài đặt để làm mới trang tổng quan của mình.

InfluxDB Tạo Bảng điều khiển 5

>>> 100+ Mã Sản Phẩm Dây Rút: https://mecsu.vn/san-pham/day-rut-nhua.5op

>>> 1000+ Mã Sản Phẩm Đầu Cosse: https://mecsu.vn/san-pham/dau-cosse.Q1j

Bài viết cùng chuyên mục

NHANH

NHANH

Vì Đổi mới liên tục nên Nhanh hơn

ĐÚNG

ĐÚNG

Coi trọng và ưu tiên việc làm Đúng

ĐỦ

ĐỦ

Tìm và mua Đủ Đơn hàng hơn

KỊP THỜI

KỊP THỜI

Hiệu suất tối ưu bởi Kịp Thời hơn