Tüm Ürünler
Search
Belge Merkezi

IoT Platform:MQTT.fx Kullanarak IoT Platform'a Bağlanma

Son Güncelleme:Oct 03, 2026

Windows üzerinde MQTT.fx kullanarak bir cihazın Alibaba Cloud IoT Platform'a bağlantısını simüle edin ve temel mesajlaşma özelliklerini test edin.

Ön Koşullar

  • Bir ürün ve cihaz oluşturun ve MQTT bağlantı parametrelerini alın. Ürün ve cihaz oluşturma ve MQTT bağlantı parametrelerini alma.

    Aşağıdaki tabloda bu örnekte kullanılan cihaz sertifikası ve MQTT bağlantı parametreleri listelenmektedir. Parametre ayrıntıları için bkz. MQTT-TLS bağlantısı.


    Parametre


    Değer


    ProductKey


    a1***


    DeviceName


    device1


    DeviceSecret


    f35***d9e


    clientId


    a1***.device1|securemode=2,signmethod=hmacsha256,timestamp=2524608000000|


    username


    device1&a1***


    passwd


    86761***21d


    mqttHostUrl


    a1***.iot-as-mqtt.cn-shanghai.aliyuncs.com


    port


    1883

  • TSL iletişim konuları üzerinden yukarı ve aşağı yönlü mesajlaşmayı test etmek için TSL modelinde özellikler tanımlayın. Bir ürün için TSL modeli tanımlama.

    Bu örnekte aşağıdaki özellikler tanımlanmıştır: LightCurrent (çalışma akımı, float, aralık 0–9) ve LightSwitch (ana ışık anahtarı, boolean, 1 = açık, 0 = kapalı).

Önemli

MQTT.fx ile simüle edilen bir cihaz yalnızca passthrough olmayan verileri kullanabilir. Passthrough verileri test etmek için fiziksel bir cihaz veya SDK kullanın.

