Rust ile Matter Gateway: Cihazları Apple Home'a Bağlamak
Matter protokolü, akıllı ev cihazlarını birleştiren açık standart olarak önem kazanıyor. Rust dilinde rs-matter kütüphanesi kullanarak bir gateway geliştirmek, bu ekosisteme katılmanın pratik bir yoludur.
Bir Matter gateway'i aslında tek bir büyük cihaz değildir. Gateway kendisi bir Matter düğümü (node) olarak görünür, ama içinde birden fazla uç nokta (endpoint) barındırır. Endpoint 0 ağ geçidinin kök işlevlerini sağlar, kimlik bilgisi, ağ ayarları gibi. Endpoint 1 ise toplayıcı (aggregator) rolü üstlenir. Bağlı olan her cihaz (örneğin Bluetooth Mesh ışığı) kendi endpoint'ini alır. Bu yapı sayesinde Apple Home, her cihazın ne olduğunu ve neler yapabileceğini tanımlayıcı (Descriptor), On/Off, Bridged Device Basic Information ve Groups gibi cluster'lardan öğrenir.
Pratik olarak, bir cihaz tablosu endpoint ID'sini, cihaz adresini, adını, açık/kapalı durumunu ve erişilebilirliğini tutar. Apple Home endpoint 2'yi açmayı istediğinde, gateway bu tablodan eşleşen cihaz adresini bulur ve komutunu aşağı yönde gönderir. Kodda bu eşleştirme basit bir döngü veya harita yapısıyla yapılır.
rs-matter kütüphanesi, bu endpoint ve cluster yönetimini soyutlar; sen komut işleyiciyi tanımlarsın. Gerçek ürünlerde sağlama (provisioning), güvenlik anahtarları ve kurtarma verileri çok daha karmaşıktır. Prototipte Bluetooth Mesh birlikte çalışabilirliği henüz test edilmemiş, büyük dağıtımlar da denenmemiştir.
Rust'ın bellek güvenliği ve performansı, gateway gibi uzun ömürlü, düşük kaynaklı cihazlar için ideal. Matter ekosisteminde Rust ile başlamak istersen, rs-matter deposunun örneklerinden ve Matter spesifikasyonundan başla.
0 yorum