Aracılığıyla paylaş


Cihaz özellikleri ve iletişim

Cihaz özellikleri, hizmet-UART iletişimi için cihaza özgü işletim sistemi ilkelerini belirler. Konak bilgisayar ve bağlı bir cihaz arasındaki tüm iletişim, hizmet UART üzerinden gerçekleştirilir. Konak bilgisayar, cihazda işlemleri gerçekleştirmek için bağlı bir cihazla iletişim kurar. Üreticiler, yazılım geliştiricileri ve saha servis teknisyenleri, cihazın kötü amaçlı kullanıcılara karşı korunmasını sağlarken ihtiyaç duydukları işlemler için hizmet-UART iletişiminin kilidini açmak için yetenekleri kullanır.

Cihaz üreticileri ve OEM'ler, cihaza fiziksel erişimi olan kişilerin yetkisiz kullanımını önlemek için hizmet-UART iletişimini kilitleyebilir. Bu tür bir iletişimin kilitlenmesi , cihaz sonlandırma işleminin bir parçasıdır. Son halini aldıktan sonra, kullanıcı cihazın kimliğini alabilir ancak başka bir şey alamaz; diğer tüm işlemler için bir cihaz özelliği gerekir. Sonlandırma işlemi genellikle üretici cihazı bir müşteri sitesine göndermeden önce fabrika katında gerçekleştirilir.

Cihaz yetenek dosyası, yalnızca tek bir cihaz için sıfır veya daha fazla özellik içerir. Yetenek dosyası, amaçlandığı cihaz olmayan bir cihaza uygulandığında çalışmaz. Bir cihaz, her biri bu konunun ilerleyen bölümlerinde açıklanan aşağıdaki özelliklere sahip olabilir:

Not

Cihaz özellikleri uygulama özellikleriyle ilgili değildir. Uygulama özellikleri, bir uygulamanın çalışma zamanında gerektirdiği kaynakları belirtir. Uygulama özellikleri hakkında daha fazla bilgi için uygulama bildirimine bakın.

Cihaz özelliklerini veya üretim durumunu belirleme

Ekli cihazda depolanan yetenek yapılandırmasını belirlemek için azsphere device capability show-attached komutunu kullanın. komutu, bir yetenek dosyası kullanılarak yapılandırılan özellikleri ve panolarda varsayılan olarak sunulan özelliklerin tümünü değil, bazılarını görüntüler. Cihaz özelliği gerektiren azsphere komutlarının tam listesi için CLI'ya genel bakış içindeki tabloya bakın.

Cihaz özellikleri, cihazın üretim durumundan etkilenebilir. Cihazın üretim durumunu belirlemek için azsphere device manufacturing-state show komutunu kullanın. Komut cihazın DeviceComplete üretim durumunda olduğunu gösterirse veya döndürürse Device access is forbidden, service-UART iletişimi kilitlenir ve bilgisayarınızdan cihazla iletişim kurmak için bir cihaz özelliğine ihtiyacınız vardır. Bir cihaz DeviceComplete üretim durumundayken, üretim işlemlerine yalnızca cihazın kilidi bir yetenek dosyası aracılığıyla açıldığında izin verilir.

Not

Bir cihazı bir müşteri sitesine yüklerseniz, yüklemeden önce cihazın DeviceComplete üretim durumuna son haline getirildiğinden emin olmanız gerekir. Bkz . Azure Sphere cihazını sonlandırma.

DeviceComplete üretim durumu normalde geliştirme seti için uygun değildir. Üretim mühendisleri tarafından geliştirilen üretim operasyonlarının testini etkinleştirmek için bir geliştirme seti Boş üretim durumunda veya Module1Complete üretim durumunda olmalıdır.

Cihazların özellikleri nasıl edindiği

