Yeni: Yapay zekâ güvenlik duvarı tüm platformu izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

Yanıtla: Cihazım telemetri verilerini hangi MQTT konusuna yayınlamalı?

Yapay zekâ tarafından English dilinden çevrildi ·

Bağlantı

  • Ana makine (Host): cihazın Bağlantı ayrıntıları kartında gösterilen broker ana makinesini kullanın. Ayrıca REST API üzerinden de okuyabilirsiniz: GET /api/iot/devices/{deviceId}/connection MQTT ana makinesini ve bağlantı noktasını, HTTPS temel adresini ve konuları döndürür.
  • Bağlantı noktası (Port): 8883 (TLS) kullanın.
    • Düz 1883 bağlantı noktası yalnızca cihaz profilinde Düz MQTT etkinleştirilmişse çalışır.
    • Bu ayar varsayılan olarak kapalıdır; bu nedenle biri etkinleştirmedikçe 1883 üzerindeki oturum açma isteği reddedilir.
  • Protokol: MQTT 3.1.1. MQTT 5 CONNECT isteği CONNACK 1 ile reddedilir.
  • Oturum ayarları: clean session = true gönderin ve MQTT keepalive kullanın.
  • TLS:
    • En az TLS 1.2, tercihen 1.3.
    • SNI gereklidir; bu nedenle IP adresi yerine ana makine adıyla bağlanın.
    • Sunucu sertifikasını normal CA paketinize ve ana makine adına göre doğrulayın.
    • ESP32 gibi küçük cihazlar 4 KB TLS kayıtları isteyebilir (max_fragment_length).

Kimlik bilgileri (erişim belirteci, varsayılan oturum açma)

  • Client ID: geçerli herhangi bir kimlik: A–Z a–z 0–9 . _ : - karakterlerinden oluşan 1–64 karakter
  • Kullanıcı adı (Username): cihazın erişim belirteci
  • Parola (Password): boş

Kullanıcı adı olmadan yapılan bir CONNECT isteği reddedilir. Cihaz POST /api/iot/devices ile oluşturulduğunda erişim belirteci yalnızca bir kez döndürülür, bu yüzden o anda kaydedin.

Konu (Topic)

Telemetriyi v1/telemetry konusuna yayımlayın. v1/ altındaki bilinen bir konu olmayan diğer her şey reddedilir. Bir dakika içinde üç reddedilen konu oturumu kapatır.

Yük (Payload)

Bu biçimlerin herhangi biri çalışır:

  • Düz bir nesne:
{"temperature": 21.5, "humidity": 40}
  • Milisaniye cinsinden zaman damgası içeren bir nesne:
{"ts": 1759572000000, "values": {"temperature": 21.5, "humidity": 40}}
  • Bu biçimlerden birinin dizisi.

Bağlantı reddedilirse

  • 4 (hatalı kullanıcı adı veya parola): En az 5 dakika bekleyin
  • 5 (yetkisiz): Uzun zamanlama planıyla bekleyin

Kod 5’in arkasındaki neden cihaza gönderilmez. Cihazın Günlüğüne yazılır.

Kaynaklar

Belgelerden ve çözülmüş konulardan YZ tarafından yazıldı. Sorununuzu çözdüyse çözüm olarak işaretleyin; çözmediyse ekip sizinle ilgilenecek.

♥ 0