MQTT.fx Bağlantısını Yapılandırma

  1. MQTT.fx'i indirin ve yükleyin. Kurulum ve kullanım talimatları için bkz. MQTT.fx.

    Bu konuda mqttfx-5.2.0-windows-x64 örneği kullanılmıştır. Sürüm güncellemeleri nedeniyle kullanıcı arayüzünüz farklılık gösterebilir.

    Not

    MQTT.fx aracını kullanmak için lisans başvurusunda bulunmanız gerekir.

  2. MQTT.fx yazılımını açın, menü çubuğunda Extras öğesine tıklayın ve Edit Connection Profiles seçeneğini belirleyin.

  3. Edit Connection Profiles sayfasında aşağıdaki parametreleri yapılandırın.

    1. Temel bilgileri yapılandırın.

      Parametre

      Açıklama

      Profile Name

      Özel bir ad girin, örneğin iot connection.

      Profile Type

      MQTT Broker seçeneğini belirleyin.

      Broker Address

      MQTT bağlantı uç noktası. Ön Koşullar bölümündeki mqttHostUrl değerini kullanın: a1***.iot-as-mqtt.cn-shanghai.aliyuncs.com.

      • a1***, ürünün ProductKey değeridir.

      • cn-shanghai, bölge kimliğidir.

      Yalnızca alan adını girin. Bağlantı noktası numarasını dahil etmeyin.

      Broker Port

      1883 olarak ayarlayın.

      Client ID

      Bir MQTT protokolü alanıdır.

      Biçim: ${ClientId}|securemode=${Mode},signmethod=${SignMethod}|timestamp=${timestamp}|.

      Ön Koşullar bölümündeki clientId değerini girin: a1***.device1|securemode=2,signmethod=hmacsha256,timestamp=2524608000000|.

      Parametre açıklaması:

      • ${ClientId}: Bir cihaz, uygulama veya web istemcisi için istemci kimliği.

        Önemli

        Özel olmalı ve en fazla 64 karakter uzunluğunda olmalıdır. Cihazlar için MAC adresini veya seri numarasını (SN) kullanın.

      • ${Mode}: Güvenlik modu. Doğrudan TLS için 2 (SSL/TLS ayarları gerektirir) veya doğrudan TCP için 3 (SSL/TLS ayarı gerekmez) olarak ayarlayın.

      • ${SignMethod}: İmza algoritması. Desteklenenler: hmacsha256, hmacmd5 ve hmacsha1.

      • ${timestamp}: Milisaniye cinsinden geçerli saat. timestamp parametresi isteğe bağlıdır.

      Varsayılan olarak IoT Platform, ${ClientId} değerini ${ProductKey}.${DeviceName}, ${Mode} değerini 2 ve ${SignMethod} değerini hmacsha256 olarak ayarlar. Bu değerleri gerektiği gibi değiştirin.

      Önemli
      • MQTT.fx'in Client ID alanını cihazın ${ClientId} değeriyle karıştırmayın.

      • Parametreler arasındaki veya dizenin sonundaki dikey çizgileri (|) atlamayın.

      • Parametre değerlerinin başında veya sonunda boşluk olmadığından emin olun.

      • Client ID bilgilerini girdikten sonra Generate düğmesine tıklamayın.

      General

      Bu örnekte varsayılan ayarlar kullanılır. Senaryonuza göre değiştirin.

    2. User Credentials sekmesine tıklayın, Use Username/Password onay kutusunu seçin ve User Name ile Password değerlerini ayarlayın.

      Parametre

      Açıklama

      User Name

      Kullanıcı adı, cihazın DeviceName değeri, bir ampersan (&) ve ürünün ProductKey değerinden oluşur; biçimi ${DeviceName}&${ProductKey} şeklindedir.

      Ön Koşullar bölümündeki username değerini girin: device1&a1***.

      • device1, cihazın DeviceName değeridir.

      • a1***, ürünün ProductKey değeridir.

      Password

      Parola, seçilen imza algoritması kullanılarak DeviceSecret anahtarıyla birleştirilmiş parametrelerin şifrelenmesiyle oluşturulur.

      Ön Koşullar bölümündeki passwd değerini girin: 86761***21d.

      Önemli
      • Bazı MQTT.fx sürümlerinde parola yapıştırıldıktan sonra maskelenir. İmleç sona giderse yapıştırma başarılı olmuştur. Tekrar yapıştırmayın.

      • Parametreler ve değerleri büyük/küçük harfe duyarlıdır.

      • Client ID içindeki ${ClientId} veya ${SignMethod} değerlerini değiştirdiyseniz imza değerlerinin Client ID içindekilerle eşleştiğinden emin olun ve ardından parolayı yeniden hesaplayın. Node.js betiği kullanarak parolayı hesaplama.

    3. Doğrudan TLS bağlantısı (securemode=2) için SSL/TLS sekmesine tıklayın, Enable SSL/TLS seçeneğini belirleyin ve Protocol değerini TLSv1.2 olarak ayarlayın.

      Önemli

      Doğrudan TCP bağlantısı (securemode=3) için SSL/TLS ayarlarını yapılandırmanıza gerek yoktur. Bir sonraki adıma geçin.

  4. Sağ alt köşede OK düğmesine tıklayın.

  5. Connect düğmesine tıklayın.

    Yeşil bir gösterge ışığı, IoT Platform'a başarıyla bağlanıldığını doğrular.

    IoT Platform konsolu üzerinden cihaz durumunu doğrulayın. Örneğinizde, şuraya gidin: Devices > Devices, ürünü seçin ve cihaz durumunun Online olduğunu onaylayın.

Aşağıdaki bölümlerde özel konular ve TSL iletişim konuları kullanılarak yukarı ve aşağı yönlü mesajlaşma test edilmektedir. Sonuçlarınız farklıysa bağlantı başarısız olmuştur; günlük bilgilerine dayanarak ayarları düzeltin.

İletişim İçin Özel Konuları Kullanma

Özel konu ayrıntıları için bkz. İletişim için özel konuları kullanma. Bu örnekte IoT Platform tarafından sağlanan varsayılan özel konular kullanılmaktadır:


Konu


İzin


Açıklama


/a1***/device1/user/update/error


publish


Yukarı yönlü mesajlaşma: Cihaz bu konu üzerinden IoT Platform'a mesaj gönderir.


/a1***/device1/user/get


subscribe


Aşağı yönlü mesajlaşma: Cihaz IoT Platform'dan mesaj almak için abone olur.

