Ứng dụng iNut cảm biến trong việc đo đếm chỉ số điện

I. Giới thiệu

Với sự phát triển trong công nghệ hiện nay việc giám sát các chỉ số về điện vô cùng quan trọng. Đặc biệt đối với các kỹ sư bảo trì trong toà nhà, siêu thị, nhà xưởng,… việc kiểm soát và phân tích lỗi vô cùng quan trọng. Nhằm mục đích hỗ trợ cho việc giám sát các chỉ số điện như: công suất, điện áp, điện năng,… để nắm được sự bất thường trong vận hành hệ thông điện thì hôm nay mình sẽ hướng dẫn cho các bạn cách thực hiện một con đồng hồ đa năng có sử dụng inut cảm biến.

II. Chuẩn Bị

  • Arduino Uno R3
  • Module đo điện AC đa năng giao tiếp UART PZEM 004T
  • Cảm biến nhiệt độ DS18B20
  • LCD 16 x 2 tích hợp I2C
  • iNut cảm biến

III. Sơ đồ kết nốí

 

  • Ta cấp nguồn AC như hình trên cho module Pzem 004T.

 

Arduino Uno R3

Pzem 004T

GND

GND

5V

5V

11

RX

10

TX

 

 

  • Kết nối LCD vào arduino Uno R3:

 

Arduino Uno R3

LCD

GND

GND

5V

5V

1

SDA

0

SCL

 

 

  • Kết nối DS18B20 vào Arduino Uno R3:

 

Arduino Uno R3

DS18B20

GND

GND

5V

5V

7

DATA

 

 

 

image

 

Lưu ý cần nối chân Data của cảm biến lên mức cao VCC qua điện trở kéo 4k7 Ohm hoặc 10k Ohm trước khi kết nối với Vi điều khiển.

 

IV. Các bước thực hiện:

 

  • Cách cài đặt các phần mềm cũng như cách khởi động inut cảm biến các biến hãy làm theo các bước trình tự mình để trong đường link sau: http://arduino.vn/cc
  • Sau khi các bạn cài đặt xong thì tiến hành nạp code sau vào arduino:
#include "ACS712.h"
#include "Hshopvn_Pzem004t_V2.h"
#include <LiquidCrystal_SoftI2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <iNut.h>

#define WRITE_COMMAND 200
#define ON LOW
#define OFF HIGH
#define DS18B20 7       // ngõ ra cảm biến nhiệt độ DS18B20 kết nối với chân 7
#define RX_PZEM     11  // định nghĩa chân RX của PZEM kết nối với chân 11 
#define TX_PZEM     10  // định nghĩa chân TX của PZEM kết nối với chân 10

float I = 0;
const byte RELAY[2] = {8, 9}; // khai báo 2 relay 
const byte BUTTON[2] = {3, 12}; // khai báo 2 nút nhấn 
static unsigned long timer1 = 0;
static unsigned long timer2 = 0;
static unsigned long timer3 = 0;
static unsigned long timer4 = 0;

iNut sensor;
OneWire oneWire(DS18B20); // sử dụng thư viện OneWire cho module cảm biến nhiệt độ DS18B20
DallasTemperature sensorsTEMP(&oneWire);
LiquidCrystal_SoftI2C lcd(0x27, 16, 2, LCD_5x8DOTS, 1, 0);
ACS712 sensorI(ACS712_20A, A3); // định nghĩa chân cảm biến đo dòng kết nối với chân A3
Hshopvn_Pzem004t_V2 pzem1(TX_PZEM, RX_PZEM);

void setup() {
#ifdef DEBUG
 Serial.begin(9600);
#else
  Serial.end();
#endif

//  Serial.begin(9600); Serial.println("San sang nhan lenh");
//  Serial.println("Test PZEM004T V2 ! ++++");
  lcd.begin();
  lcd.backlight();
  lcd.display();
  lcd.clear();
  sensor.setup(8);
  sensor.addCommand("ON", onFunction);
  sensor.addCommand("OFF", offFunction);
  sensor.addCommand("RELAY", RelayFunction);
  sensorI.calibrate();
  
  // init module
  sensorsTEMP.begin();
  pzem1.begin();
  pzem1.setTimeout(100);
  pinMode(DS18B20, INPUT);
  
  //pinMode(CONTACTOR, OUTPUT) 
  for (int i = 0; i < 2; i ++) {
    pinMode (RELAY[i], OUTPUT); 
    digitalWrite(RELAY[i], OFF);
  }
  for (int i = 0; i < 2; i ++) {
    pinMode (BUTTON[i], INPUT_PULLUP);
  }
}

