• Hotline: 0989.000.420
  • Giới thiệu
  • Vai trò pn
  • Facbook hội pn
  • Sitemap
SỬA CHỮA ĐỘNG CƠ ĐIỆN YÊN BÁI

Vĩnh Kiên- Yên Bình- Yên Bái 0989 000 420- 038 540 7810

  • Trang chủ
  • Giới thiệu
    • Giới thiệu chung
    • Chức năng nhiệm vụ
    • Cơ cấu tổ chức
    • Các phòng chức năng nghiệp vụ
      • Văn phòng Ban QLDA Đầu tư xây dựng
      • Phòng Tài chính - Kế toán
      • Phòng Kế hoạch tổng hợp
      • Phòng Kỹ thuật - Thẩm định
      • Phòng Điều hành - Dự án
  • Thiết bị điện
  • Hệ thống DCS
    • Thiết kế tủ điện
    • Lập trình PLC
    • Giao diện DCS
    • Chuyển đối số
    • Modbus
    • Hệ thống rơ le bảo vệ
    • Lưới điện
  • Truyền thông công nghiệp
  • Config IEC104 , 61850
    • RS485
    • IEC104
    • IEC61850
    • Vòng quay may mắn
  • Máy điện
  • Góp ý
  • Liên hệ
Học Học Nữa - Học Mãi
Liên hệ quảng cáo
  • Trang chủ
  • mqtt

node js xuất MQTT và KEP OPC đọc

Bởi Operator vào 04 thg 2, 2026
Chia sẻ
  • Sao chép liên kết
  • Chia sẻ với Facebook
  • Chia sẻ với X
  • Chia sẻ với Pinterest
  • Chia sẻ với Linkedin
  • Gửi bài qua Email