Yukarı yönlü mesajlaşma

  1. MQTT.fx'te Publish sekmesine tıklayın. Publish metin kutusuna publish iznine sahip konuyu girin: /a1***/device1/user/update/error.

  2. Metin düzenleyicide mesaj içeriğini girin ve Publish düğmesine tıklayın.

    QoS değerinin QoS 0 olarak ayarlandığından ve mesaj gövdesinin örneğin This is a publish test. olduğundan emin olun.

  3. IoT Platform konsolunda örneğinizin Device Log sayfasını açın ve device-to-cloud message günlüklerini kontrol edin. Cloud tarafı çalışma günlüklerini sorgulama.

    Bir günlük girişi için View düğmesine tıklayın. View Details iletişim kutusunda Topic değerinin /a[ProductKey]/device1/user/update/error ve mesaj içeriğinin This is a publish test. olduğunu doğrulayın.

Aşağı yönlü mesajlaşma

  1. MQTT.fx'te Subscribe sekmesine tıklayın. Subscribe metin kutusuna Subscribe iznine sahip konuyu girin: /a1***/device1/user/get.

  2. Subscribe düğmesine tıklayın.

    Abonelikten sonra konu listede görünür.

  3. IoT Platform konsolunda örneğinizde şuraya gidin: Devices > Devices.

  4. Cihazın Actions sütununda View düğmesine tıklayarak device details sayfasını açın.

  5. Topic List sekmesine tıklayın. Abone olunan konunun Actions sütununda Publish Message düğmesine tıklayın.

  6. Bir mesaj girin, örneğin This is a test. ve OK düğmesine tıklayın.

  7. Alınan mesajı görüntülemek için MQTT.fx'e dönün.

    Subscribe sekmesinde /a{ProductKey}/device1/user/get konusu This is a test mesajını alır (QoS 0, Plain Text Decoder ile kodu çözülür).

TSL İletişimi İçin Konuları Kullanma

TSL iletişim konusu ayrıntıları için bkz. Konu nedir?. Bu örnekte aşağıdaki TSL iletişim konuları kullanılmaktadır:


Konu


İzin


Açıklama


/sys/a1****/device1/thing/event/property/post


publish


Yukarı yönlü mesajlaşma: Cihaz bu konuyu kullanarak özellik verilerini IoT Platform'a bildirir.


/sys/a1****/device1/thing/event/property/post_reply


subscribe


Aşağı yönlü mesajlaşma: Cihaz, özellik verilerini bildirdikten sonra yanıtları almak için abone olur.


/sys/a1****/device1/thing/service/property/set


subscribe


Aşağı yönlü mesajlaşma: Cihaz, IoT Platform'dan özellik ayarlama komutlarını almak için abone olur.

Cihaz özelliklerini bildirme

  1. MQTT.fx'te Subscribe sekmesine tıklayın. Subscribe metin kutusuna subscribe iznine sahip konuyu girin: /sys/a1****/device1/thing/event/property/post_reply.

  2. MQTT.fx'te Publish sekmesine tıklayın ve Publish metin kutusuna publish iznine sahip bir konu girin: /sys/a1****/device1/thing/event/property/post.

  3. Metin düzenleyicide özellik verilerini girin ve Publish düğmesine tıklayın.

    Özellik verileri standart Alink JSON biçimini kullanmalıdır. Cihazın özellikleri bildirmesi. Bu örnekte LightCurrent ve LightSwitch özellikleri bildirilmektedir. Konu /sys/${ProductKey}/device1/thing/event/property/post olup örnek JSON yükü şöyledir: {"method":"thing.event.property.post","id":"162277852","params":{"LightSwitch":1,"LightCurrent":1.4},"version":"1.0.0"}.

  4. MQTT.fx'teki Subscribe sekmesinde IoT Platform'dan gelen yanıt mesajını görüntüleyin.

    Başarılı olması durumunda IoT Platform şu şekilde bir yanıt döndürür:

    /sys/${YourProductKey}/device1/thing/event/property/post_reply
    {"code":200,"data":{},"id":"162277852","message":"success","method":"thing.event.property.post","version":"1.0"}
  5. IoT Platform konsolunda örneğinizde şuraya gidin: Devices > Devices.

  6. Cihazın Actions sütununda View düğmesine tıklayın. device details sayfasında TSL Data sekmesine tıklayarak bildirilen verileri görüntüleyin.

