---
title: "Rust MQTT Örneği: Bağlanma, Yayınlama ve Abonelik | ConnectMQ"
description: "rumqttc ile Rust MQTT istemci örneği: ücretsiz broker.connectmq.com ve ConnectMQ’ya güvenli TLS bağlantısı için kopyala-yapıştır kod."
url: "https://connectmq.com/tr/kod-ornekleri/rust/"
language: "tr"
---

Kod örnekleri

# Rust MQTT örneği

rumqttc crate’iyle Rust’ı bir MQTT broker’a bağlayın. Ücretsiz herkese açık broker’da başlayın, ardından aynı kodu ConnectMQ üzerindeki güvenli, özel bir broker’a yönlendirin.

Kütüphane

[rumqttc](https://crates.io/crates/rumqttc)

Kurulum

`cargo add rumqttc`

[**Kaynak kod GitHub’da**`mqtt-code-samples/rust`Çalıştırılmaya hazır örneklerin tamamını klonlayın. Yıldız ve pull request’lere açığız. GitHub'da görüntüle](https://github.com/connectmq/mqtt-code-samples/tree/main/rust)

## 1\. Ücretsiz herkese açık broker’da deneyin

Hesap gerekmez: 1883 portundan `broker.connectmq.com` adresine bağlanın ve saniyeler içinde yayın yapmaya başlayın.

main.rs

```
use rumqttc::{Client, Event, MqttOptions, Packet, QoS};
use std::time::Duration;

fn main() {
    let topic = "your-project/sensors/temperature"; // Benzersiz bir topic öneki kullan: herkese açık broker’ı herkes okuyabilir

    // Ücretsiz herkese açık broker’a bağlan (hesap gerekmez) (Her istemcinin benzersiz bir client ID’si olmalı)
    let mut options = MqttOptions::new("rust-example", "broker.connectmq.com", 1883);
    options.set_keep_alive(Duration::from_secs(30));
    let (client, mut connection) = Client::new(options, 10);

    // Sıcaklık topic’ine abone ol
    client.subscribe(topic, QoS::AtLeastOnce).unwrap();
    // JSON formatında bir ölçüm yayınla
    client.publish(topic, QoS::AtLeastOnce, false, r#"{"temperature":21.5}"#).unwrap();

    // İstemciyi çalışır durumda tut
    for event in connection.iter() {
        if let Ok(Event::Incoming(Packet::Publish(p))) = event {
            println!("{}: {}", p.topic, String::from_utf8_lossy(&p.payload));
        }
    }
}
```

### Ücretsiz herkese açık MQTT broker

Herkese açık broker paylaşımlıdır: topic’lerinize herkes abone olabilir. Üzerinden asla parola, kişisel veri veya gizli bilgi göndermeyin.

[Ücretsiz herkese açık MQTT broker hakkında](https://connectmq.com/tr/herkese-acik-mqtt-broker/)

## 2\. ConnectMQ ile canlıya geçin

Gerçek cihazlar için herkese açık broker yerine ConnectMQ üzerinde özel, sunucusuz bir MQTT broker kullanın: TLS şifreleme, her cihaz için kullanıcı adı ve parola ile topic bazlı erişim denetimi, tamamen yönetilen. Free planla başlayın — kart gerekmez.

YOUR\_BROKER\_HOST, YOUR\_USERNAME ve YOUR\_PASSWORD değerlerini ConnectMQ panelinizdeki bilgilerle değiştirin.

[Ücretsiz başlayın](https://app.connectmq.com/signup) [Fiyatlandırmayı görün](https://connectmq.com/tr/fiyatlandirma/)

main.rs

```
use rumqttc::{Client, Event, MqttOptions, Packet, QoS, Transport};
use std::time::Duration;

fn main() {
    let topic = "your-project/sensors/temperature";

    // 8883 portundan özel ConnectMQ broker’ınıza bağlan (Her istemcinin benzersiz bir client ID’si olmalı)
    let mut options = MqttOptions::new("rust-example", "YOUR_BROKER_HOST", 8883);
    options.set_keep_alive(Duration::from_secs(30));
    // ConnectMQ panelinizdeki kullanıcı adı ve parola
    options.set_credentials("YOUR_USERNAME", "YOUR_PASSWORD");
    // TLS: broker sertifikasını sistemin CA deposu doğrular
    options.set_transport(Transport::tls_with_default_config());
    let (client, mut connection) = Client::new(options, 10);

    // Sıcaklık topic’ine abone ol
    client.subscribe(topic, QoS::AtLeastOnce).unwrap();
    // JSON formatında bir ölçüm yayınla
    client.publish(topic, QoS::AtLeastOnce, false, r#"{"temperature":21.5}"#).unwrap();

    // İstemciyi çalışır durumda tut
    for event in connection.iter() {
        if let Ok(Event::Incoming(Packet::Publish(p))) = event {
            println!("{}: {}", p.topic, String::from_utf8_lossy(&p.payload));
        }
    }
}
```

## Rust MQTT SSS

Rust bir MQTT broker’a nasıl bağlanır?

rumqttc kurun, broker sunucusuna 1883 portundan (TLS ile 8883) bağlanın, ardından bir topic’e abone olup aynı topic’e mesaj yayınlayın. Bu sayfadaki örnekler ücretsiz herkese açık broker.connectmq.com’a ve özel bir ConnectMQ broker’ına bağlanır.

Rust testleri için ücretsiz bir MQTT broker var mı?

Evet. broker.connectmq.com, hesap gerektirmeyen ücretsiz ve herkese açık bir MQTT broker’dır. Topic’lerini herkes okuyabildiği için yalnızca testlerde kullanın ve benzersiz bir topic öneki seçin.

Rust MQTT bağlantısı nasıl güvenli hale getirilir?

ConnectMQ panelinizden aldığınız kullanıcı adı ve parolayla 8883 portu üzerinden TLS ile bağlanın; herkese açık broker yerine her cihaza kendi kimlik bilgilerini ve topic izinlerini verin.

## Diğer kod örnekleri

[

### Python

paho-mqtt ile Python’u bir MQTT broker’a bağlayın.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/python/)[

### Node.js

MQTT.js ile Node.js’i bir MQTT broker’a bağlayın.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/nodejs/)[

### ESP32

Arduino PubSubClient kütüphanesiyle bir ESP32’yi Wi-Fi üzerinden MQTT broker’a bağlayın.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/esp32/)[

### Go

Eclipse Paho Go istemcisiyle Go’yu bir MQTT broker’a bağlayın.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/go/)[

### CLI (mosquitto)

mosquitto\_pub ve mosquitto\_sub ile komut satırından yayın yapın ve abone olun.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/cli/)[

### Java

Eclipse Paho Java istemcisiyle Java’yı bir MQTT broker’a bağlayın.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/java/)[

### C# (.NET)

MQTTnet ile C# ve .NET’i bir MQTT broker’a bağlayın.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/csharp/)[

### Dart (Flutter)

mqtt\_client paketiyle Dart ve Flutter uygulamalarını bir MQTT broker’a bağlayın.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/dart-flutter/)[

### Swift / Kotlin

Yerel iOS (Swift) ve Android (Kotlin) uygulamalarını bir MQTT broker’a bağlayın.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/swift-kotlin/)[

### Home Assistant

Home Assistant’ı bir MQTT broker’a bağlayın ve MQTT mesajlarını sensörlere dönüştürün.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/home-assistant/)[

### Node-RED

İçe aktarılabilir bir akışla Node-RED’i bir MQTT broker’a bağlayın.

Örneği görüntüle](https://connectmq.com/tr/kod-ornekleri/node-red/)

[Tüm kod örnekleri](https://connectmq.com/tr/kod-ornekleri/)

### Ücretsiz herkese açık MQTT broker

Her örneği broker.connectmq.com üzerinde test edin — kayıt gerekmez; MQTT 3.1.1 ve 5, TCP, TLS ve WebSocket desteklenir.

[Ücretsiz herkese açık MQTT broker hakkında](https://connectmq.com/tr/herkese-acik-mqtt-broker/)

### Canlı ortam için güvenli, sunucusuz MQTT

Gerçek cihazlara geçme zamanı geldiğinde aynı kodu TLS ve cihaz başına kimlik bilgileriyle özel, tamamen yönetilen bir ConnectMQ broker’ında çalıştırın.

[Ücretsiz başlayın](https://app.connectmq.com/signup)

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

[Hemen başlayın](https://app.connectmq.com/signup) [Fiyatları görün](https://connectmq.com/tr/fiyatlandirma/)

## Makaleler

[Tüm yazılar](https://connectmq.com/tr/blog/)

IoT Eğitimleri

### [ESP32 MQTT Bağlantısı: Arduino IDE ile Sensör Verisi Yayınlayın ve LED Kontrol Edin](https://connectmq.com/tr/blog/esp32-mqtt-baglantisi/)

Bir ESP32'yi Arduino IDE ve PubSubClient ile bir MQTT broker'a bağlayın, JSON sıcaklık ölçümleri yayınlayın, kart üzerindeki LED'i komut satırından kontrol edin ve portal kimlik bilgileriyle TLS'e geçin.

23 Ağustos 20268 dk okuma

IoT Eğitimleri

### [Test İçin Ücretsiz Public MQTT Broker: broker.connectmq.com'a Dakikalar İçinde Bağlanın](https://connectmq.com/tr/blog/ucretsiz-public-mqtt-broker/)

broker.connectmq.com, test ve öğrenme için ücretsiz bir public MQTT broker'dır. Portlar, anonim erişim kuralları, limitler ve CLI, Python, Node.js ile tarayıcı için kopyala-yapıştır örnekler bu yazıda.

20 Eylül 20266 dk okuma

IoT Eğitimleri

### [WebSocket Üzerinden MQTT: MQTT.js ile Tarayıcıyı MQTT Broker'a Bağlayın](https://connectmq.com/tr/blog/websocket-uzerinden-mqtt/)

Tarayıcılar ham TCP soketleri açamaz; bu yüzden web uygulamaları MQTT'yi WebSocket üzerinden konuşur. broker.connectmq.com'a bağlanan çalışan bir tarayıcı client'ı ve bir Node.js client'ı geliştirin, en sık görülen bağlantı hatalarını nasıl düzelteceğinizi öğrenin.

29 Eylül 20267 dk okuma