Cihazlar üç yoldan biriyle özellik edinebilir:

  • Varsayılan olarak açılır. Boş üretim durumunda veya Module1Complete üretim durumundaki bir cihazın varsayılan olarak açık bazı özellikleri vardır. Bu, hala üretim aşamasındaki cihazların buluta bağlı olması veya kiracılara talep edilmesi gerekmemesi için yapılır. Bu işlem, özelliklerin kilidini açmak için cihaz yetenek dosyalarını kullanma işleminin gerektirdiği şekilde gerçekleştirilir. Üretim ilerledikçe, fabrika katındaki görevlerde açıklandığı gibi üreticiler cihazın üretim durumunu değiştirerek artık uygun olmayan özellikleri kilitleyebilir.

  • Cihaza dışarıdan yüklendi. Bir cihaz, konak bilgisayardan cihaza dışarıdan yüklenmiş bir yetenek dosyasına sahip olabilir. Yetenek dosyasını almak için azsphere device capability download komutunu kullanın. Dışarıdan yüklenen bu özellik kümesi, yeni bir yetenek dosyası (yetenek içermeyen boş bir dosya olabilir) dışarıdan yüklenene kadar devam eder. Uygulama geliştirme sırasında, örneğin azsphere cihazı enable-development komutu çalıştırıldığında bu normal bir durumdur. Uygulama geliştirme, cihazın, geliştiricinin hata ayıklama gibi işlemleri gerçekleştirebileceği ve uygulamanın dışarıdan yüklenen sürümlerini kolayca silip dağıtabileceği kilitsiz bir duruma getirilerek desteklenir.

  • Her işlemle cihaza geçirilir. Bir cihazda yerel olarak seçilen özellikler her işlem için uygulanabilir. azsphere device capability select komutu, konak bilgisayarda yerel olarak depolanan bir yetenek dosyasını seçer. Bu komut çalıştırıldıktan sonra, seçilen özellik sonraki her komutla bilgisayardan cihaza geçirilir. Bu, özellikler cihaz yerine bilgisayarda depolandığından, alandaki cihazlar için özellikleri kullanmanın önerilen yoludur. Bir alan mühendisinin özelliği kaldırmayı unutarak cihazı yanlışlıkla güvenli olmayan bir durumda bırakma riski önlenir.

Bir yetenek dosyasının bir cihaza dışarıdan yüklenebilmesi veya bir işlemle bir cihaza geçirilebilmesi için, üretim sonrasında cihazda değişiklik yapma başlığı altında açıklandığı gibi Azure Sphere Güvenlik Hizmeti'nden (AS3) indirilmesi gerekir. İndirilen özellik dosyaları cihaza özeldir; bir yetenek dosyası indirildikten sonra, ilişkili cihazda tekrar tekrar kullanılabilir.

enableRfTestMode özelliği

Cihazın üretim durumu Boş olduğunda enableRfTestMode özelliği varsayılan olarak cihazda bulunur. Bu özellik, e-sigortaların programlamasını ve RF işleminin yapılandırılmasını ve testini sağlar. Kiracı sahiplerinin bu özelliği bir konak bilgisayara indirmesi mümkün değildir. Bu özelliğe ihtiyacınız varsa Microsoft temsilcinize başvurun.

Cihazın üretim durumu Boş olduğunda azsphere device capability show-attached komutu enableRfTestMode özelliğini görüntüler.

appDevelopment özelliği

appDevelopment cihaz özelliği service-UART iletişiminin kilidini açar ve cihazın güvendiği imzalama türünü değiştirir. Uygulama geliştirme sırasında kullanılmak üzere tasarlanmıştır.

Varsayılan olarak, Azure Sphere cihazları Azure Sphere Güvenlik Hizmeti tarafından indirilen üretim imzalı görüntü paketlerine güvenir, ancak SDK imzalı görüntü paketlerine güvenmez. Bu nedenle, sdk ile bir görüntü paketi oluşturamaz ve cihazda appDevelopment özelliği olmadığı sürece hata ayıklama için azure Sphere cihazınıza dışarıdan yükleyemezsiniz. appDevelopment özelliği, cihazın görüntü paketine güvenmesine neden olur ve bir uygulamayı başlatmanıza, durdurmanıza, hata ayıklamanıza veya cihazdan kaldırmanıza olanak tanır.

Özetle, appDevelopment özelliği aşağıdaki işlemlere izin vermek için service-UART iletişiminin kilidini açar:

  • Visual Studio, Visual Studio Code, CLI veya azsphere image-package komutuyla oluşturulmuş bir görüntü paketini dışarıdan yükleme.

  • Görüntü paketinin nasıl imzalandığından bağımsız olarak Azure Sphere cihazından görüntü paketini başlatma, durdurma, hata ayıklama veya kaldırma.