Cihaz özelliklerini ayarlama

  1. MQTT.fx'te Subscribe sekmesine tıklayın. Subscribe metin kutusuna Subscribe iznine sahip konuyu girin: /sys/a1****/device1/thing/service/property/set.

  2. IoT Platform konsolunda örneğinizde şuraya gidin: Maintenance > Online Debug.

  3. Cihazı seçin. Property Debugging sekmesinde LightSwitch değerini 0 olarak ayarlayın.

  4. Komutu göndermek için Set düğmesine tıklayın.

  5. MQTT.fx'teki Subscribe sekmesinde alınan mesajı görüntüleyin.

    /sys/axxxxx/device1/thing/service/property/set
    {"method":"thing.service.property.set","id":"2016306076","params":{"LightSwitch":0},"version":"1.0.0"}

Günlükleri Görüntüleme

  • IoT Platform konsolunda örneğinizin Device Log sayfasını açarak zaman, TraceID ve iş türü dahil olmak üzere çalışma günlüğü mesajlarını görüntüleyin. Cloud tarafı çalışma günlüklerini sorgulama.

  • MQTT.fx'te işlem ve hata günlüklerini görüntülemek için Log sekmesine tıklayın.

    INFO --- MqttFX ClientModel            : messageArrived() with topic: /ext/error/axxx0/device1
    INFO --- PublishController              : publish
    INFO --- MqttFX ClientModel            : attempt to add PublishTopic
    INFO --- MqttFX ClientModel            : addPublishTopic : /a1xxx/device1/user/get
    INFO --- MqttFX ClientModel            : sucessfully published message test to topic /axxx/device1/user/g
    INFO --- PublishController              : publish
    INFO --- MqttFX ClientModel            : attempt to add PublishTopic
    INFO --- MqttFX ClientModel            : sucessfully published message test to topic /axxx/device1/user/g
    INFO --- PublishController              : publish
    INFO --- MqttFX ClientModel            : attempt to add PublishTopic
    INFO --- MqttFX ClientModel            : sucessfully published message test to topic /axxx/device1/user/g
    INFO --- BrokerConnectorController     : onDisconnect
    INFO --- ScriptsController              : Clear console.
    INFO --- ScriptsController              : Cancel script excution.
    INFO --- ScriptsController              : Clear console.
    INFO --- ScriptsController              : Cancel script excution.
    INFO --- ScriptsController              : Clear console.
    INFO --- ScriptsController              : Cancel script excution.
    INFO --- BrokerConnectorController     : onConnect
    INFO --- ScriptsController              : Clear console.
    INFO --- MqttFX ClientModel            : MqttClient with ID a1xxx0.device1|securemode=2,signmethod=hmacsha...
    INFO --- MqttFX ClientModel            : session present: false
    INFO --- SubscribeController            : onSubscribe
    INFO --- MqttFX ClientModel            : rebuildMessagesList()
    INFO --- MqttFX ClientModel            : attempt to addRecentSubscriptionTopic
    INFO --- MqttFX ClientModel            : addRecentSubscriptionTopic : de.jensd.mqttfx.entities.Topixxx1
    INFO --- MqttFX ClientModel            : attempt to add PublishTopic
    INFO --- MqttFX ClientModel            : addPublishTopic : /axxx/device1/user/get
    INFO --- MqttFX ClientModel            : sucessfully subscribed to topic /a1xxxSp0/device1/user/get (QoS 0)
    INFO --- MqttFX ClientModel            : messageArrived() with topic: /a1Kucxxx/device1/user/get
    INFO --- MqttFX ClientModel            : messageArrived() added: message #1 to topic '/axxx/device1/user/...
    INFO --- PublishController              : publish
    INFO --- MqttFX ClientModel            : attempt to add PublishTopic
    INFO --- MqttFX ClientModel            : addPublishTopic : /a1xxx/device1/user/update/error
    INFO --- MqttFX ClientModel            : sucessfully published message This is a publish test. to topic /a1Kuc5xxx/device1/user/get

İlgili Belgeler

  • IoT Platform, kaynak kısıtlamalı ve düşük bant genişliğine sahip ortamlarda IoT'de yaygın olarak kullanılan MQTT protokolünü destekler. MQTT protokolü teknik özellikleri.

  • Bir cihazı IoT Platform'a bağlamak için cihaz bağlantı kılavuzuna bakın.

  • Konular, MQTT mesaj yayınlama ve abonelik işlemleri için ara katman görevi görür. Konu kavramları ve tanımları için bkz. Konu nedir?.