void RelayFunction()
{
  char* arg0 = sensor.next();
  char* arg1 = sensor.next();
  if (arg0 == NULL || arg1 == NULL)
    return;
  byte index = atoi(arg0); // hàm atoi() dùng để chuyển một chuỗi sang số nguyên
  if (strcmp(arg1, "ON") == 0) { // nếu truyền tham số là "RELAY OFF". Thì tắt
    digitalWrite(RELAY[index], ON);
    Serial.println(F("Relay bat"));
  }
  else if (strcmp(arg1, "OFF") == 0) { // nếu truyền tham số là "RELAY OFF". Thì tắt
    digitalWrite(RELAY[index], OFF);
    Serial.println(F("Relay tat"));
  }
  else {
    Serial.println(F("Khong nam trong tap hop lenh"));
  }
}

void onFunction() {
  int bit_index = atoi(sensor.next()) - WRITE_COMMAND;
  digitalWrite(RELAY[bit_index], ON);
}

void offFunction() {
  int bit_index = atoi(sensor.next())  - WRITE_COMMAND;
  digitalWrite(RELAY[bit_index], OFF);
}

void DS18B20_TEST()
{
  sensorsTEMP.requestTemperatures();
  Serial.print("Nhiet do ");
  Serial.println(sensorsTEMP.getTempCByIndex(0));// vì 1 ic nên dùng 0
}

void nut_relay_o_dien()
{
  static int buttonPushCounter = 0;   // số lần button được nhấn
  static int buttonState = 0;         // trạng thái hiện tại của button
  static int lastButtonState = 0;     // trạng thái trước đó của button
  buttonState = digitalRead(BUTTON[0]);
  if (buttonState != lastButtonState) {
    if (buttonState == LOW) {
      digitalWrite(RELAY[0], !digitalRead(RELAY[0])); // đảo trạng thái relay
    }
  }
  lastButtonState = buttonState;
}

void nut_relay_CB()
{
  static int buttonPushCounter = 0;   // số lần button được nhấn
  static int buttonState = 0;         // trạng thái hiện tại của button
  static int lastButtonState = 0;     // trạng thái trước đó của button
  buttonState = digitalRead(BUTTON[1]);
  if (buttonState != lastButtonState) {
    if (buttonState == LOW) {
      digitalWrite(RELAY[1], !digitalRead(RELAY[1])); // đảo trạng thái relay
    }
  }
  lastButtonState = buttonState;
}


