Şebeke üzerinden ürün yazılımı güncellemesi için hazır bulut hizmetleri veya çerçeveleri var mı?


9

Bir web sunucusuyla etkileşimde olan kaynak kısıtlı aygıtın (işletim sistemi yazılımsız 8 bit MCU) prototipine sahibim. Cihaz ürün yazılımımı web'den güncellemek için herhangi bir çözüm, çerçeve veya bulut hizmeti olduğunu merak ediyorum. Araştırmamdan Microsoft IoT Hub var, ancak korkarım bu tür kaynak kısıtlı cihazlar için uygun değil. Bulduğum bir çözüm daha var - mbed Cloud portalı, ancak nasıl çalıştığından emin değilim. Herkes bana herhangi bir tavsiye yoluyla yardımcı olabilir, belki gömülü cihazlar için güvenli ve sağlam bir şekilde firmware yükseltmesini uygulamak için bazı en iyi uygulamalar var mı?


Şu an için en az böyle bir hizmet yok. Genel olarak bir tane uygulamak çok sıkıcıdır, belirli bir cihaz türünü hedefleyen servis uygulanabilir.
bravokeyl

Mender.io var , bu da neredeyse istediğiniz. Ama inanıyorum ki, "üst düzey" gömülü aygıtları ve 8 bit düğümleri hedefliyor.
mat

Yanıtlar:


4

Bilinmeyen bir firwmare için 'kutudan çıkmış' bir sistem bilmediğim için sadece bu kısmı cevaplayacağım.

gömülü aygıtlar için kablosuz olarak bellenim yükseltmesini uygulamak için bazı en iyi uygulamalar olabilir mi?

Uygulama açısından, şu şekilde yapacağım:

1) Çok az bir önyükleme yükleyicisine sahip olun, mümkün olduğunca aptalca bir şey, sadece aşağıdaki kısıtlamalarla ürün yazılımını yüklemekle sorumludur:

  • Son önyükleme başarısını / başarısızlığını kaydetme yeteneği (arıza durumunda çalışan bir sürüme geri dönme)
  • Felaket arızası durumunda yeni bir bellenimi kabul etmek için bir çeşit acil durum süreci (isteğe bağlı, "tuğlalı" bir cihaza izin veriliyorsa önlenebilir)

2) Gelecekteki evrim ve ürün yazılımı büyümesini idare etmek için depolama alanınızı makul boyutta iki "önyükleme bankası" olacak şekilde ayarlayın.

3) Yanmadan önce doğru olduğundan emin olmak için indirdikten sonra ürün yazılımı görüntüsünü kontrol edin, bir yerde eksik bir bit için önyükleme başarısız olmayacağından emin olmak için yanma sonrasında hedef bankasını kontrol edin.

Göz ardı edilen nokta genellikle, kaydedilmeden önce ve sonra indirilen görüntünün sağlama toplamıdır, bu da aygıtta yazılı bozuk sisteme neden olur. İki banka kullanmak ve dönüşümlü olarak güncelleme işlemi genellikle kolaylaştırır.


5

mbed bulut, tam ürün yazılımı güncelleme işlevselliği sunar, ancak işletim sistemi olmadan çalıştırıyorsanız platformunuza taşıma konusunda sorun yaşayacağınızı düşünüyorum. Kaynağın bugün açık olduğunu sanmıyorum, bu yüzden referans için bile kullanamazsınız. Ayrıca şu anda erişim için kriterlerin neler olduğundan da emin değilim.

İhtiyacınız olan özellikleri düşünmeniz gerekiyor - bu, aşamalı ürün yazılımı ruloları yapabilmeniz gereken büyük ölçekli bir dağıtım mı, ürün yazılımını imzalamayı önemsiyor musunuz veya platformunuz fiziksel erişimi olan herkese açık mı? Tuğlalı bir cihazı JTAG olmadan kurtarmayı ne kadar önemsiyorsunuz?

Gerçekçi olarak, OTA güncellemeleri gibi özellikler, işletim maliyetlerini hesaba kattığınızda muhtemelen işletim sisteminizi ve cihaz seçiminizi yönlendiren bir şeydir.


5

Over The Air kısaltması olan OTA'ya göz atın. Arduino'nun bu özelliği var .

Arduino IDE, Web Tarayıcısı veya HTTP Sunucusu ile güncelleme yapabilirsiniz.

Arduino IDE seçeneği öncelikle yazılım geliştirme aşaması için tasarlanmıştır. Diğer iki seçenek, dağıtımdan sonra modüle bir web tarayıcısı ile manuel olarak veya bir http sunucusu kullanarak uygulama güncellemelerini sağlamak için daha yararlı olacaktır.


Bu kütüphane ve genel olarak Arduino ile ilgili en tatsız şeylerden biri güvenlik eksikliğidir. Bu çözüm, DIY veya okul projeleri için uygundur, ancak ticari cihazlar için uygun değildir. Sevmediğim özel bir şey, herhangi bir kimlik doğrulamasının olmamasıdır: doğru MD5 özetine sahip ürün yazılımını kötü amaçlı yazılımlarla değiştirmekten korunmaz.
Vadimchik


3

Daha ilginç bir platform, keşfettiğim DeviceDrive . İşte işlerin nasıl çalıştığını açıklayan video . OTA sistemleri oldukça esnek görünüyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.