Azure IoT – Cihaz simülasyonu ile IoT Hub’a bağlanalım

Azure IoT – Cihaz simülasyonu ile uygulamalar 1

Merhaba,

IoT ‘nin en genel anlamda tanımını yapmak istersek; “elektronik, yazılım, sensor ve bağlantı ile tümleşik fiziksel cihazların oluşturduğu ağdır” diyebiliriz. Bu ağ, cihazların veri toplamasına veya birbirine veri göndermesine olanak sağlar. Sensörlerin, akıllı cihazların geçmişe göre daha kolay temin edilebilir ve sahaya dağıtılabilir olması, onlarca(binlerce veya daha fazlası) cihazdan akan verinin depolanacağı ortamların ,public cloud, ile geçmişe oranla daha “az maliyetli” hale gelmesi, şirketlerin IoT ’den kâr edebilmesinin önünü açan temel faktörlerdir. Kâr kavramı göreceli olup “bir şirketin finansal kâr sağlaması” veya “dünyanın kaynaklarının daha verimli kullanılmasından” elde edilen kâr olarak düşünülebilir.

 

IoT’yi teşkil eden bileşenleri belirtecek olursak:

 

 

Thing  sensörler , akılı cihazlar , sahaya dağıttığımız ve veri gönderecek olan nesnelerin tümü

Connectivity  nesnelerin mesaj gönderirken kullanacağı protokoller ve nesnelerin ağa bağlanırken kullanacağı protokoller 

AMQP(advanced message queuing protocol) , MQTT(message queue telemetry transport) protokolleri nesnenin IoT altyapısına mesaj göndermek için kullanılan data protocol lerdendir.

Wi-Fi, Cellular(3g,4g vb.), 6LoWPAN , Bluetooth NFC vb. protokoller; nesnelerin IoT altyapısı ile iletişime geçmesinde kullanacağı iletişim protokollerindendir.

Data  nesneden IoT ekosistemine gönderilen mesajlar

Analytics  duran(data at rest) veya akan(data stream) veri üzerinde yapılacak analizler

Action  data üzerinde yapılan analiz sonucunda uygulanacak aksiyon

 

Not: Nesne=Device=Cihaz olarak düşünülebilir. Nesneden gönderilen data=mesaj şeklinde düşünülebilir.

 

Nesne , bağlantı , veri , analitik , aksiyon süreçlerinde IoT altyapısı aşağıdaki şekilde düşünülebilir.

 

 

Nesnenin ilettiği mesajlar IoT altyapısında kuyruğa alınır. Mesajın niteliğine(örneğin içinde geçen bir string’e göre) farklı bir servise/uygulamaya yönlendirilir. Depolanacağı ortama aktarılabilir. Analitik işleri çalışabilir. Sonuç görselleştirilerek yansıtılabilir(Ör: PowerBI).

 

Azure IoT yelpazesi; IoT Hub , Event Hubs , Time Series Insights , Stream Analytics Job , Machine Learning Workspace ,Notification Hub , HDInsight , DataStax Enterprise servislerden oluşuyor(bu yazıyı yazdığım anda)

 

.NET ile geliştirilmiş bir cihaz simülasyonu ile Azure IoT servislerini dokümantasyonlarda anlatılan yöntemler ve uygulamalar ile genel olarak inceledim. Hands-on işlemleri ve düşüncelerimi paylaşayım. 

 

Visual Studio ile içinde üç Project olan bir solution hazırlayacağız

(VS 2017 Enterprise’da oluşturdum).

IoT Hub ‘ı oluşturacağız. IoT Hub’a kayıt ettireceğimiz cihaz için secure key oluşturacağız. Her hangi cihazın(identity) kendini bizim IoT servisine register edememesi gerekir! Bir cihaz(nesne) simülasyonu hazırlayacağız. Mesaj gönderen ve alan bir console application hazırlayacağız. IoT Hub queue’suna gönderilen mesajları okuyarak ilk incelemeyi tamamlayacağız.

 

Azure Ibiza Portal’dan ilerliyoruz.

 

IoT Hub feature’ını seçerek devam ediyoruz.

 

 

Daha önce resource group oluşturmadıysanız bu aşamada yaratabilirsiniz. IoT Hub oluşturulduktan sonra ilk etapta iki bilgiye ihtiyacımız var.

IoT Hub hostname 

IoT Hub access connection string