void loop() {
  nut_relay_o_dien();  // Điều khiển bật tắt ổ cắm
  nut_relay_CB(); // Điều khiển bật tắt CB

  I = sensorI.getCurrentAC();
  DS18B20_TEST();
  pzem_info pzemData = pzem1.getData();// lấy dữ liệu từ pzem

static float value_energy = pzemData.energy ;

  if (millis() - timer1 > 4000UL)// UL = unsigned long
  // viết chương trình không sử dụng hàm delay 
  // delay hiển thị trong vòng 4s 
  
  {
    lcd.clear(); // xoá giá trị hiển thị trên lcd
   
    lcd.setCursor(0, 0); // di chuyển đến vị trí cột 0 hàng 0
    lcd.print(F("U:")); // xuất ký tự "U:" ra LCD
    lcd.setCursor(2, 0); // di chuyển đến vị trí cột 2 hàng 0
    lcd.print(pzemData.volt); // xuất giá trị điện áp
   
    lcd.setCursor(9, 0); 
    lcd.print(F("I:"));
    lcd.setCursor(11, 0);
    lcd.print(pzemData.ampe);

    lcd.setCursor(0, 1);
    lcd.print(F("W:"));
    lcd.setCursor(2, 1);
    lcd.print(pzemData.power);
   
    lcd.setCursor(8, 1);
    lcd.print(F("wh:"));
    lcd.setCursor(11, 1);
    lcd.print(pzemData.energy);
    
    timer1 = millis();
  }
  if (millis() - timer2 > 8000UL) {
    lcd.clear();
    
    lcd.setCursor(0, 0);
    lcd.print(F("Tan So:"));
    lcd.setCursor(7, 0);
    lcd.print(pzemData.freq);
    lcd.setCursor(12, 0);
    lcd.print(F("Hz"));
    
    lcd.setCursor(0, 1);
    lcd.print(F("HeSoCongSuat:"));
    lcd.print(pzemData.powerFactor);
    lcd.setCursor(14,1);
    
    timer2 = millis();
  }
  if (millis() - timer4 > 12000UL) {
    lcd.clear();
    
    lcd.setCursor(0, 0);
    lcd.print(F("OCAM-T*:"));
    lcd.setCursor(9, 0);
    lcd.print(sensorsTEMP.getTempCByIndex(0));
    lcd.setCursor(14, 0);
    lcd.print(F("*C"));
    
    lcd.setCursor(0, 1);
    lcd.print(F("OCAM-I:"));
    lcd.print(I);
   
    timer4 = millis();
  }
  
  for (byte i = 0; i < 2; i++) {
    sensor.setValue(i, 1 - digitalRead(RELAY[i]));
  }
  sensor.setValue (2, pzemData.ampe);
  sensor.setValue (3, pzemData.volt);
  sensor.setValue (4, pzemData.power);
  sensor.setValue (5, pzemData.powerFactor);
  sensor.setValue (6, pzemData.energy);
  
  sensor.setValue (7, sensorsTEMP.getTempCByIndex(0));
  sensor.loop();
}
  • Sau đó các bạn tiến hành nạp code node red để cài đặt giao diện:
