IoT Eğitimleri

MQTT Explorer Masaüstü Uygulaması Karşılaştırması: Topic Ağaçlarını Görselleştirme

MQTT Explorer, MQTTX, MQTT.fx ve ConnectMQ Desktop MQTT explorer dahil masaüstü MQTT explorer'ları karşılaştırın, topic ağaçlarında hata ayıklarken hangi özelliklerin önemli olduğunu öğrenin ve herhangi birini broker.connectmq.com'a bağlayın.

İç içe bir topic ağacı ve JSON payload paneli gösteren bir mqtt explorer masaüstü uygulaması penceresi
Bunu kendi MQTT broker’ınızda çalıştırınFree planla özel, yönetilen bir MQTT broker alın ve hazır kod örnekleriyle başlayın.
Ücretsiz deneyin Kod örnekleri Kart gerekmez

Bir MQTT explorer masaüstü uygulaması, terminalin gösteremediğini gösterir: tüm topic ağacını tek seferde, hangi dalların yoğun olduğunu, her retained değerin ne olduğunu ve bir payload'ın zaman içinde nasıl değiştiğini. Bu rehber başlıca masaüstü explorer'ları karşılaştırır, gerçek bir sistemde hata ayıklarken hangi özelliklerin gerçekten önemli olduğunu açıklar ve kendiniz değerlendirebilmeniz için örnek verilerle doldurulmuş bir topic ağacıyla birini broker.connectmq.com adresine bağlamayı adım adım gösterir.

Neden CLI Yerine Masaüstü Explorer Kullanmalı?

Komut satırı araçları betikler ve hızlı kontroller için mükemmeldir; bunları MQTT CLI araçları yazısında karşılaştırıyoruz. Ancak mesajları bir akış olarak gösterirler. Bir sistemde yüzlerce topic olduğunda bir akış üzerinden akıl yürütmek zordur. Masaüstü explorer bu akışı bir yapıya dönüştürür:

  • Günlük değil, ağaç. factory1/line1/cnc1/telemetry topic'ini kardeşleriyle birlikte bir dal olarak görürsünüz; böylece Line1 ile line1 gibi adlandırma hataları hemen göze çarpar.
  • Topic başına son değer. Bir düğüme tıklamak, beklemeden mevcut (çoğunlukla retained) değerini gösterir.
  • Geçmiş ve farklar. Pek çok explorer topic başına son mesajları tutar; böylece iki payload arasında neyin değiştiğini görebilirsiniz.
  • Güvenli yayın. Kayıtlı payload'lar, JSON biçimlendirme ve net bir retain onay kutusu, üretim ortamına yanlış bir şey yayınlama olasılığını azaltır.
  • Birden fazla bağlantı. Kimlik bilgilerini yeniden yazmadan yerel bir broker, staging broker ve üretim arasında geçiş yapın.

Bir MQTT Explorer Masaüstü Uygulamasında Nelere Bakmalı?

Herhangi bir explorer'ı denerken bu kontrol listesini kullanın:

  1. Protokol desteği: MQTT 3.1.1 ve 5.0 ile user property, content type ve message expiry gibi MQTT 5 özelliklerinin görünürlüğü.
  2. Taşıma seçenekleri: WebSocket yolu için bir alanla (örneğin /mqtt) birlikte TCP, TLS, WebSocket ve güvenli WebSocket.
  3. TLS yönetimi: sistem trust store'unu kullanması veya bir CA dosyası eklemenize izin vermesi; sertifika başarısız olduğunda net bir hata mesajı.
  4. Topic ağacı performansı: yoğun bir broker'da # topic'ine abone olduğunuzda yanıt vermeye devam etmesi.
  5. Payload görüntüleme: düzenli biçimlendirilmiş JSON, binary için hex görünümü ve ideal olarak Sparkplug B gibi formatlar için çözümleme.
  6. Retained mesaj yönetimi: hangi topic'lerin retained olduğunu görmek ve boş bir retained payload yayınlayarak bunları silmek.
  7. Yayın kolaylığı: kayıtlı mesajlar, QoS ve retain kontrolleri, MQTT 5 özellikleri.
  8. Kimlik bilgisi saklama: parolaların şifreli olarak mı yoksa düz metin yapılandırma dosyalarında mı saklandığı.
  9. Platform kapsamı: ekibiniz için Windows, macOS ve Linux derlemeleri.
  10. Lisans ve bakım: açık kaynak, ücretsiz veya ticari olması ve ne kadar aktif güncellendiği.

