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}/connectionMQTT 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
1883bağ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.
- Düz
- 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
Connection
- Host: use the broker host shown on the device's Connection details card. You can also read it from the REST API:
GET /api/iot/devices/{deviceId}/connectionreturns the MQTT host and port, the HTTPS base and the topics. - Port: use
8883(TLS).- Plain port
1883works only if the device profile turns on Plain MQTT. - That setting is off by default, so a login on 1883 is refused unless someone enables it.
- Plain port
- Protocol: MQTT 3.1.1. An MQTT 5 CONNECT is refused with CONNACK 1.
- Session settings: send clean session = true and use MQTT keepalive.
- TLS:
- TLS 1.2 minimum, 1.3 preferred.
- SNI is required, so connect by host name, not by IP address.
- Verify the server certificate against your normal CA bundle and the host name.
- Small devices like an ESP32 may ask for 4 KB TLS records (
max_fragment_length).
Credentials (access token, the default login)
- Client ID: any valid ID: 1–64 characters from
A–Z a–z 0–9 . _ : - - Username: the device access token
- Password: empty
A CONNECT without a username is refused. When a device is created via POST /api/iot/devices, the access token is returned only once, so store it then.
Topic
Publish telemetry to v1/telemetry. Anything else under v1/ that isn't a known topic is rejected. Three rejected topics in a minute close the session.
Payload
Any of these forms works:
- A flat object:
{"temperature": 21.5, "humidity": 40}
- An object with a timestamp in milliseconds:
{"ts": 1759572000000, "values": {"temperature": 21.5, "humidity": 40}}
- An array of either form.
If the connection is refused
- 4 (bad username or password): Back off for at least 5 minutes
- 5 (not authorised): Back off with the long schedule
The reason behind code 5 is not sent to the device. It is written to the device's Log.
Sources
Belgelerden ve çözülmüş konulardan YZ tarafından yazıldı. Sorununuzu çözdüyse çözüm olarak işaretleyin; çözmediyse ekip sizinle ilgilenecek.