appDevelopment özelliğini eklemek için azsphere device enable-development komutunu kullanın. Bu komut, bağlı cihaz için appDevelopment özelliğini indirir, özelliği cihaza dışarıdan yükler ve cihazı varsayılan Geliştirme cihaz grubuna taşır. Farklı bir cihaz grubu belirtmek için parametresini --device-group ekleyin.

Azsphere cihazı enable-development kullandığınızda, siz açıkça kilitlenene kadar cihazın kilidi açık kalır. Cihazı yeniden kilitlemek için azsphere device enable-cloud-test komutunu kullanın. Bu komut, sağlanan komut satırı parametrelerine bağlı olarak özelliği kaldırır ve cihaz grubunu değiştirir.

azsphere cihazı enable-development ve azsphere device enable-cloud-test komutları, sırasıyla bir cihazı geliştirme ve hata ayıklamaya veya bulut dağıtımlarına hazırlayan bir dizi eylem gerçekleştirir. Bu komutları kullanmak yerine azsphere device capabilitiey komutunu kullanarak bir cihaz özelliğini indirebilir veya güncelleştirebilir ya da bir cihazın şu anda hangi özelliklere sahip olduğunu öğrenebilirsiniz.

fieldServicing özelliği

FieldServicing özelliği, cihazın üretim durumu Boş veya Module1Complete olduğunda varsayılan olarak bir cihazda bulunur. Bir cihaz DeviceComplete üretim durumundayken fieldServicing özelliği dışarıdan yüklenebilir, ancak genellikle bir bakım oturumu sırasında her işlemle cihaza geçirilir. Bakım oturumu başlatma hakkında ayrıntılı bilgi için bkz. Üretimden sonra cihazda değişiklik yapma.

Cihazın üretim durumundan bağımsız olarak fieldServicing özelliği, aşağıdaki işlemlere izin vermek için service-UART iletişiminin kilidini açar:

  • Üretim imzalı görüntü paketini dışarıdan yükleme.
  • Geçici olarak işaretlenmiş üretim imzalı görüntü paketini başlatma, durdurma ve silme.
  • Wi-Fi yapılandırması gibi rutin bakım görevlerini gerçekleştirme.

Cihazın üretim durumu Boş veya Module1Complete olduğunda fieldServicing özelliği varsayılan olarak cihazda mevcut olsa da, azsphere cihaz özelliği show-attached komutu fieldServicing özelliğini görüntülemez.

Güncel güvenilen anahtar deposuna bağımlılık

AS3 tarafından bir yetenek dosyası oluşturulduğunda, geçerli görüntü imzalama anahtarı kullanılarak imzalanır. Her cihazın, bu anahtarların tutulduğu işletim sisteminin bir parçası olarak güvenilir bir anahtar deposu vardır. Ancak, cihaz İnternet'e bağlı değilse, cihazın güvenilen anahtar deposu güncel değilse, bir özelliğin hedeflediği cihaz tarafından güvenilmemesi mümkündür.

Bunu düzeltmek için bir yöntem, cihazın güvenilir anahtar depoyu güncelleştirmesi için İnternet'e bağlanmasına izin vermektir. Cihazınızı İnternet'e bağlayın ve bir işletim sistemi güncelleştirmesini tetiklemek için Sıfırla'ya basın.

Bu mümkün değilse, güncelleştirilmiş bir güvenilen anahtar deposu dışarıdan yükleyebilirsiniz. Bunu yapmak için lisans koşullarını kabul edin, ardından en son işletim sistemi kurtarma görüntülerini indirin ve bu zip dosyasından yalnızca "trusted-keystore.bin" dosyasını ayıklayın. Ardından azsphere device sideload deploy --image-package <path-to-trustedkeystore.bin-file> komutunu kullanarak güvenilen anahtar deposunu dışarıdan yükleyebilirsiniz ve bu özellik artık cihaz tarafından güvenilir olmalıdır.

Üçüncü bir yöntem, Azure Sphere işletim sistemini en son güvenilen anahtar deposu da dahil olmak üzere en son sürüme güncelleştirmek için sistem yazılımını kurtarma yöntemidir.