gửi email cho tác giả




     OK 👍 hình bạn gửi KHÔNG phải “tạo tag trong broker” mà là:

    MQTT Broker (Mosquitto) chỉ lưu & phân phối topic
    👉 Topic nickybaby + dữ liệu thời gian là do 1 client PUBLISH lên

    Bây giờ mình chỉ bạn 3 cách chuẩn để tạo topic nickybaby có Minute / Second như hình.


    🧠 Hiểu đúng trước (rất quan trọng)

    • ❌ MQTT Broker KHÔNG tự sinh tag

    • ✅ Client (NodeJS / Python / FUXA / MQTT Explorer) → publish

    • ✅ MQTT Explorer chỉ là tool xem

    Luồng:

    Client (publish) → Mosquitto Broker → MQTT Explorer (subscribe)

    ✅ CÁCH 1 — TẠO NHANH NHẤT (MQTT Explorer)

    Dùng luôn MQTT Explorer để publish dữ liệu thời gian.

    🔹 Bước 1: Kết nối broker

    Host: 127.0.0.1 Port: 1883 TLS: OFF

    🔹 Bước 2: Publish topic nickybaby

    • Topic:

    nickybaby
    • Payload (chọn json):

    { "d": { "Second": 57, "Minute": 24 }, "ts": "2026-02-04T10:24:57" }

    👉 Bấm PUBLISH
    ➡️ Ngay lập tức bạn sẽ thấy nickybaby xuất hiện bên trái giống hình.

    ⚠️ Cách này thủ công, không tự chạy.


    ✅ CÁCH 2 — TỰ ĐỘNG CHẠY THỜI GIAN (KHUYÊN DÙNG)

    Dùng Node.js publish mỗi giây / mỗi phút.

    🔹 Bước 1: Cài thư viện

    npm install mqtt

    🔹 Bước 2: Code tạo topic nickybaby

    const mqtt = require("mqtt"); const client = mqtt.connect("mqtt://127.0.0.1:1883"); client.on("connect", () => { console.log("Connected to MQTT Broker"); setInterval(() => { const now = new Date(); const payload = { d: { Second: now.getSeconds(), Minute: now.getMinutes() }, ts: now.toISOString() }; client.publish("nickybaby", JSON.stringify(payload)); }, 1000); // mỗi 1 giây });

    🔹 Bước 3: Chạy

    node time_pub.js

    👉 MQTT Explorer sẽ hiện:

    nickybaby └─ d.Second └─ d.Minute └─ ts

    ✔ Giống hình bạn gửi 99%


    ✅ CÁCH 3 — DÙNG FUXA (nếu bạn đang dùng SCADA)

    Nếu bạn muốn FUXA xuất MQTT:

    🔹 FUXA → MQTT Client

    • Mode: Publish

    • Topic: nickybaby

    • Payload template:

    { "d": { "Second": ${Second}, "Minute": ${Minute} }, "ts": "${ISOTime}" }

    👉 Map Second, Minute từ tag internal (script)


    ❗ Lỗi thường gặp

    LỗiNguyên nhân
    Không thấy topicKhông có client publish
    Thấy topic nhưng không cập nhậtClient publish 1 lần
    JSON không bung câyPayload không phải JSON
    Mất data khi restartChưa bật retain

    🔥 Mẹo giống hệt hình

    • QoS: 0

    • Retain: ✅ bật

    • JSON format

    • Publish liên tục


    👉 Bạn muốn làm theo cách nào?

    1️⃣ Test nhanh bằng MQTT Explorer
    2️⃣ Tự động bằng NodeJS
    3️⃣ Xuất từ FUXA (SCADA)

    Nói mình chọn số mấy, mình hướng dẫn chi tiết từng click 👌

    D:\7-note\1-notejs\index.js:279 const client = mqtt.connect("mqtt://127.0.0.1:1883"); ^ SyntaxError: Identifier 'client' has already been declared at internalCompileFunction (node:internal/vm:73:18) at wrapSafe (node:internal/modules/cjs/loader:1178:20) at Module._compile (node:internal/modules/cjs/loader:1220:27) at Module._extensions..js (node:internal/modules/cjs/loader:1310:10) at Module.load (node:internal/modules/cjs/loader:1119:32) at Module._load (node:internal/modules/cjs/loader:960:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:86:12) at node:internal/main/run_main_module:23:47 Node.js v18.18.2 D:\7-note\1-notejs>

    À, lỗi này rất chuẩn bài Node.js luôn 👍
    Đọc lỗi là biết ngay bạn khai báo client TRÙNG TÊN trong cùng file.


    ❌ Lỗi đang gặp

    SyntaxError: Identifier 'client' has already been declared

    👉 Nghĩa là trong file index.js của bạn đã có 1 biến client rồi, và bạn lại khai báo thêm:

    const client = mqtt.connect("mqtt://127.0.0.1:1883");

    Node.js không cho phép khai báo const 2 lần cùng tên trong cùng scope.


    ✅ CÁCH SỬA (3 cách – chọn 1)


    🔹 CÁCH 1 (ĐƠN GIẢN NHẤT – KHUYÊN DÙNG)

    👉 Đổi tên biến mới

    const mqttClient = mqtt.connect("mqtt://127.0.0.1:1883"); mqttClient.on("connect", () => { console.log("Connected to MQTT Broker"); });

    ✔ Không đụng biến client cũ
    ✔ An toàn nhất


    🔹 CÁCH 2 (XÓA KHAI BÁO CŨ)

    Tìm trong index.js dòng nào có:

    const client = ...

    👉 chỉ giữ lại 1 chỗ duy nhất

    ❌ Không được có 2 dòng:

    const client = ... const client = ...

    🔹 CÁCH 3 (NẾU FILE DÀI – TÁCH RIÊNG)

    Tạo file mới:

    📄 mqtt_time_pub.js

    const mqtt = require("mqtt"); const client = mqtt.connect("mqtt://127.0.0.1:1883"); client.on("connect", () => { setInterval(() => { const now = new Date(); const payload = { d: { Second: now.getSeconds(), Minute: now.getMinutes() }, ts: now.toISOString() }; client.publish("nickybaby", JSON.stringify(payload)); }, 1000); });

    Chạy:

    node mqtt_time_pub.js

    ✔ Không đụng code cũ
    ✔ Dễ debug


    🔍 MẸO TÌM LỖI NHANH

    Trong VS Code:

    • Ctrl + F

    • gõ: const client

    • Nếu thấy 2 dòng trở lên → chính là lỗi


    ✅ Sau khi sửa đúng

    MQTT Explorer sẽ thấy:

    nickybaby ├─ d │ ├─ Second │ └─ Minute └─ ts

    👉 Cho mình hỏi nhanh 1 câu để hỗ trợ đúng hơn:

    Bạn đang:
    1️⃣ Gộp MQTT vào project NodeJS cũ
    2️⃣ Hay chỉ test MQTT riêng?

    Mình sẽ chỉnh code đúng cấu trúc project của bạn, không bị lỗi nữa 👍

    topic là nickybaby/data2 nhé

    OK 👍 vậy chỉ cần đổi đúng topic thành nickybaby/data2 là xong.
    Mình đưa code chuẩn – gọn – không lỗi trùng client cho bạn luôn.


    ✅ Code Node.js publish topic nickybaby/data2

    👉 Dùng file riêng (khuyên dùng) để tránh lỗi trùng biến.

    📄 mqtt_time_pub.js

    const mqtt = require("mqtt"); // đổi tên biến để tránh trùng const mqttClient = mqtt.connect("mqtt://127.0.0.1:1883"); mqttClient.on("connect", () => { console.log("✅ Connected to MQTT Broker"); setInterval(() => { const now = new Date(); const payload = { d: { Second: now.getSeconds(), Minute: now.getMinutes() }, ts: now.toISOString() }; mqttClient.publish( "nickybaby/data2", JSON.stringify(payload), { qos: 0, retain: true } ); }, 1000); // mỗi 1 giây });

    ▶️ Chạy

    node mqtt_time_pub.js

    👀 Kết quả trong MQTT Explorer

    Bên trái bạn sẽ thấy đúng cấu trúc:

    nickybaby └─ data2 ├─ d │ ├─ Second │ └─ Minute └─ ts

    ✔ Giống hệt hình bạn gửi
    ✔ Có Minute / Second
    ✔ Có timestamp
    ✔ Broker chỉ là Mosquitto (không cần cấu hình gì thêm)


    ❗ Nếu KHÔNG thấy topic

    Check nhanh:

    1. Mosquitto đang chạy chưa?

    net start mosquitto
    1. MQTT Explorer kết nối đúng chưa?

    Host: 127.0.0.1 Port: 1883 TLS: OFF
    1. Không có lỗi trong console NodeJS


    🔥 Mở rộng (khi bạn cần)

    • Muốn publish mỗi phút → đổi 1000 thành 60000

    • Muốn gửi thêm Hour, Day

    • Muốn FUXA đọc topic này

    • Muốn ThingsBoard subscribe topic này

    👉 Chỉ cần nói: “tôi muốn FUXA / ThingsBoard đọc topic này”
    mình chỉ tiếp từng bước, không sót 1 click nào 👌

    Nội dung chính
      0 Nhận xét
      Tags: mqtt

      Cùng chuyên mục

      Liên hệ quảng cáo

      Tin mới

        Liên hệ (Contact)

        Tên

        Email *

        Thông báo *

        Tìm kiếm (SEARCH)

        Main Tags

        • ADROID
        • Affiliate + Dropshipping
        • AGC
        • AI
        • analog
        • Apk adroid
        • âm nhạc
        • Âm thanh
        • Âm Thanh Xe Hơi
        • bản đồ địa chính
        • Bản tin xã Vĩnh Kiên
        • Bảo dưỡng xe MG
        • Bảo vệ môi Trường
        • beckhoff
        • bể phốt
        • Bệnh
        • biến áp xung
        • Biến áp xuyến
        • Biến tần
        • Biến tần KDE300A
        • biến tần Schneider
        • Biến tần Simens
        • biến tần yaskawa
        • blogspot
        • bộ hòa
        • bồn cầu
        • C#
        • C53 realme
        • các nhà phân phối
        • cad electrical 2019
        • cải tạo
        • cài win
        • camera
        • Chào mừng 8/3
        • Chat gpt
        • Chăm sóc sắc đẹp
        • chế tạo biến tần
        • Chi Bộ
        • Chi Đoàn
        • chỉ huy trưởng
        • chìa
        • Chìa khóa thành công
        • chung tay
        • chuyển đổi số
        • chuyên gia
        • CODE WIN CC
        • CODESYS
        • com ảo
        • Công Đoàn
        • công tác hội
        • Cơ điện tử
        • cp1243-7
        • Crack tia
        • dao diện tia
        • Dạy con ngoan giỏi
        • Dạy con thông minh
        • Dây điện từ
        • DCS
        • Dịch vụ
        • driver
        • Dso138
        • Dự án
        • Đảng - Đoàn thể
        • Đánh bóng ô tô
        • Đào tạo nghề
        • Đào tạo vận hành
        • đẩu tư Bất động sản
        • đầu tư tài chính
        • Điện
        • Điện trở
        • Điện tử công suất
        • điện tường
        • điều khiển nhiệt độ
        • điều tốc
        • Đồ điện sửa chữa
        • Động cơ điện 1 pha
        • Động cơ điện 3 pha
        • Động cơ mua bán
        • động cơ vạn năng
        • đục tường
        • encoder
        • encore
        • Excel
        • Facebook
        • factory io
        • faststone capture
        • fuxa
        • game đế chế
        • Gia Đình
        • Góc học tập và làm theo lời Bác
        • GOV
        • hàn nhiệt
        • hàn ống
        • Hantek 2c42
        • HIK
        • HMI
        • hmi delta
        • hmi simnes
        • HMI Wedcon
        • Học chức danh
        • Hội thi
        • IEC
        • IEC 104
        • IGBT
        • INVT
        • karaoke
        • Kaspersky Internet Security
        • KEP OPC
        • kepopc
        • key win cc oa
        • Khí cụ điện
        • khởi động mềm
        • khởi nghiệp
        • Kích
        • Kích cá
        • km
        • làm đẹp
        • Làm kinh tế giỏi
        • Lập công ty
        • lập trình zen
        • Lịch làm việc
        • Lịch sự
        • liệt não
        • Link kiện điện tử
        • logo simens
        • Lỗi phạt ô tô
        • mạch âm thanh
        • Mạch băm xung
        • Mạch nguồn xung
        • mạch nồi cơm
        • Máy biến áp
        • máy cắt
        • máy giặt
        • máy hàn
        • máy hàn chip
        • máy hàn tig wp 300
        • Máy lọc dầu
        • Máy phát điện
        • Máy phát điện xăng
        • máy tính
        • MG zs
        • Microstation SE
        • mobus
        • MODBUS
        • Module phát âm thanh MP3 DY-SV5W
        • mqtt
        • mua ô tô
        • mường hum
        • My Music
        • next.js
        • nhẫn nhịn
        • node js
        • Note js
        • Nông thôn mới
        • OPC
        • opc. matrikon
        • ổn áp
        • pdf
        • phân loại rác
        • Phật dạy
        • phong trào
        • Pid
        • PLC
        • plc abb
        • plc delta
        • Plc emerson
        • plc GE
        • plc LS
        • Plc Mitsubishi
        • PLC Mitsubishi FX1N
        • plc s7 200
        • plc s71200
        • PLC Schneider
        • plc sim avanced
        • plc simens
        • quản trị tài chính
        • Raspberry Pi
        • Rơ le bảo vệ
        • Rơ le CMC và studio PSL
        • S7 1200
        • S7 200
        • S7300
        • Sách
        • sách tổ tự động
        • sát hạch lái xe
        • SCR
        • secvo
        • SERVO
        • Sheet nhạc
        • Sim mới
        • sơ đồ bếp từ
        • sơn ô tô
        • SQL server
        • SSR
        • Step ĐC
        • Sửa chữa dc
        • sức khỏe
        • Sưu tầm
        • Tai biến
        • tài khoản Simens
        • Tài liệu kỹ thuật
        • Tâm lý
        • Teamviewer
        • tenten
        • thái độ
        • thay bo mạch
        • thay đổi góc nhìn
        • Thể thao
        • thi an toàn
        • Thi đua - Khen thưởng
        • thị trường điện
        • thingboard
        • Thông tin đấu thầu
        • Thông tin xử phạt
        • Thời sự
        • thời tiết
        • Thủ thuật máy tính
        • thủy điện
        • thyristor
        • TIA V13 SP2 pro
        • TIA V14
        • tia v15
        • Tia v16
        • Tia V17
        • Tin tức - Sự kiện
        • tivi
        • touchpad-blocker
        • trạm phát thanh
        • TRIANGLE IEC
        • Trồng cây mừng Đảng mừng xuân 2024
        • tủ điện
        • Tủ lạnh
        • uctra_iso
        • Văn bản - Tài liệu
        • VBS
        • Video
        • Video động. Cơ điện
        • Video quấn động cơ điện
        • vmware
        • Vòng bi
        • Web
        • websever S7 1200
        • wifi
        • wincc
        • WinCC Unified
        • Wondershare Filmora
        • woodwoard
        • word
        • wwin cc
        • xây dựng
        • xây nhà tầng 2
        • xe 2025
        • xe ô tô
        • xem tuổi xây nhà
        • Xiaozhi
        • youtube
        • zoho mail

        Thời tiết hiện tại

        Chat hỗ trợ
        Chat ngay

        Lịch làm việc

          Thông báo

          • Nông thôn mới
          • Phong trào
          • Công tác hội
          • Chăm sóc sắc đẹp
          • Chuyển đổi số

          Đọc nhiều

          • https://www.freyrscada.com/iec-60870-5-101.php
            https://www.freyrscada.com/iec-60870-5-101.php
            18 thg 6, 2023

              IEC 60870-5-101 (also known as IEC 101) is an international standard, released at the beginning of the 90ies by  the IEC (International El...

          •  4 Nghề Nghiệp Cho Những Người Dễ Bị Phân Tâm
            4 Nghề Nghiệp Cho Những Người Dễ Bị Phân Tâm
            16 thg 2, 2021

              4 Nghề Nghiệp Cho Những Người Dễ Bị Phân Tâm Dẫu cho có những lợi thế rõ ràng, một nhược điểm lớn của thời đại kỹ thuật số là việc chúng t...

          •  LUẬT ĂN CƠM: 50 QUY TẮC TRÊN MÂM CƠM VIỆT!!
            LUẬT ĂN CƠM: 50 QUY TẮC TRÊN MÂM CƠM VIỆT!!
            17 thg 1, 2021

              LUẬT ĂN CƠM: 50 QUY TẮC TRÊN MÂM CƠM VIỆT!! 1. Không và quá 3 lần khi đưa bát cơm lên miệng. 2. Không gắp thức ăn đưa thẳng vào miệng mà p...

          • Hướng dẫn tắt Windows Defender hoàn toàn trên Windows 10
            Hướng dẫn tắt Windows Defender hoàn toàn trên Windows 10
            01 thg 8, 2018

            Windows Defender là một trình diệt virus miễn phí đi kèm với Windows 10, nhưng người dùng lại không đánh giá cao trình diệt virus miễn phí W...

          • tay ngoài ổn định
            tay ngoài ổn định
            16 thg 1, 2026

             Câu hỏi này là câu hỏi của người bắt đầu chuyển pha , không còn là mơ hồ nữa 👍 Mình trả lời rất thực tế , bám đúng hoàn cảnh của bạn: có ...

          • NetToPLCsim Phần mềm giúp PLCSIM giao tiếp qua mạng
            NetToPLCsim Phần mềm giúp PLCSIM giao tiếp qua mạng
            19 thg 1, 2022

             https://drive.google.com/file/d/1nWjgdstL-Lmy2f4i_SgQH42HuAsKjSKT/view 1- Tổng quan NetToPLCsim là 1 phần mềm Miễn Phí, cho phép bạn kết nố...

          Có thể bạn quan tâm

            Ban biên tập

            Thế Hương

            ........

            ...........

            Thống kê

            Số người truy cập: Tổng lượt truy cập:
            Liên hệ quảng cáo
            Trang chủ
            Hotline: 0989.000.420
            Liên hệ
            RSS
            Lên đầu trang

            Cơ điện Huế Hương - Yên Bình -Yên Bái

            Địa chỉ: Xã Vĩnh Kiên - Yên Bình - Yên Bái
            Email: vuhuong.tbc@gmail.com
            Liên hệ: 0989000420

            Template blogspot bán hàng và bất động sản