Başlıca Masaüstü Explorer'ların Karşılaştırması

Uygulama Lisans Güçlü yanı Dikkat edilecekler
MQTT Explorer Açık kaynak Mesaj sayaçları, payload geçmişi, farklar ve sayısal grafiklerle mükemmel hiyerarşik topic ağacı Gezinmek için tasarlanmıştır; yayın özellikleri temeldir
MQTTX (masaüstü) Açık kaynak Bağlantı başına sohbet tarzı görünüm, güçlü MQTT 5 desteği, kayıtlı bağlantılar, betik desteği Akış odaklıdır; ağaç görünümü daha az merkezdedir
MQTT.fx Ticari Pek çok mühendisin aşina olduğu köklü bir araç Lisanslama zamanla değişti; güncel koşulları kontrol edin
ConnectMQ Desktop MQTT explorer Üretici aracı Herhangi bir MQTT broker'da topic'lere göz atma, test mesajları yayınlama ve payload inceleme Daha yeni bir araç; web portalıyla iyi uyum sağlar

MQTT Explorer

MQTT Explorer, insanların "MQTT explorer" dediğinde çoğunlukla kastettiği araçtır. Geniş kapsamlı abone olur (varsayılan olarak # ve $SYS/#) ve her şeyi, her dalın altına kaç mesaj geldiğini gösteren sayaçlarla birlikte daraltılabilir bir ağaç olarak gösterir. Bir topic seçmek son payload'ı, son değerlerin geçmişini ve önceki mesajla farkı gösterir; sayısal değerler grafiğe dökülebilir. Tanımadığınız bir sistemi anlamak için bu genellikle en hızlı giriş yoludur.

Büyük veya paylaşılan broker'larda varsayılan # aboneliğine dikkat edin. Herkese açık broker'da, istemci başına 10 abonelik sınırı içinde kalmak ve uygulamayı diğer kullanıcıların trafiğiyle boğmamak için yalnızca kendi önekinize abone olun.

MQTTX Masaüstü

MQTTX her bağlantıyı bir sohbet gibi sunar: bir tarafta gönderdiğiniz mesajlar, diğer tarafta topic'e göre filtrelenebilen alınan mesajlar. Etkileşimli istek-yanıt testleri, MQTT 5 özellikleri ve bir bağlantı kütüphanesi tutmak için çok iyidir. İşiniz çoğunlukla "bir komut gönder, yanıtı izle" ise MQTTX doğal hissettirir.

MQTT.fx

MQTT.fx yıllarca varsayılan Java tabanlı masaüstü istemcisiydi. Lisanslama modeli değişti; bu nedenle bir ekip için standart olarak benimsemeden önce güncel koşulları kontrol edin.

ConnectMQ Desktop MQTT Explorer

Bu explorer, bir VS Code MQTT eklentisi ile birlikte sunulur. Topic'lere göz atar, test payload'ları yayınlar ve mesajları inceler; yalnızca kendi broker'ıyla değil, standartlara uygun her broker ile çalışır. Cihazlarınız zaten bir ConnectMQ broker'a bağlanıyorsa portal için kullanışlı bir yardımcıdır: yerel geliştirme sırasında masaüstü uygulamayı, bilgisayarınızdan uzaktayken portalın canlı topic gezginini ve tarayıcı içi MQTT istemcisini kullanın.

Uygulamalı: Bir Topic Ağacı Oluşturun ve Keşfedin

Explorer'ları adil bir şekilde karşılaştırmak için onlara aynı veriyi verin. Aşağıdaki komutlar, herkese açık broker'da benzersiz bir önek altında küçük ve gerçekçi bir ağaç oluşturur. ex4m yerine kendi rastgele dizenizi yazın ve herkese açık alanın herkese görünür olduğunu unutmayın.

P="connectmq/demo/ex4m"
H="-h broker.connectmq.com -p 1883 -i seed-ex4m"

mosquitto_pub $H -r -t "$P/plant1/line1/cnc1/status"      -m "running"
mosquitto_pub $H -r -t "$P/plant1/line1/cnc1/telemetry"   -m '{"spindle_rpm": 8200, "temp_c": 41.5}'
mosquitto_pub $H -r -t "$P/plant1/line1/robot1/status"    -m "idle"
mosquitto_pub $H -r -t "$P/plant1/line2/furnace1/telemetry" -m '{"temp_c": 812, "setpoint_c": 820}'
mosquitto_pub $H -r -t "$P/plant1/utilities/tank1/level"  -m "67.2"

Ardından geçmiş ve grafiklerin gösterecek bir şeyi olması için canlı, değişen bir değer ekleyin:

for i in $(seq 1 60); do
  mosquitto_pub -h broker.connectmq.com -p 1883 -i seed-live-ex4m \
    -t "connectmq/demo/ex4m/plant1/utilities/tank1/level" -m "$((60 + RANDOM % 15)).$((RANDOM % 10))"
  sleep 1
done

Buradaki en derin topic 7 seviyelidir ve herkese açık broker'ın 8 seviyelik sınırı içinde kalır.

Bağlantı Ayarları

Herhangi bir explorer'da şu ayarları kullanın:

Alan Herkese açık broker (test) Özel broker'ınız
Host broker.connectmq.com Portaldaki broker host'unuz
Port / protokol 1883 TCP veya TLS açık olarak 8883 TLS ile 8883 (önerilir)
WebSocket 8083 (ws), 8084 (wss), yol /mqtt Aynı portlar ve yol
Client ID Benzersiz, boş olmayan herhangi bir değer Kimlik bilgileriniz için üretilen client ID
Kullanıcı adı / parola Boş YOUR_USERNAME / YOUR_PASSWORD
Abonelik connectmq/demo/ex4m/# # veya kendi kökünüz

Nelere Dikkat Etmeli?

  1. plant1 dalını genişletin ve hiyerarşinin plana uyup uymadığını kontrol edin. Gerçek projelerde, Plant1 topic'ine yayın yapan veya cihaz ID'sini yanlış seviyeye koyan cihazları burada keşfedersiniz.
  2. tank1/level topic'ini seçin ve döngü çalışırken geçmişi izleyin. Grafik özelliği olan explorer'lar bunu doğrudan çizer.
  3. furnace1/telemetry topic'ini seçin ve JSON'un düzenli biçimlendirildiğini doğrulayın.
  4. Bir retained değeri silin: cnc1/status topic'ine retain ayarlı boş bir payload yayınlayın. Düğüm, yeni aboneler için kaybolmalı (veya boş görünmelidir).
  5. Bağlantıyı kesin ve yeniden bağlanın. Retained topic'ler anında yeniden görünür; retained olmayanlar yeni mesajları bekler. Bu, topic'lerinizden hangilerinin retained olduğunu öğrenmenin en hızlı yoludur.

Sistemler büyüdükçe tutarlı bir hiyerarşi daha da önem kazanır. Yukarıda kullanılan ISA-95 tarzı (site, area, line, cell), bir Unified Namespace'in omurgasıdır; arkasındaki mantık için MQTT Sparkplug B ve Unified Namespace yazısını okuyun.

Masaüstü Explorer Sorun Giderme

  • TCP üzerinden bağlanıyor ama TLS üzerinden bağlanmıyor: uygulama işletim sisteminin trust store'unu kullanmıyor olabilir. ISRG Root X1 sertifikasını (Let's Encrypt) CA olarak ekleyin ve sistem saatinizi kontrol edin.
  • WebSocket bağlantısı başarısız: yol eksik. 8083 veya 8084 portlarıyla /mqtt kullanın.
  • Ağaç donuyor: yoğun bir broker'da # topic'ine abone oldunuz. Aboneliği daraltın.
  • Birkaç saniyede bir bağlantı kopuyor: başka bir araç aynı client ID'yi kullanıyor. Pek çok explorer bir ID üretir; iki kayıtlı bağlantının aynı ID'yi paylaşmadığından emin olun.
  • Özel broker'da yetkisiz: client ID, kimlik bilgileriyle birlikte verilen ID ile eşleşmelidir.

