MQTT önemli bir teknolojidir endüstriyel nesnelerin interneti (IIoT) için, IBM’in saygıdeğer MQ Serisi mesaj kuyruğu teknolojisinden gelen kavramlar üzerine kuruludur. MQTT başlangıçta SCADA kontrol sistemlerinden telemetri sağlamak için tasarlanmıştı ve IBM, protokolü 2013 yılında OASIS standart kuruluşuna devretti.
Endüstriyel cihaz sabit yazılımına gömülü olduğundan ve güncelleme almayabilecek donanımlarda kullanıldığından, standardın kasıtlı olarak yavaş gelişmesi amaçlanmıştır. Bunun nedeni, kuruluşların tipik olarak yalnızca onlarca, hatta yalnızca yüzlerce MQTT özellikli sistemi değil, binlercesini devreye almasıdır. Ayrıca, MQTT cihazları genellikle deniz altı boru hatları gibi yaşanması zor ve ulaşılması zor ortamlarda kurulur ve kullanıma sunulması genellikle yıllar alır. MQTT ayrıca, en yaygın mikrodenetleyiciler için uygulamalarla nispeten basittir.
Azure Event Grid’de MQTT desteği
MQTT, uç noktaların dinleyicilerin abone olduğu mesajları yayınladığı bir yayınla ve abone ol protokolü olduğundan, Microsoft’un pub-sub mesaj işleme hizmeti olan Azure Event Grid için çok uygundur. Devasa cihaz dağıtımlarını desteklemek üzere ölçeklendirmek üzere tasarlanan Event Grid, belki de en iyi şekilde, cihazlarınızdan uygulamalarınıza ve Azure hizmetlerine olayları besleyen, IIoT ve diğer olay odaklı uygulamaları destekleyen bir mesaj yönlendirme aracısı olarak düşünülebilir. Event Grid, belki de en çok Cloud Events protokolünü uygulamasıyla bilinmesine rağmen, hizmet birçok farklı mesajlaşma standardını destekleyebilir. (Azure Eşit Izgara hakkında daha fazlasını buradan okuyun.)
Azure Event Grid’in protokol desteği artık şunları içeriyor: MQTT’nin genel önizlemesiMQTT 5 ve MQTT 3.1 desteği BUILD 2023’te tanıtıldı. MQTT desteği hem gelen hem de giden mesajlar için Event Grid’in bir IIoT kontrol sisteminin merkezi olarak hizmet verebileceği anlamına gelir. Uç cihazlardan alınan olaylar, hem kaynaklara hem de MQTT’ye hazır uygulamalara ve ayrıca Azure’un kendi akış analizi araçlarına yeni olaylar sunmak için kullanılabilir. Bu olaylar, analistlerin cihaz verilerinden içgörüler çıkarmak için Veri Gezgini gibi araçları kullanabilecekleri ve bu verileri makine öğrenimi destekli kontrol sistemlerini eğitmek için kullanabilecekleri Azure Data Lake’te de depolanabilir.
Azure Event Grid, ister tüketici ister kurumsal cihazları destekliyor olun, tüm büyük IoT altyapılarının önemli bir bileşenidir. Bunun nedeni kısmen, mimarilerin mesaj yöneticisi olarak Event Grid ile binlerce girişi tüketmesine izin veren çoktan bire mesajlaşma modelinin bir uygulaması olmasıdır. Event Grid iki yönlü bir mimari olduğundan, uygulamalar onu seçilen istemcilere uyarılar ve bilgiler yayınlamak için kullanabilir. Event Grid’i geçiş olarak bile kullanabilirsiniz, böylece bir istemciden gelen bir ileti tüm istemcilere veya ayrı bir alt kümeye yayınlanabilir. Microsoft’un sahip olduğu bir referans mimarisi geliştirdi Event Grid’in pratikte nasıl kullanılabileceğini göstermek için.
Sonuç, istemcilerin ve hizmetlerin, kimlik doğrulama ve yetkilendirmeyi yöneten ölçeklenebilir bir aracı tarafından birbirine bağlandığı, hizmetlerin oluşturulması ve güvenliğini sağlamak için gereken işi azaltan ve işlevselliği tanımlı ad alanları. Ad alanları, istemcileri gruplandırmanıza ve ardından ilişkili konuları konu alanlarına sarmanıza olanak tanıdığından, iletileri geniş ölçekte yönetmek için yararlı bir araçtır. Bu, izinleri ayrıntılı bir düzeyde uygulamanıza izin verir, böylece müşterilerin bir konuyu yayınlamadan veya konuya abone olmadan önce yetkilendirmeye ihtiyacı olur.
Azure Event Grid’de MQTT kullanma
MQTT mesajları Azure Event Grid’e teslim edildikten sonra yerleşik API’ler kullanılarak Azure hizmetlerine yönlendirilebilir. Özel servisler ve kendi kodunuz, mesajları almak ve ardından uygun şekilde işlemek için web kancalarını kullanabilir. Bazı MQTT mesaj türleri ve özellikleri henüz Event Grid tarafından desteklenmemektedir. Eksik bir özellik olan mesaj sıralama desteği sorunlara neden olabilir. Öyleyse, mesajların doğru sırayla işlenmesini sağlamak için kendi kodunuzu eklemeniz gerekir.
Azure Event Grid’in MQTT desteğinde çok fazla ölçek vardır. Her ad alanı, saniyede 20.000 mesaj ileten 200.000’e kadar MQTT istemcisini yönetir. Microsoft bunu hızlı bir şekilde saniyede 1 milyon istemciye ve 100.000 mesaja yükseltme planlarını belgelediğinden, bu yalnızca önizleme sürümüdür.
Event Grid ile çalışmak nispeten basittir. Azure Portal’daki görevlerin çoğunu gerçekleştirebilirsiniz, ancak isterseniz (ve gelecekteki işlemler için yeniden kullanılabilir betikler oluşturmak istiyorsanız) Azure CLI’yi kullanabilirsiniz.
Bir MQTT komisyoncusu oluşturma
Uç nokta cihazlarınız Azure kaynaklarına bağlanmak için MQTT kullanacağından, güvenlik duvarınızdaki 8333 numaralı bağlantı noktasını hem ağınızdan hem de uygulamanız için kullanılan Azure VNet’e açarak başlayın. Bu, MQTT için standart bağlantı noktasıdır ve uyumlu herhangi bir cihazın Event Grid’inize bağlanmasına izin vermelidir. İstemci bağlantılarının kimliğini doğrulamak için bir X.509 sertifikası kullanmak iyi bir fikirdir. Gibi bir araç kullanarak X509 sertifikaları oluşturabilirsiniz. açık kaynaklı Step sertifika yetkilisi Windows, Mac ve Linux dahil çoğu platformda.
Azure Portal’da, MQTT uygulamanız için kullandığınız kaynak grubunda bir Azure Event Grid Ad Alanı oluşturarak başlayın. Ad alanları, DNS girişleridir, dolayısıyla bir Azure bölgesine özgü olmaları gerekir. Oluşturduğunuz uygulamanın amacı ile ilgili adlar kullanmak iyi bir fikirdir, bu nedenle adı MQTT’yi destekleyen bir ad olarak etiketlemek için kullanın. Son olarak, oluşturmadan önce ad alanı için bir bölge seçin.
Ad alanı oluşturulduktan sonra portaldaki yapılandırma sayfasından MQTT desteğini etkinleştirin. Artık Event Grid’inize istemciler eklemeye başlayabilirsiniz. Az sayıda istemci içeren basit test uygulamaları için bunları kullanıcı arabirimini kullanarak ekleyebilirsiniz, ancak daha büyük dağıtımlar için işlemi bir komut dosyasıyla otomatikleştirmeyi ve istemciler için oluşturulmuş adları kullanmayı düşünün. Kimlik doğrulama için kullanılacağından, her müşteriyi X.509 sertifikanızdaki parmak iziyle etiketlemelisiniz.
Artık Event Grid’inize Konu Alanları’nı, konularına yayınlanmış iletileri seçmek için kullanılan filtrelerle birlikte eklemeye başlayabilirsiniz. Konu Alanları yerindeyken, istemciler için izinler ekleyerek onlara konu alanına yayıncı erişimi verebilirsiniz.
MQTT istemcilerini yapılandırma
İstemcilerin, oluşturduğunuz sertifikayla yapılandırılması gerekir ve ardından mesajları yayınlamak için Azure Event Grid’e eklediğiniz konu adlarını kullanır. Artık bu konulara abonelik eklemeye hazırsınız; örneğin, MQTT içeriğini Cloud Events gibi başka biçimlere otomatik olarak çevirmek için Event Grid’deki bir Event Hub’a bağlantı ekleme. Mesajları ve olayları operasyonel teknoloji alanından daha esnek protokollere taşıdığı için bu, Azure Event Grid’in MQTT desteğinin belki de en kullanışlı yönlerinden biridir.
Elbette mevcut MQTT sistemleriyle çalışıyorsanız, Event Grid’inizi mevcut sertifikaların parmak iziyle yapılandırabilirsiniz. Bu, aygıt üretici yazılımında büyük güncellemeler olmadan yükseltme yapmanıza olanak tanır.
Event Grid başlı başına bir yayınla ve abone ol hizmeti olduğundan, alternatif protokollere yönlendirme MQTT konularınızın Event Grid konularıyla eşlenmesini gerektirir. Bu sürecin bir parçası olarak, Azure Event Hubs gibi araçlar tarafından alınan Event Grid kaynaklı Cloud Events mesajlarını geliştirmek için kullanılabilecek yeni özellikler ekleyebilirsiniz. Daha sonra Stream Analytics tarafından veya bir makine öğrenimi modeli için ek etiketler olarak kullanılabilen, uzak bir cihazdan gelen MQTT mesajı.
Azure Event Grid’e MQTT desteği eklemek, Microsoft’un Azure IoT ekibi tarafından yapılan mantıklı bir harekettir. Herhangi bir IoT platformunun önemli bir bileşeni olan uzun ömürlü endüstriyel cihazlarla MQTT desteği, şirketlerin mevcut cihaz dağıtımlarını hızlı bir şekilde bulut tabanlı bir ortama taşımasına olanak tanır. Cihaz izleme için AI desteğinden yararlanarak, aykırı okumaları tespit edebilir ve bunları kontrol sistemlerini çalıştırmak ve kestirimci bakım siparişi vermek için kullanabilirler. Sonuç, herhangi bir büyük ölçekli mesajlaşma ortamı için önemli bir yükseltme olabilir.
Telif hakkı © 2023 IDG Communications, Inc.
Kaynak : https://www.infoworld.com/article/3698274/getting-started-with-mqtt-in-azure-event-grid.html#tk.rss_all