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/telemetrytopic'ini kardeşleriyle birlikte bir dal olarak görürsünüz; böyleceLine1ileline1gibi 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:
- 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üğü.
- Taşıma seçenekleri: WebSocket yolu için bir alanla (örneğin
/mqtt) birlikte TCP, TLS, WebSocket ve güvenli WebSocket. - 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ı.
- Topic ağacı performansı: yoğun bir broker'da
#topic'ine abone olduğunuzda yanıt vermeye devam etmesi. - 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.
- Retained mesaj yönetimi: hangi topic'lerin retained olduğunu görmek ve boş bir retained payload yayınlayarak bunları silmek.
- Yayın kolaylığı: kayıtlı mesajlar, QoS ve retain kontrolleri, MQTT 5 özellikleri.
- Kimlik bilgisi saklama: parolaların şifreli olarak mı yoksa düz metin yapılandırma dosyalarında mı saklandığı.
- Platform kapsamı: ekibiniz için Windows, macOS ve Linux derlemeleri.
- 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?
plant1dalını genişletin ve hiyerarşinin plana uyup uymadığını kontrol edin. Gerçek projelerde,Plant1topic'ine yayın yapan veya cihaz ID'sini yanlış seviyeye koyan cihazları burada keşfedersiniz.tank1/leveltopic'ini seçin ve döngü çalışırken geçmişi izleyin. Grafik özelliği olan explorer'lar bunu doğrudan çizer.furnace1/telemetrytopic'ini seçin ve JSON'un düzenli biçimlendirildiğini doğrulayın.- Bir retained değeri silin:
cnc1/statustopic'ine retain ayarlı boş bir payload yayınlayın. Düğüm, yeni aboneler için kaybolmalı (veya boş görünmelidir). - 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
/mqttkullanı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.