Keşiften Üretime

Masaüstü explorer bir hata ayıklama merceğidir; güvenilir olması gereken şey broker'dır. Cihazlarınız denemelerin ötesine geçtiğinde onları paylaşılan test alanı yerine tam yönetilen bir MQTT hizmeti üzerinde çalıştırın. ConnectMQ broker'ları TCP, TLS, WebSocket ve güvenli WebSocket üzerinden MQTT 3.1.1 ve 5.0'ı destekler; böylece bu karşılaştırmadaki her explorer özel bir yapılandırma gerektirmeden bağlanır. Barındırma seçeneklerine genel bakış için bulut MQTT broker rehberini okuyun; herkese açık MQTT test broker sayfası paylaşılan sınırları ayrıntılı olarak listeler. Bir explorer'da gördüklerinizi uygulama koduna dönüştürmek için bir sonraki adım MQTT istemci kütüphaneleri rehberidir; mosquitto_pub ve mosquitto_sub örnekleri ise betik tarafını ele alır.

ConnectMQ ile Başlayın

app.connectmq.com adresinde kredi kartı gerekmeden ücretsiz Serverless planda özel bir broker oluşturun ve en sevdiğiniz masaüstü explorer'ı üretilen kimlik bilgileriyle bağlayın. Portal ayrıca canlı bir topic gezgini, bir pano ve ISA-95 seviyelerine göre düzenlenmiş bir cihazlar görünümü sunar; böylece trafiği herhangi bir tarayıcıdan da inceleyebilirsiniz.

