giriiş
Nesnelerin İnterneti (IoT) cihazları filonuzu yönetmek için AWS IoT Core kullanıyorsanız yada kullanmayı planlıyorsanız ve kimliklerine ve kabiliyetlerine nazaran belirli bir aleti yada aygıt grubunu iyi mi arayacağınızı ve keşfedeceğinizi merak ediyorsanız, AWS IoT nesne türleri, aygıt keşfini kolaylaştırmak için tavsiye edilen yollardan biridir.
Bir “şey”, AWS IoT Core’daki IoT özellikli cihazlar şeklinde varlıkların mantıksal adıdır. Bir şeyi tedarik ederken, AWS IoT kayıt defterinde daha kolay tanımlama ve arama yapmak için aranabilir öznitelikler ekleyebilirsiniz.
Birisi niçin AWS IoT kayıt defterinden bir şeyler aramak istesin? Bu suali yanıtlamak için, bir Hizmet Olarak Aydınlatma sağlayıcısının (LaaS) yada müşterilerinin (self-servis portalları vasıtasıyla) kendi aydınlatma tesislerinden kaç tanesinin bulunduğunu belirlemesi ihtiyaç duyulan bağlı ışıkların kullanım örneğini ele alalım. belirli ürün tipi, model numarası, güç, parlaklık, renk ve üretim partisi.
AWS IoT Core, bir şeye yalnızca 3 aranabilir özellik eklemeyi kısıtlar ve ek özelliklere nazaran cihazları keşfetmeniz gerekiyorsa bu kafi olmayabilir. Bu blog gönderisinde, AWS IoT Core nesne türleri ile AWS IoT Device Management filo indekslemenin bir kombinasyonunu kullanarak bu zorluğun iyi mi azaltılacağını göstereceğiz.
Filo indeksleme ile filo yöneticileri aygıt filosunu düzenleyebilir, araştırabilir ve sorunlarını giderebilir. Bir grup aleti sorgulayabilir ve durum, bağlantı ve aygıt ihlalleri dahil olmak suretiyle değişik aygıt öznitelik kombinasyonlarına dayanan aygıt kayıtlarındaki istatistikleri toplayabilirler. Mesela, belirli bir konumda belirli bir modele ilişkin kaç tane ampulün şu anda bağlantısının kesildiği ve aygıt yazılımının eski sürümünü çalıştırdığı şeklinde detayları sorgulayabilirsiniz.
Önkoşullar
Bu blog yazısı, AWS IoT Core’un aygıt sağlama özelliği ve AWS IoT Device Management’ın filo indeksleme özelliği hakkında temel bir anlayış gerektirir.
izlenecek yol
Şimdi bir şeye aranamayan bir özniteliğin iyi mi ekleneceğini ve aranamayan öznitelikler kullanılırken bile arama için filo indekslemenin iyi mi kullanılacağını görelim.
‘MyFirstThing’ adlı bir şey sağlayalım ve ona aranabilir özellikler ekleyelim. Aşağıdaki anlık görüntüde görebileceğiniz şeklinde, yalnızca 3 aranabilir özellik ekleyebilirsiniz.
Bu şeye daha çok özellik eklemek için, o şeye bir ‘şey tipi’ ekleyebilirsiniz.
‘Şey tipi’, aynı şey tipiyle ilişkili tüm şeyler için ortak olan izahat ve yapılandırma bilgilerini saklamanıza olanak tanır. Bu, kayıt defterindeki şeylerin yönetimini basitleştirir. Mesela, her bir ampule ayrı ayrı nitelikler atamak yerine, ‘LightBulb’ adlı bir şey türü oluşturabilir ve bir ampulün seri numarası, parlaklık, güç ve daha fazlası şeklinde niteliklerini ilişkilendirebilirsiniz. Ek olarak, mevcud şeyin nesne tipini ‘LightBulb’ olarak değiştirirseniz, nesne tipinin özniteliklerini devralır ve ‘şey türü’nde tanımlanan özniteliklerin her biri için değerler belirleyebilirsiniz.
Bir şeye bir şey türü atamak isteğe bağlı bir etkinlik olsa da, kullanımı 47 ek ‘aranamayan nesne özniteliği’nden oluşan yeni bir bölümün kilidini açar. Bu ilişkilendirme ile, aşağıdaki anlık görüntüde vurgulanan toplam 50 özniteliğe artık erişebilirsiniz.
Bu gönderi için, üretici, seri numarası ve watt şeklinde aranabilir özniteliklere haiz ‘LightBulb’ tipi bir şey oluşturduk ve onu ‘MyFirstThing’e atadık. Aşağıdaki anlık görüntüde de görebileceğiniz şeklinde, aranamayan 3 özellik (renk, aygıt yazılımı türü, parlaklık) ekledik.
Şimdi, AWS CLI’den ‘list Things’ komutunu kullanarak bir şeyler aramaya çalışalım. Komutun ‘aranabilir’ özniteliklerle arama yaparak eşleşen ‘LightBulb_1’ öğesini döndürdüğünü görebiliriz.
aws iot list-things --attribute-name "wattage" --attribute-value '40'
{
"things": [
{
"thingName": "LightBulb_1",
"thingTypeName": "LightBulb",
"thingArn": "arn:aws:iot:ap-south-1:************:thing/LightBulb_1",
"attributes": {
"Color": "White",
"Firmware_Type_Version": "Smart_LED.1.0",
"Luminosity": "100",
"manufacturer": "xyz_corp",
"serialnumber": "123",
"wattage": "40"
},
"version": 5
}
]
}
Sadece, ‘aranamayan’ özniteliklerle arama yapıldığında, nesne türü vasıtasıyla eklenen öznitelikler aranamaz olarak sınıflandırıldığından komut hiçbir şey döndürmez.
aws iot list-things --attribute-name "Color" --attribute-value 'White'
{
"things": []
}
AWS IoT Device Management filo indeksleme hususi durumunun “aranamayan” nesne özniteliklerinde bile arama sorguları çalıştırmanıza olanak sağlaması bu aşamada destek sağlar.
AWS IoT Device Management filo indeksleme ile şu kaynaklardaki aygıt verilerinizi dizine ekleyebilir, arayabilir ve toplayabilirsiniz: AWS IoT kaydı, AWS IoT Device Shadow, AWS IoT bağlantısı ve AWS IoT Device Defender ihlalleri.
Filo İndeksleme özelliği, birincil kabiliyetleri olarak yukarıda belirtilenlere haiz olsa da, bu blog gönderisi için yalnızca nesne türü özelliklerine dayalı olarak indekslemeye ve aramaya odaklanacağız.
Şimdi AWS IoT konsolunu kullanarak filo endekslemeyi etkinleştirelim (aslına bakarsan etkinse bu adımı atlayın), sadece CLI’den de etkinleştirilebilir. Seçme Ayarlar sol panelden aşağı kaydırın ve Filo indeksleme ve seç Dizine eklemeyi yönet aşağıda gösterildiği şeklinde:
Filo indekslemeyi yönet ekranında, aşağıda gösterildiği şeklinde filo indekslemeyi etkinleştirmek için düğmeyi değiştirin ve öğesini seçin. Güncelleme Ayarları kaydetmek için ekranın alt kısmındaki
Önceki ekranda gösterilen öteki onay kutuları, bu gönderinin kapsamı haricinde kalan ve bundan dolayı burada seçilmeyen aygıt gölgelerine, bağlantı durumuna ve Aygıt Koruyucu ihlallerine dayalı dizin yapmaya ve arama sorgularına izin verir.
Filo indeksleme etkinleştirildikten sonrasında, Gelişmiş Arama Aşağıdaki anlık görüntüde gösterildiği şeklinde AWS IoT Manage Things konsolundan.
Arama kutusunu kullanarak, aranamayan nitelikleri arayın, mesela, ‘beyaz’ değerine haiz ‘renk’ ve eşleşen özellik değerine haiz şeylerin, aşağıda gösterildiği şeklinde ekranın alt kısmında arama sonucu olarak görüneceğini görmüş olacaksınız. .
AWS CLI’yi, aşağıda belirtildiği şeklinde, eşleşen özellik değerlerine haiz şey(ler)in döndürüldüğü, “beyaz” değerine haiz aranamayan “renk” özniteliğine haiz cihazlar için benzer filo dizini sorgusunu çalıştırmak için de kullanabilirsiniz.
aws iot search-index –query-string ‘attributes.color=White’
{
"things": [
{
"thingName": "LightBulb_1",
"thingId": "******************************",
"thingTypeName": "LightBulb",
"attributes": {
"Color": "White",
"Firmware_Type_Version": "Smart_LED.1.0",
"Luminosity": "100",
"manufacturer": "xyz_corp",
"serialnumber": "123",
"wattage": "40"
}
}
]
}
Bununla beraber, AWS IoT Device Management filo indekslemenin, yöneticilerin aygıt filolarını düzenlemesine, araştırmasına ve sorunlarını gidermesine olanak tanıyan yönetim amaçlı bulunduğunu ve yalnızca bu tür etkinlikler için kullanılması icap ettiğini unutmamak da önemlidir.
Filo indeksleme ve arama özellikleri, yürütülen dizin güncellemelerinin ve arama sorgularının sayısına nazaran ölçülür. Daha çok detay için fiyatlandırma sayfasına bakın ve limitlerine ve kotalarına buradan bakın.
Çözüm
Bu gönderide, AWS IoT nesne türleri ve AWS IoT Device Management filo indekslemeyi kullanarak aygıt keşfedilebilirliğini iyi mi geliştireceğinizi gösterdim. Unsur türleri, nesnelere ek nitelikler (aranamayan) eklemenizi sağlar ve bu nitelikler aranamaz olmasına karşın, aranamayan niteliklere nazaran arama yapmak için filo indeksleme hususi durumunu kullanarak bu cihazları kolayca filtreleyip bulmanızı sağlar geniş IoT aygıt filonuzdan.
Daha çok AWS IoT Core tahsil deposu için lütfen internet sayfasını ziyaret edin.
Source: aws.amazon.com