Kod örnekleri

Node-RED MQTT örneği

İçe aktarılabilir bir akışla Node-RED’i bir MQTT broker’a bağlayın. Ücretsiz herkese açık broker’da başlayın, ardından aynı kodu ConnectMQ üzerindeki güvenli, özel bir broker’a yönlendirin.

Kaynak kod GitHub’damqtt-code-samples/node-redÇalıştırılmaya hazır örneklerin tamamını klonlayın. Yıldız ve pull request’lere açığız. GitHub'da görüntüle

1. Ücretsiz herkese açık broker’da deneyin

Hesap gerekmez: 1883 portundan broker.connectmq.com adresine bağlanın ve saniyeler içinde yayın yapmaya başlayın.

flow.json
[
  { "id": "cmq_broker", "type": "mqtt-broker", "name": "ConnectMQ broker",
    "broker": "broker.connectmq.com", "port": "1883", "usetls": false,
    "protocolVersion": "4", "keepalive": "60", "cleansession": true },
  { "id": "cmq_inject", "type": "inject", "name": "Her 10 sn’de bir ölçüm gönder", "x": 160, "y": 80,
    "props": [{ "p": "payload" }], "payload": "{\"temperature\":21.5}", "payloadType": "json",
    "repeat": "10", "once": true, "wires": [["cmq_out"]] },
  { "id": "cmq_out", "type": "mqtt out", "name": "JSON formatında bir ölçüm yayınla", "x": 420, "y": 80,
    "topic": "your-project/sensors/temperature", "qos": "1", "retain": "false",
    "broker": "cmq_broker", "wires": [] },
  { "id": "cmq_in", "type": "mqtt in", "name": "Sıcaklık topic’ine abone ol", "x": 160, "y": 160,
    "topic": "your-project/sensors/#", "qos": "1", "datatype": "auto-detect",
    "broker": "cmq_broker", "wires": [["cmq_debug"]] },
  { "id": "cmq_debug", "type": "debug", "name": "Abone olunan topic’teki her mesaj için çalışır", "x": 420, "y": 160,
    "active": true, "complete": "payload", "wires": [] }
]

Ücretsiz herkese açık MQTT broker

Herkese açık broker paylaşımlıdır: topic’lerinize herkes abone olabilir. Üzerinden asla parola, kişisel veri veya gizli bilgi göndermeyin.

Ücretsiz herkese açık MQTT broker hakkında

2. ConnectMQ ile canlıya geçin

Gerçek cihazlar için herkese açık broker yerine ConnectMQ üzerinde özel, sunucusuz bir MQTT broker kullanın: TLS şifreleme, her cihaz için kullanıcı adı ve parola ile topic bazlı erişim denetimi, tamamen yönetilen. Free planla başlayın — kart gerekmez.

YOUR_BROKER_HOST, YOUR_USERNAME ve YOUR_PASSWORD değerlerini ConnectMQ panelinizdeki bilgilerle değiştirin.

flow.json
[
  { "id": "cmq_tls", "type": "tls-config", "name": "TLS: broker sertifikasını sistemin CA deposu doğrular", "verifyservercert": true },
  { "id": "cmq_broker", "type": "mqtt-broker", "name": "ConnectMQ broker",
    "broker": "YOUR_BROKER_HOST", "port": "8883", "usetls": true, "tls": "cmq_tls",
    "protocolVersion": "4", "keepalive": "60", "cleansession": true,
    "credentials": { "user": "YOUR_USERNAME", "password": "YOUR_PASSWORD" } },
  { "id": "cmq_inject", "type": "inject", "name": "Her 10 sn’de bir ölçüm gönder", "x": 160, "y": 80,
    "props": [{ "p": "payload" }], "payload": "{\"temperature\":21.5}", "payloadType": "json",
    "repeat": "10", "once": true, "wires": [["cmq_out"]] },
  { "id": "cmq_out", "type": "mqtt out", "name": "JSON formatında bir ölçüm yayınla", "x": 420, "y": 80,
    "topic": "your-project/sensors/temperature", "qos": "1", "retain": "false",
    "broker": "cmq_broker", "wires": [] },
  { "id": "cmq_in", "type": "mqtt in", "name": "Sıcaklık topic’ine abone ol", "x": 160, "y": 160,
    "topic": "your-project/sensors/#", "qos": "1", "datatype": "auto-detect",
    "broker": "cmq_broker", "wires": [["cmq_debug"]] },
  { "id": "cmq_debug", "type": "debug", "name": "Abone olunan topic’teki her mesaj için çalışır", "x": 420, "y": 160,
    "active": true, "complete": "payload", "wires": [] }
]

Node-RED MQTT SSS

Node-RED bir MQTT broker’a nasıl bağlanır?

mqtt in / mqtt out nodes kurun, broker sunucusuna 1883 portundan (TLS ile 8883) bağlanın, ardından bir topic’e abone olup aynı topic’e mesaj yayınlayın. Bu sayfadaki örnekler ücretsiz herkese açık broker.connectmq.com’a ve özel bir ConnectMQ broker’ına bağlanır.

Node-RED testleri için ücretsiz bir MQTT broker var mı?

Evet. broker.connectmq.com, hesap gerektirmeyen ücretsiz ve herkese açık bir MQTT broker’dır. Topic’lerini herkes okuyabildiği için yalnızca testlerde kullanın ve benzersiz bir topic öneki seçin.

Node-RED MQTT bağlantısı nasıl güvenli hale getirilir?

ConnectMQ panelinizden aldığınız kullanıcı adı ve parolayla 8883 portu üzerinden TLS ile bağlanın; herkese açık broker yerine her cihaza kendi kimlik bilgilerini ve topic izinlerini verin.

Ücretsiz herkese açık MQTT broker

Her örneği broker.connectmq.com üzerinde test edin — kayıt gerekmez; MQTT 3.1.1 ve 5, TCP, TLS ve WebSocket desteklenir.

Ücretsiz herkese açık MQTT broker hakkında

Canlı ortam için güvenli, sunucusuz MQTT

Gerçek cihazlara geçme zamanı geldiğinde aynı kodu TLS ve cihaz başına kimlik bilgileriyle özel, tamamen yönetilen bir ConnectMQ broker’ında çalıştırın.

Ücretsiz başlayın

Özel MQTT broker’ınız birkaç tık uzağınızda

Hesabınızı oluşturun, broker kimlik bilgilerinizi alın ve ilk cihazınızı bağlayın — kurulacak, yamalanacak ya da ölçeklendirilecek sunucu yok.

WebSocket Üzerinden MQTT: MQTT.js ile Tarayıcıyı MQTT Broker'a Bağlayın

Tarayıcılar ham TCP soketleri açamaz; bu yüzden web uygulamaları MQTT'yi WebSocket üzerinden konuşur. broker.connectmq.com'a bağlanan çalışan bir tarayıcı client'ı ve bir Node.js client'ı geliştirin, en sık görülen bağlantı hatalarını nasıl düzelteceğinizi öğrenin.

7 dk okuma