Bỏ qua để đến Nội dung

MQTT Broker miễn phí

MQTT Broker miễn phí – không cần tài khoản, không cần mật khẩu

Broker này dùng để test kết nối, gửi/nhận tin (pub/sub) nhanh mà không cần cài đặt gì. Bạn cũng có thể dùng nó như một kênh chat qua internet bằng cách hai người cùng đặt chung một topic – mở hai tab trình duyệt là thử được ngay.

Chọn đúng địa chỉ broker theo môi trường:

Môi trườngĐịa chỉ
Trình duyệt (HTTPS)wss://mqtt.nnit.vn
Trình duyệt (HTTP)ws://mqtt.nnit.vn – port 9000
Vi điều khiển / Python (không SSL)mqtt.nnit.vn – port 1883

Vì trang web chạy HTTPS, trình duyệt bắt buộc phải dùng wss:// – dùng ws:// hay mqtt:// sẽ bị chặn. Công cụ trên đã điền sẵn địa chỉ mặc định đúng cho trường hợp này.

Topic đặt tùy ý, miễn hai đầu giống nhau là nhận được tin của nhau. Chúc bạn thành công!

MQTT Web Client

Chưa kết nối

Hai tab mở cùng topic sẽ nhận được tin nhắn của nhau — thử chat thôi!

Nhật ký tin nhắn
Chưa có tin nhắn nào...

MQTT broker là gì và tại sao bạn cần một cái để test?

MQTT là giao thức nhắn tin nhẹ, được thiết kế cho các thiết bị có tài nguyên hạn chế như cảm biến, vi điều khiển, hay camera IoT. Thay vì giao tiếp trực tiếp với nhau, các thiết bị gửi và nhận tin qua một điểm trung gian gọi là broker.

Khi bắt đầu một dự án IoT, việc đầu tiên hầu hết mọi người gặp phải là cần một broker để kiểm tra xem thiết bị có gửi dữ liệu đúng không. Tự dựng Mosquitto hay EMQ X tốn thời gian cấu hình, mở port, quản lý SSL – trong khi thứ bạn thực sự cần lúc đó chỉ là một địa chỉ có thể kết nối được ngay.

Broker tại mqtt.nnit.vn được dựng cho đúng mục đích đó.

Ai nên dùng broker này?

Lập trình viên IoT & nhúng

Đang làm việc với ESP8266, ESP32, Arduino hay Raspberry Pi và cần một điểm test nhanh trước khi dựng broker riêng cho production.

Lập trình viên Python

Cần kiểm tra thư viện paho-mqtt, thử pub/sub giữa các process, hoặc xây dựng prototype hệ thống thời gian thực.

Developer web & frontend

Muốn thử nghiệm tích hợp MQTT vào trang web qua WebSocket mà không phải lo cấu hình CORS hay SSL trên broker.

Sinh viên & người học

Đang học IoT, mạng cảm biến hay giao thức pub/sub và cần môi trường thực hành mà không phải đụng đến server.

Kỹ sư tự động hóa

Cần một kênh truyền lệnh và nhận trạng thái từ xa cho hệ thống tự động hóa nhỏ, cần test nhanh trước khi triển khai thật.

Người dùng sáng tạo

Dùng MQTT như một kênh chat qua internet – hai người cùng subscribe chung topic là nhận được tin của nhau theo thời gian thực.

Lợi ích thực tế khi dùng mqtt.nnit.vn

Không cần đăng ký – không cần mật khẩu

Đây là điểm khác biệt rõ nhất so với nhiều dịch vụ MQTT có cấp tài khoản. Bạn chỉ cần biết địa chỉ broker và một tên topic tự đặt là kết nối được ngay. Không có form đăng ký, không có email xác nhận, không có API key cần quản lý.

Hỗ trợ cả ba cách kết nối phổ biến