[
    {
        "id": "cf8ac205.5f058",
        "type": "subflow",
        "name": "Data From iNut Sensor (2)",
        "info": "",
        "in": [
            {
                "x": 50,
                "y": 30,
                "wires": [
                    {
                        "id": "ae6240f0.9831e"
                    }
                ]
            }
        ],
        "out": [
            {
                "x": 1040,
                "y": 180,
                "wires": [
                    {
                        "id": "568bc15f.8b536",
                        "port": 0
                    }
                ]
            },
            {
                "x": 1040,
                "y": 220,
                "wires": [
                    {
                        "id": "568bc15f.8b536",
                        "port": 1
                    }
                ]
            },
            {
                "x": 1040,
                "y": 260,
                "wires": [
                    {
                        "id": "568bc15f.8b536",
                        "port": 2
                    }
                ]
            },
            {
                "x": 1040,
                "y": 300,
                "wires": [
                    {
                        "id": "568bc15f.8b536",
                        "port": 3
                    }
                ]
            },
            {
                "x": 1040,
                "y": 340,
                "wires": [
                    {
                        "id": "568bc15f.8b536",
                        "port": 4
                    }
                ]
            },
            {
                "x": 1040,
                "y": 380,
                "wires": [
                    {
                        "id": "568bc15f.8b536",
                        "port": 5
                    }
                ]
            },
            {
                "x": 1040,
                "y": 420,
                "wires": [
                    {
                        "id": "568bc15f.8b536",
                        "port": 6
                    }
                ]
            },
            {
                "x": 1040,
                "y": 460,
                "wires": [
                    {
                        "id": "568bc15f.8b536",
                        "port": 7
                    }
                ]
            }
        ],
        "inputLabels": [
            "Nhận đầu vào MQTT IN từ iNut cảm biến"
        ],
        "outputLabels": [
            "Luồng cảm biến 1",
            "Luồng cảm biến 2",
            "Luồng cảm biến 3",
            "",
            "",
            "",
            "",
            ""
        ]
    },
    {
        "id": "ae6240f0.9831e",
        "type": "json",
        "z": "cf8ac205.5f058",
        "name": "",
        "property": "payload",
        "action": "",
        "pretty": false,
        "x": 165,
        "y": 84,
        "wires": [
            [
                "34e19398.dbfb0c"
            ]
        ]
    },
    {
        "id": "568bc15f.8b536",
        "type": "switch",
        "z": "cf8ac205.5f058",
        "name": "Phân luồn",
        "property": "relayId",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "1",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "2",
                "vt": "flow"
            },
            {
                "t": "eq",
                "v": "3",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "4",
                "vt": "jsonata"
            },
            {
                "t": "eq",
                "v": "5",
                "vt": "flow"
            },
            {
                "t": "eq",
                "v": "6",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "7",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 8,
        "x": 825.9869575500488,
        "y": 288.1562738418579,
        "wires": [
            [],
            [],
            [],
            [],
            [],
            [],
            [],
            []
        ]
    },
    {
        "id": "34e19398.dbfb0c",
        "type": "function",
        "z": "cf8ac205.5f058",
        "name": "Lặp",
        "func": "if (!msg.states) {\n    msg.states = msg.payload\n    return msg;\n} else {\n    if (msg.states[msg.i])\n        return msg;\n}\n",
        "outputs": 1,
        "noerr": 0,
        "x": 327.89060974121094,
        "y": 83.33600330352783,
        "wires": [
            [
                "9bedaff3.73aa6"
            ]
        ]
    },
    {
        "id": "9bedaff3.73aa6",
        "type": "function",
        "z": "cf8ac205.5f058",
        "name": "Lấy trạng thái thiết bị",
        "func": "msg.relayId = msg.i\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 360,
        "y": 260,
        "wires": [
            [
                "34e19398.dbfb0c",
                "568bc15f.8b536"
            ]
        ]
    },
    {
        "id": "6ac6f77.e03ca08",
        "type": "ui_gauge",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "774710f5.3779d",
        "order": 1,
        "width": "6",
        "height": "3",
        "gtype": "gage",
        "title": "Dòng Điện Tức Thời",
        "label": "A",
        "format": "{{value}}",
        "min": 0,
        "max": "40",
        "colors": [
            "#1f964f",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 920,
        "y": 140,
        "wires": []
    },
    {
        "id": "ec02fa62.8a9ea8",
        "type": "subflow:cf8ac205.5f058",
        "z": "664aee7b.2629a",
        "name": "",
        "x": 400,
        "y": 400,
        "wires": [
            [],
            [],
            [
                "24f59715.9e8958"
            ],
            [
                "607174b.e793c8c"
            ],
            [
                "5af612fd.dd0c0c"
            ],
            [
                "81fc4f17.acba7"
            ],
            [
                "be9129f8.125a08"
            ],
            [
                "a858ecf8.92d4d"
            ]
        ]
    },
    {
        "id": "42968551.2e33cc",
        "type": "ui_gauge",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "d10f306.41e90d",
        "order": 1,
        "width": "6",
        "height": "3",
        "gtype": "gage",
        "title": "Công Suất Tức Thời Calculated",
        "label": "W",
        "format": "{{value}}",
        "min": 0,
        "max": "9200",
        "colors": [
            "#1f964f",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 950,
        "y": 60,
        "wires": []
    },
    {
        "id": "24f59715.9e8958",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "global",
                "to": "Dòng Điện",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "current",
                "pt": "global",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 200,
        "wires": [
            [
                "9f96ce.f8cfc93",
                "6ac6f77.e03ca08",
                "b3932e37.1a6cc"
            ]
        ]
    },
    {
        "id": "9f96ce.f8cfc93",
        "type": "ui_chart",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "774710f5.3779d",
        "order": 2,
        "width": "6",
        "height": "5",
        "label": "Biểu Đồ Dòng Điện",
        "chartType": "line",
        "legend": "true",
        "xformat": "dd HH:mm",
        "interpolate": "linear",
        "nodata": "Biểu Đồ Dòng Điện",
        "dot": true,
        "ymin": "0",
        "ymax": "40",
        "removeOlder": "2",
        "removeOlderPoints": "2000",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": true,
        "outputs": 1,
        "x": 910,
        "y": 180,
        "wires": [
            []
        ]
    },
    {
        "id": "5af612fd.dd0c0c",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "global",
                "to": "Công Suất",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 320,
        "wires": [
            [
                "29a00136.129fee",
                "867a4639.0bce08"
            ]
        ]
    },
    {
        "id": "f9879947.e2d908",
        "type": "ui_chart",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "d10f306.41e90d",
        "order": 2,
        "width": "6",
        "height": "5",
        "label": "Biểu Đồ Công Suất",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "Biểu Đồ Công Suất Tức Thời",
        "dot": true,
        "ymin": "-5",
        "ymax": "1000",
        "removeOlder": "2",
        "removeOlderPoints": "2000",
        "removeOlderUnit": "60",
        "cutout": 0,
        "useOneColor": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "outputs": 1,
        "x": 910,
        "y": 100,
        "wires": [
            []
        ]
    },
    {
        "id": "607174b.e793c8c",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "Hiệu điện thế",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "voltage",
                "pt": "global",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 260,
        "wires": [
            [
                "65a9dd34.ecb014",
                "bae76bd7.025858",
                "b3932e37.1a6cc"
            ]
        ]
    },
    {
        "id": "65a9dd34.ecb014",
        "type": "ui_gauge",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "b50f6b9e.fc5b18",
        "order": 2,
        "width": "6",
        "height": "3",
        "gtype": "gage",
        "title": "Hiệu Điện Thế Tức Thời",
        "label": "V",
        "format": "{{value}}",
        "min": "0",
        "max": "230",
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 930,
        "y": 220,
        "wires": []
    },
    {
        "id": "b0d69cdf.d4715",
        "type": "ui_gauge",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "55048fda.e1923",
        "order": 1,
        "width": "6",
        "height": "3",
        "gtype": "gage",
        "title": "Cos φ Tức Thời",
        "label": "",
        "format": "{{value}}",
        "min": 0,
        "max": "1",
        "colors": [
            "#1f964f",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 900,
        "y": 380,
        "wires": []
    },
    {
        "id": "81fc4f17.acba7",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "global",
                "pt": "msg",
                "to": "Hệ Số công Suất",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "cosphi",
                "pt": "global",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 400,
        "wires": [
            [
                "8792e56d.e8c938",
                "b0d69cdf.d4715"
            ]
        ]
    },
    {
        "id": "8792e56d.e8c938",
        "type": "ui_chart",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "55048fda.e1923",
        "order": 2,
        "width": "6",
        "height": "5",
        "label": "Biểu Đồ Cos φ",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "Biểu Đồ Cos φ",
        "dot": true,
        "ymin": "0",
        "ymax": "1",
        "removeOlder": "2",
        "removeOlderPoints": "2000",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "outputs": 1,
        "x": 900,
        "y": 420,
        "wires": [
            []
        ]
    },
    {
        "id": "c2eb9b89.477a28",
        "type": "ui_gauge",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "a4796e89.417c4",
        "order": 1,
        "width": "6",
        "height": "3",
        "gtype": "gage",
        "title": "Điện Năng Tiêu Thụ ",
        "label": "Wh",
        "format": "{{value}}",
        "min": 0,
        "max": "99999",
        "colors": [
            "#1f964f",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 920,
        "y": 460,
        "wires": []
    },
    {
        "id": "be9129f8.125a08",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "Điện Năng Tiêu Thụ",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 690,
        "y": 480,
        "wires": [
            [
                "ef28f526.b5c998",
                "c2eb9b89.477a28"
            ]
        ]
    },
    {
        "id": "ef28f526.b5c998",
        "type": "ui_chart",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "a4796e89.417c4",
        "order": 2,
        "width": "6",
        "height": "5",
        "label": "Biểu Đồ Điện Năng",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "Biểu Đồ Điện Năng",
        "dot": true,
        "ymin": "0",
        "ymax": "99999",
        "removeOlder": "2",
        "removeOlderPoints": "2000",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "outputs": 1,
        "x": 910,
        "y": 500,
        "wires": [
            []
        ]
    },
    {
        "id": "bae76bd7.025858",
        "type": "ui_chart",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "b50f6b9e.fc5b18",
        "order": 2,
        "width": "6",
        "height": "5",
        "label": "Biểu Đồ Hiệu Điện Thế",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "Biểu Đồ Hiệu Điện Thế",
        "dot": true,
        "ymin": "0",
        "ymax": "230",
        "removeOlder": "2",
        "removeOlderPoints": "",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "outputs": 1,
        "x": 920,
        "y": 260,
        "wires": [
            []
        ]
    },
    {
        "id": "f1f9c26f.5d2ab",
        "type": "link in",
        "z": "664aee7b.2629a",
        "name": "RELOAD",
        "links": [
            "76473552.45638c"
        ],
        "x": 235,
        "y": 660,
        "wires": [
            [
                "66b34749.126638"
            ]
        ]
    },
    {
        "id": "8e88e456.f4f3f8",
        "type": "inject",
        "z": "664aee7b.2629a",
        "name": "",
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "repeat": "",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "x": 210,
        "y": 720,
        "wires": [
            [
                "66b34749.126638"
            ]
        ]
    },
    {
        "id": "900ec1df.6fa23",
        "type": "link in",
        "z": "664aee7b.2629a",
        "name": "REST_POST",
        "links": [
            "f10d1ff9.60fd6",
            "3519928f.0aecbe",
            "e6b47a7.8237688",
            "e27eec5c.8b7b1"
        ],
        "x": 155,
        "y": 780,
        "wires": [
            [
                "d16233a5.a3d46"
            ]
        ]
    },
    {
        "id": "9c582f06.1fb3a",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "flow",
                "to": "POST",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 520,
        "y": 780,
        "wires": [
            [
                "b8c30569.731868"
            ]
        ]
    },
    {
        "id": "b8c30569.731868",
        "type": "json",
        "z": "664aee7b.2629a",
        "name": "",
        "property": "payload",
        "action": "",
        "pretty": true,
        "x": 690,
        "y": 780,
        "wires": [
            [
                "b898f338.4efd7"
            ]
        ]
    },
    {
        "id": "b898f338.4efd7",
        "type": "switch",
        "z": "664aee7b.2629a",
        "name": "Kiểm tra ONLINE",
        "property": "payload.status",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "-1",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 850,
        "y": 780,
        "wires": [
            [
                "b98c2602.561ac8"
            ],
            [
                "135a01.914545ff"
            ]
        ]
    },
    {
        "id": "135a01.914545ff",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "OFFLINE",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "OFFLINE",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1040,
        "y": 820,
        "wires": [
            [
                "ad75ca8f.da7e58"
            ]
        ]
    },
    {
        "id": "b98c2602.561ac8",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "ONLINE",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "ONLINE",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1040,
        "y": 740,
        "wires": [
            [
                "ad75ca8f.da7e58",
                "533a63d5.f74bfc"
            ]
        ]
    },
    {
        "id": "533a63d5.f74bfc",
        "type": "switch",
        "z": "664aee7b.2629a",
        "name": "",
        "property": "topic",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "POST",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 1190,
        "y": 740,
        "wires": [
            [
                "2276c3b9.4fb50c",
                "ce8b5683.41a518"
            ]
        ]
    },
    {
        "id": "ad75ca8f.da7e58",
        "type": "ui_text",
        "z": "664aee7b.2629a",
        "group": "d33985e7.bd6628",
        "order": 1,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "Status Mo_E",
        "format": "{{msg.payload}}",
        "layout": "row-spread",
        "x": 1210,
        "y": 820,
        "wires": []
    },
    {
        "id": "2276c3b9.4fb50c",
        "type": "delay",
        "z": "664aee7b.2629a",
        "name": "",
        "pauseType": "delay",
        "timeout": "50",
        "timeoutUnits": "milliseconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "x": 1330,
        "y": 740,
        "wires": [
            [
                "1011d9fa.c86336"
            ]
        ]
    },
    {
        "id": "ce8b5683.41a518",
        "type": "delay",
        "z": "664aee7b.2629a",
        "name": "",
        "pauseType": "delay",
        "timeout": "250",
        "timeoutUnits": "milliseconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "x": 1330,
        "y": 780,
        "wires": [
            [
                "1011d9fa.c86336"
            ]
        ]
    },
    {
        "id": "1011d9fa.c86336",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "",
        "rules": [
            {
                "t": "delete",
                "p": "topic",
                "pt": "global"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1520,
        "y": 740,
        "wires": [
            [
                "76473552.45638c"
            ]
        ]
    },
    {
        "id": "76473552.45638c",
        "type": "link out",
        "z": "664aee7b.2629a",
        "name": "RELOAD",
        "links": [
            "f1f9c26f.5d2ab"
        ],
        "x": 1635,
        "y": 740,
        "wires": []
    },
    {
        "id": "d94f717e.5a0e5",
        "type": "ui_gauge",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "737b0a2.061ccf4",
        "order": 1,
        "width": "6",
        "height": "3",
        "gtype": "gage",
        "title": "Nhiệt Độ Ổ Cắm",
        "label": "*C",
        "format": "{{value}}",
        "min": 0,
        "max": "150",
        "colors": [
            "#1f964f",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 900,
        "y": 540,
        "wires": []
    },
    {
        "id": "d0a6144.f7db4e8",
        "type": "ui_chart",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "737b0a2.061ccf4",
        "order": 2,
        "width": "6",
        "height": "5",
        "label": "Biểu Đồ Nhiệt Độ Ổ Cắm",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "Nhiệt Độ Ổ Cắm",
        "dot": true,
        "ymin": "0",
        "ymax": "150",
        "removeOlder": "2",
        "removeOlderPoints": "2000",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "useUTC": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "outputs": 1,
        "x": 930,
        "y": 580,
        "wires": [
            []
        ]
    },
    {
        "id": "a858ecf8.92d4d",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "Nhiệt Độ Ổ cắm",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 560,
        "wires": [
            [
                "d0a6144.f7db4e8",
                "d94f717e.5a0e5"
            ]
        ]
    },
    {
        "id": "b3932e37.1a6cc",
        "type": "change",
        "z": "664aee7b.2629a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "voltage",
                "pt": "msg",
                "to": "voltage",
                "tot": "global"
            },
            {
                "t": "set",
                "p": "current",
                "pt": "msg",
                "to": "current",
                "tot": "global"
            },
            {
                "t": "set",
                "p": "cosphi",
                "pt": "msg",
                "to": "cosphi",
                "tot": "global"
            },
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "P công suất",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 100,
        "wires": [
            [
                "42968551.2e33cc",
                "f9879947.e2d908"
            ]
        ]
    },
    {
        "id": "29a00136.129fee",
        "type": "ui_gauge",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "bfe7dcd8.131f4",
        "order": 1,
        "width": "6",
        "height": "3",
        "gtype": "gage",
        "title": "Công Suất Tức Thời",
        "label": "W",
        "format": "{{value}}",
        "min": 0,
        "max": "1000",
        "colors": [
            "#1f964f",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 920,
        "y": 300,
        "wires": []
    },
    {
        "id": "867a4639.0bce08",
        "type": "ui_chart",
        "z": "664aee7b.2629a",
        "name": "",
        "group": "bfe7dcd8.131f4",
        "order": 2,
        "width": "6",
        "height": "5",
        "label": "Biểu Đồ Công Suất Tức Thời",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "Biểu Đồ Dòng Điện Ổ Cắm",
        "dot": true,
        "ymin": "0",
        "ymax": "2000",
        "removeOlder": "2",
        "removeOlderPoints": "2000",
        "removeOlderUnit": "86400",
        "cutout": 0,
        "useOneColor": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "useOldStyle": false,
        "outputs": 1,
        "x": 940,
        "y": 340,
        "wires": [
            []
        ]
    },
    {
        "id": "656bee50.e99c3",
        "type": "mqtt in",
        "z": "664aee7b.2629a",
        "name": "[MQTT-IN]Đo chỉ số điện",
        "topic": "request/Vx0PgGAzezNgJ7GZJgqi6HDe0mh1/Sy5FdZUkE/317fcc575dd47302814a231f2aa17657695249621459",
        "qos": "2",
        "broker": "c7dfd431.5f3828",
        "x": 110,
        "y": 380,
        "wires": [
            [
                "ec02fa62.8a9ea8"
            ]
        ]
    },
    {
        "id": "66b34749.126638",
        "type": "http request",
        "z": "664aee7b.2629a",
        "name": "[REST][GET]Đo chỉ số điện",
        "method": "GET",
        "ret": "txt",
        "url": "https://connect.mysmarthome.vn/api/1.0/request/Vx0PgGAzezNgJ7GZJgqi6HDe0mh1/Sy5FdZUkE/317fcc575dd47302814a231f2aa17657695249621459/req_device",
        "tls": "",
        "x": 460,
        "y": 700,
        "wires": [
            [
                "b8c30569.731868"
            ]
        ]
    },
    {
        "id": "d16233a5.a3d46",
        "type": "http request",
        "z": "664aee7b.2629a",
        "name": "[REST][POST]Đo chỉ số điện",
        "method": "POST",
        "ret": "txt",
        "url": "https://connect.mysmarthome.vn/api/1.0/request/Vx0PgGAzezNgJ7GZJgqi6HDe0mh1/Sy5FdZUkE/317fcc575dd47302814a231f2aa17657695249621459/req_device_toggle",
        "tls": "",
        "x": 300,
        "y": 780,
        "wires": [
            [
                "9c582f06.1fb3a"
            ]
        ]
    },
    {
        "id": "774710f5.3779d",
        "type": "ui_group",
        "z": "",
        "name": "DATA 1",
        "tab": "579912f0.38a6bc",
        "order": 1,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "d10f306.41e90d",
        "type": "ui_group",
        "z": "",
        "name": "DATA 3",
        "tab": "579912f0.38a6bc",
        "order": 3,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "b50f6b9e.fc5b18",
        "type": "ui_group",
        "z": "",
        "name": "DATA 2",
        "tab": "579912f0.38a6bc",
        "order": 2,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "55048fda.e1923",
        "type": "ui_group",
        "z": "",
        "name": "DATA 4",
        "tab": "579912f0.38a6bc",
        "order": 4,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "a4796e89.417c4",
        "type": "ui_group",
        "z": "",
        "name": "DATA 5",
        "tab": "579912f0.38a6bc",
        "order": 5,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "d33985e7.bd6628",
        "type": "ui_group",
        "z": "",
        "name": "DATA STATUS",
        "tab": "579912f0.38a6bc",
        "order": 10,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "737b0a2.061ccf4",
        "type": "ui_group",
        "z": "",
        "name": "DATA 6",
        "tab": "579912f0.38a6bc",
        "order": 6,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "bfe7dcd8.131f4",
        "type": "ui_group",
        "z": "",
        "name": "DATA 7",
        "tab": "579912f0.38a6bc",
        "order": 7,
        "disp": true,
        "width": "6",
        "collapse": true
    },
    {
        "id": "c7dfd431.5f3828",
        "type": "mqtt-broker",
        "name": "",
        "broker": "mqtt.mysmarthome.vn",
        "port": "1883",
        "clientid": "",
        "usetls": false,
        "compatmode": true,
        "keepalive": "60",
        "cleansession": true,
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": ""
    },
    {
        "id": "579912f0.38a6bc",
        "type": "ui_tab",
        "z": "",
        "name": "Monitoring Electrical",
        "icon": "dashboard",
        "order": 1,
        "disabled": false,
        "hidden": false
    }
]
  • Sau đó bạn sẽ được một giao diện trên áp như sau:

image

Bạn sẽ nhận được 1 giao diện này:

  •  Quan sát LCD các bạn sẽ thấy được nó hiện các thông số như vậy.

Như vậy là các bạn đã hoàn thành xong việc tạo ra một đồng hồ hỗ trợ đo đếm và quan sát chỉ số điện. mình chúc các bạn thành công

lên
5 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Một ngày trải nghiệm cảm biến iNUT cho Arduino ứng dụng trong điều khiển từ xa bằng internet:

Xin chào các bạn, sau ngày đầu tiên tìm hiểu và trải nghiệm về iNut cảm biến đặc biệt là điều khiển từ xa bằng internet. Mình đã nhận ra một và ưu điểm của inut cảm biến. Để biết được iNut cảm biến có lợi thế gì trong việc điều khiển từ xa bằng internet thì mình xin mời các bạn vào tìm hiểu qua bài viết sau của mình. 

lên
8 thành viên đã đánh giá bài viết này hữu ích.