Hermetry, cihazlara yazılımı havadan (OTA) iletir. Bir paket yüklersiniz, onu atarsınız ve her cihaz paketi kendisi indirir, doğrular ve kurar; ilerlemesini de adım adım bildirir. Hermetry yazılımı hiçbir zaman imzalamaz: imzalama sürüm hattınızda yapılır ve Hermetry yalnızca genel anahtarlarınızı saklar.
IoT menüsünde Firmware bölümünü açın (“Yazılım imajlarını yükleyin, bunları cihazlara atayın ve her güncellemeyi takip edin.”).
İzinler
| İşlem | Varsayılan rol |
|---|---|
| Paketleri, atamaları ve cihaz güncelleme durumlarını görüntüleme | Kullanıcı |
| Paketleri yükleme, geri çekme, iptal etme ve silme | Yönetici |
| Yazılım atama, OTA ayarlarını değiştirme, güncellemeleri yeniden deneme | Yönetici |
| İmzalama genel anahtarlarını kaydetme ve iptal etme | Sahip |
1. Profil için güncellemeleri açın
Yeni bir profilde güncellemeler kapalıdır. Cihazları güncelleme ilerlemesini bildirmeye başladığında açın. Profilin Firmware sekmesini (Firmware updates) açın:
| Ayar | Varsayılan | Aralık |
|---|---|---|
| Allow firmware updates for this profile | Kapalı | — |
| Allow unsigned images | Kapalı | “Yalnızca test cihazları için.” |
| Allow updates over LTE (mobile data) | Kapalı | Bir cihazın kendi ayarı olabilir. |
| Download may take (minutes) | 60 | 5 ila 1.440 |
| Installing may take (minutes) | 20 | 2 ila 240 |
| Tries per update | 3 | 1 ila 10 |
Bu sekmede ayrıca Assigned to this profile listesi ve bir Assign firmware düğmesi bulunur.
2. Bir imzalama anahtarı kaydedin
- Firmware bölümünde Signing keys seçeneğini açın (“Yazılımınızın imzalandığı genel anahtarlar. Yüklenen imajlar bunlara göre denetlenir. Özel anahtarlar buraya hiçbir zaman gelmez.”).
- Add key seçeneğini seçin, bir Name verin, Kind türünü seçin ve Public key alanına genel anahtarı yapıştırın.
İki imza türü desteklenir: imaj için üretilmiş ayrık bir Ed25519 imza dosyası (.sig), bu durumda tüm genel anahtar dosyasını yapıştırırsınız; bir de cihazın güvenli önyükleme (secure boot) yöntemiyle imajın içine konmuş imza, bu durumda 64 karakterlik anahtar özetini yapıştırırsınız. Anahtar ekleyebilir veya iptal edebilir yalnızca sahipler.
Uyarı
Bir anahtar için Revoke işlemi, o anahtarla imzalanmış her paketi iptal eder ve kurulumu henüz başlamamış güncellemeleri durdurur.
3. Bir paket yükleyin
Upload firmware seçeneğini seçin ve şunları doldurun:
| Alan | Kurallar |
|---|---|
| Type | Firmware veya Software. |
| Name | Yalnızca harf, rakam ve . _ + - karakterleri. Cihazın beklediği adla (firmware title) eşleşmelidir. |
| Version | 1 ila 64 harf, rakam veya . _ + ~ - karakteri, örneğin 24.10.0-r1234. Bir ad ve sürüm çifti yalnızca bir kez kullanılır; form şimdiye kadarki en yeni sürümü gösterir. |
| Firmware image | Cihaza kuracağınız .bin veya .img dosyası. |
| Signed with | Anahtar türü veya Not signed (yalnızca imzasız imajlara izin veren profiller bunu kabul edebilir). |
| Signature file (.sig) | Ayrık imzalar içindir. Güvenli önyüklemeli imajlarda imza imajın içindedir. |
| Hardware models | İsteğe bağlı, virgülle ayrılmış: yalnızca bunlardan birini bildiren cihazlar imajı alır. |
| Lowest version it can update from | İsteğe bağlı: daha eski sürümdeki cihazlar dışarıda bırakılır. |
| Only for devices of this profile | İmaj her profile uyduğunda Any profile seçili kalsın. |
| Release notes | İsteğe bağlı. |
Tarayıcınız dosya yüklenirken dosyanın SHA-256 değerini hesaplar (“Bunu derlemenizin verdiği değerle karşılaştırın.”). Sunucu SHA-256 değerini yeniden denetler, imzayı kayıtlı anahtarlarınıza göre doğrular ve dosyayı virüs taramasından geçirir. Paket tarama temiz çıkana kadar Being checked durumundadır, sonra Ready olur; başarısız olan dosya Rejected olur ve silinir.
4. Atayın
Paketin sayfasında Assign seçeneğini seçin ya da bir profilin veya cihazın Firmware sekmesini kullanın. Send to altında şunlardan birini seçin:
| Seçim | Kapsam |
|---|---|
| Every device of a profile | “Profile sonradan eklenen cihazlar da alır.” |
| Some devices | “Sabit bir liste: sonradan eklenen cihazlar dahil edilmez.” |
| One device | Yalnızca o cihaz. |
En özel atama geçerli olur: cihaz ataması cihaz listesine, cihaz listesi profil atamasına üstündür. Check seçeneğini seçerek What happens bölümünü görün: kaç cihazın kapsandığını, kaçının bu sürümü zaten çalıştırdığını, kaçının çevrimdışı olduğunu (çevrimiçi olduklarında güncellenirler) ve hangilerinin nedenle birlikte almayacağını görürsünüz (başka bir donanım modeli, profil için güncellemelerin kapalı olması, başka bir profil için hazırlanmış olması, imzasız imajın yasak olması, mevcut sürümün çok eski veya henüz bilinmiyor olması). Ardından Assign seçeneğini seçip onaylayın.
Bir profil veya cihaz listesi için Send in waves seçeneğini açabilirsiniz. Bkz. Rolling out firmware in waves.
Cihazın aldıkları
Hermetry, tek bir mesajda şu paylaşılan öznitelikleri yazar:
| Anahtar | Örnek |
|---|---|
fw_title | boiler-fw |
fw_version | 26.11.0 |
fw_size | 14680064 |
fw_checksum | küçük harfli onaltılık |
fw_checksum_algorithm | SHA256 |
fw_url | kısa ömürlü bir HTTPS indirme adresi |
fw_sig | varsa ayrık imza |
fw_allow_metered | cihazın kotalı bir bağlantıdan indirip indiremeyeceği |
fw_url15 dakika geçerlidir ve her teslimde ile her öznitelik isteğinde yeniden üretilir. Süresi dolduysa cihazfw_urldeğerini yeniden ister ve HTTPRangeisteğiyle kaldığı yerden devam eder.- Yazılım hiçbir zaman düz MQTT üzerinden sunulmaz.
- Bir atamayı kaldırmak anahtarları siler.
Cihazın bildirdikleri
| İstemci özniteliği | Değerler |
|---|---|
fw_state | DOWNLOADING, DOWNLOADED, VERIFIED, UPDATING, UPDATED, FAILED |
fw_error | bir hata kodu, yalnızca FAILED ile |
fw_progress | DOWNLOADING sırasında 0 ila 100 |
fw_wait | cihaz güncellemeyi tutarken metered, quota_exhausted veya approval |
current_fw_title, current_fw_version | şu an çalışan sürüm; her bağlantıdan sonra gönderilir |
Cihaz, imza doğrulanmayan bir imajı, sağlama toplamı eşleşse bile reddetmelidir. Yeniden başlatmadan sonra current_fw_version bildirir; yeni çalışan sürüm olmadan gelen UPDATED tek başına kabul edilmez. Eski sürüm geri gelirse Hermetry güncellemeyi geri alınmış olarak işaretler.
Güncelleme durumları
| Durum | Anlamı |
|---|---|
| Queued | Atandı; cihaz çevrimiçi olduğunda gönderilir. |
| Sent to the device | Cihaza bildirildi ve indirmeye başlaması gerekiyor. |
| Downloading, Downloaded, Checked, Installing | Cihazın bildirdiği ilerleme. |
| Updated | Cihaz yeni sürümü çalıştırıyor. |
| Waiting | Cihaz güncellemeyi tutuyor: kotalı bir bağlantıda, mobil veri kalmadığında veya cihazın kendisinde onay beklendiğinde. Hata değildir. |
| Failed | Cihaz işlemi tamamlayamadı. |
| No answer in time | Cihaz, indirme veya kurulum süresi içinde yanıt vermeyi kesti. |
| Went back to the old version | Yeni sürüm düzgün başlamadı. |
| Not for this device | Paket bu cihaza uymuyor. |
| Cancelled | Kurulmadan önce durduruldu. |
Güncellemeleri takip edin
- Paket sayfasında Where it is assigned, Devices altında State, Progress, Tries ve Problem sütunları ile başarısız, zaman aşımına uğramış veya eski sürüme dönmüş cihazlar için Try again seçeneği görünür.
- Cihazın Firmware sekmesinde çalıştırdığı sürüm (Runs), Update, History ve bu cihaz için Updates over LTE (Same as its profile, Allowed for this device, Not allowed for this device) görünür.
- Webhook olayları:
ota.update.initiated,ota.update.succeeded,ota.update.failedve cihaz listesi dağıtımları içinota.rollout.*.
Geri çekme, iptal etme, silme
| İşlem | Etkisi |
|---|---|
| Retire | “Kayıtta kalır ve mevcut güncellemeler devam eder, ancak yeni atamalar için artık sunulmaz.” |
| Revoke | “İmajın kurulmaması gerektiğinde bunu kullanın. Kurulumu henüz başlamamış güncellemeler durdurulur. Onu zaten kurmuş cihazlar bunu korur.” |
| Delete | Dosyayı ve ayrıntılarını siler. Atanmışken veya güncelleme geçmişi varken reddedilir: bunun yerine geri çekin. |