Sık Sorulan Sorular

En iyi MQTT explorer masaüstü uygulaması hangisi?

Büyük bir topic ağacında gezinmek için MQTT Explorer'ı geçmek zordur. MQTT 5 ile etkileşimli yayın ve yanıt testleri için MQTTX çok kullanışlıdır. ConnectMQ kullanıyorsanız masaüstü explorer'ı ve portalı size makineler arasında tutarlı bir iş akışı sağlar.

Bir masaüstü MQTT explorer herhangi bir broker'a bağlanabilir mi?

Evet; uygulama broker'ın protokol sürümünü ve taşıma katmanını desteklediği sürece. Buradaki tüm araçlar standart MQTT konuşur ve barındırılan veya kendi işlettiğiniz, standartlara uygun her broker ile çalışır.

Bir MQTT explorer'da # topic'ine abone olmak güvenli mi?

Kendi geliştirme broker'ınızda evet. Üretim veya paylaşılan broker'larda uygulamayı boğabilir ve ihtiyacınızdan fazla veriyi açığa çıkarabilir; bu yüzden bunun yerine belirli bir köke abone olun.

Neden bazı topic'ler değerleri hemen gösteriyor da diğerleri boş kalıyor?

Retained mesajı olan topic'ler abone olur olmaz teslim edilir. Diğerleri yalnızca bir sonraki mesaj yayınlandığında görünür.

İlgili yazılar

Test, Betik ve Hata Ayıklama için En İyi MQTT CLI Araçları

mosquitto_pub/sub, MQTTX CLI, HiveMQ MQTT CLI, MQTT.js CLI, curl ve mqttui'nin uygulamalı karşılaştırması; betik yazma ve hata ayıklama için doğru aracı seçebilmeniz için aynı test broker.connectmq.com üzerinde çalıştırıldı.

7 dk okuma

Tüm yazılar →

Ö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.