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​​