Tùy môi trường mà cách kết nối sẽ khác nhau. Trình duyệt trên trang HTTPS bắt buộc phải dùng WebSocket bảo mật (wss://). Trang HTTP thông thường dùng ws:// với port 9000. Vi điều khiển và script Python không có SSL thì dùng TCP thuần trên port 1883. Broker này hỗ trợ cả ba, không cần chỉnh gì thêm.

Độ trễ thấp – đặt máy chủ tại Việt Nam

So với các broker công cộng quốc tế như test.mosquitto.org hay broker.hivemq.com, kết nối đến mqtt.nnit.vn từ Việt Nam có độ trễ thấp hơn đáng kể – đặc biệt hữu ích khi bạn cần đánh giá hiệu năng thật của thiết bị, không phải hiệu năng của đường truyền quốc tế.

Dùng như phòng chat tạm thời

Mở hai tab trình duyệt, cùng subscribe một topic bất kỳ, là hai tab có thể nhắn tin cho nhau theo thời gian thực. Không cần server chat, không cần account. Đây là cách nhanh nhất để minh họa giao thức pub/sub cho người mới học.

Mẹo: Đặt topic có tên đủ cụ thể để tránh nhận nhầm tin từ người khác đang dùng cùng broker, ví dụ myproject/room1/sensor thay vì chỉ test.

Hướng dẫn kết nối chi tiết

1. Kết nối từ trình duyệt (JavaScript)

Đây là cách đơn giản nhất để test ngay trên máy. Bạn có thể dùng thẳng công cụ MQTT Client trên NNIT.VN mà không cần viết code, hoặc tự tích hợp vào dự án:

JavaScript – dùng thư viện mqtt.js

const client = mqtt.connect('wss://mqtt.nnit.vn');

client.on('connect', () => {
  console.log('Kết nối thành công');
  client.subscribe('myproject/data');
});

client.on('message', (topic, message) => {
  console.log(`[${topic}]: ${message.toString()}`);
});

// Gửi tin nhắn
client.publish('myproject/data', 'Hello từ trình duyệt!');

2. Kết nối từ Python

Cài thư viện paho-mqtt và dùng địa chỉ TCP trực tiếp – không cần xử lý WebSocket:

Python – paho-mqtt

import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
    print("Đã kết nối, mã:", rc)
    client.subscribe("myproject/data")

def on_message(client, userdata, msg):
    print(f"Nhận từ {msg.topic}: {msg.payload.decode()}")

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.connect("mqtt.nnit.vn", 1883, 60)
client.loop_forever()

3. Kết nối từ ESP32 / ESP8266 (Arduino)

Dùng thư viện PubSubClient trong Arduino IDE. Đảm bảo board đã kết nối WiFi trước khi gọi hàm connect:

Arduino – PubSubClient

#include <PubSubClient.h>
#include <WiFi.h>

WiFiClient espClient;
PubSubClient mqttClient(espClient);

void setup() {
  // ... kết nối WiFi ...
  mqttClient.setServer("mqtt.nnit.vn", 1883);
  mqttClient.connect("esp32-device-01");
  mqttClient.publish("myproject/sensor", "28.5");
}

Lưu ý: Broker này là môi trường công cộng, dùng cho mục đích test và học tập. Không gửi dữ liệu nhạy cảm hoặc thông tin cá nhân qua broker này. Với hệ thống production, bạn nên tự dựng broker riêng có xác thực.

So sánh với các broker công cộng khác

BrokerMáy chủWebSocket (wss)TCP 1883Không cần tài khoản
mqtt.nnit.vnViệt Nam
test.mosquitto.orgQuốc tế
broker.hivemq.comQuốc tế
HiveMQ Cloud (free)Cloud✗ (cần đăng ký)

Với người dùng tại Việt Nam, lợi thế rõ ràng nhất của mqtt.nnit.vn là độ trễ thấp và không cần bất kỳ bước đăng ký nào. Phù hợp nhất cho giai đoạn phát triển và test thiết bị.

Câu hỏi thường gặp

Broker này có giới hạn số kết nối không?

Broker được duy trì cho mục đích cộng đồng và học tập. Số kết nối đồng thời không bị giới hạn cứng nhưng bạn không nên dùng cho hệ thống có lưu lượng lớn liên tục.

Có hỗ trợ MQTT v5 không?

Broker hỗ trợ MQTT 3.1.1 – phiên bản phổ biến nhất, tương thích với hầu hết thư viện và thiết bị hiện tại.

Tại sao dùng wss:// mà không phải ws:// trên trình duyệt?

Trình duyệt chặn kết nối không bảo mật (ws:// hay tcp://) khi trang web đang chạy trên HTTPS. Đây là chính sách bảo mật của trình duyệt, không phải giới hạn của broker. Dùng wss://mqtt.nnit.vn là đúng cho mọi trang HTTPS.

Tin nhắn có được lưu lại không?

Broker không lưu lịch sử tin nhắn. Nếu bạn gửi tin khi không có subscriber nào đang online trên topic đó, tin nhắn sẽ mất đi (trừ khi dùng flag retain). Đây là hành vi chuẩn của MQTT với QoS 0.

trong News