OTA Güncelleme: Cihazı Geri Toplamadan Yazılım Değiştirmek

Sahaya çıkmış bir cihazda küçük bir yazılım düzeltmesi gerekiyor. Cihaz çalışıyor, müşteri memnun, düzeltme yarım günlük iş. Sorun şu: o yazılımı cihaza nasıl ulaştıracaksınız?

OTA bir özellik değil, bir mimari kararı

OTA (Over-The-Air) güncelleme, cihazın yazılımının uzaktan değiştirilebilmesi demek. Kabloyla, programlayıcıyla, teknisyenle değil; cihazın kendi bağlantısı üzerinden.

Ürün tanıtımlarında bir madde gibi yazılıyor. Gerçekte ise ürünün en erken verilmesi gereken kararlarından biri, çünkü donanımı da yazılımı da etkiliyor.

Karar sonradan verilirse iki şeyden biri oluyor. Ya donanım buna hazır olmadığı için mümkün olmuyor ya da mümkün oluyor ama üstünkörü kuruluyor ve ilk başarısız güncellemede cihaz açılmıyor.

Kararın donanıma dokunduğu yer

OTA sadece bir yazılım işi olsa herkes yapardı. Donanım tarafında istediği şeyler var.

Bir bağlantı. Cihaz güncellemeyi bir yerden alacak. Kablosuz, kablolu ya da bir ağ geçidi üzerinden. Bağlantısı olmayan bir cihazda OTA konuşulamıyor.

Yeterli saklama alanı. Yeni yazılım indirilirken eskisinin durması gerekiyor. Aksi halde indirme kesildiğinde cihazda çalışan bir yazılım kalmıyor.

Güç kesintisine dayanıklılık. Güncelleme sırasında elektrik giderse cihaz ne yapacak. Bu sorunun cevabı yazılımda değil, ürünün tasarımında.

Geri dönüş yolu. Yeni yazılım açılmazsa cihazın eskisine dönebilmesi gerekiyor. Bu yetenek sonradan eklenemiyor.

Dördü de karar aşamasında ucuz, kart bastıktan sonra pahalı. Şema tasarımından PCB’ye geçişte konuşulması gereken başlıklardan biri de bu.

Neden bu kadar önemli: geri toplamanın gerçek maliyeti

Güncellenemeyen bir cihazda her yazılım düzeltmesi fiziksel bir işe dönüşüyor.

Cihaz nerede? Kaç adet var? Kimin sahasında? Teknisyen gidecek mi, cihaz gelecek mi? Giderken hangi ekipmanı götürecek? Müşterinin üretimi duracak mı?

Tek bir cihazda bu sorular önemsiz. Yüz cihazda takvim ve maliyet meselesi. Bin cihazda ürünün ticari mantığını değiştiren bir şey.

Bu yüzden OTA kararı bir konfor kararı değil. Ürünün ölçeklenip ölçeklenemeyeceğine dair bir karar. Sahada arıza ve geri dönüş tarafını ayrıca yazdık: saha arızası ve geri dönüş.

Sürüm bilmiyorsanız güncelleme de yapamıyorsunuz

OTA’nın az konuşulan ikinci yarısı kayıt tarafı.

Hangi cihazda hangi sürüm var. Hangi cihaz güncellendi, hangisi güncellenmedi, hangisinde güncelleme başladı ve yarıda kaldı.

Bu bilgi tutulmuyorsa güncelleme göndermek işe yaramıyor; çünkü sonucun ne olduğu bilinmiyor. Sahada üç farklı sürüm dolaşırken gelen arıza kaydı da okunamaz hale geliyor: müşteri bir şikâyet bildiriyor, o şikâyetin hangi sürümle ilgili olduğu belli olmuyor.

Kayıt tarafı olmadan OTA, tek seferlik bir müdahaleye benziyor. Kayıt tarafı olduğunda ürün yönetilebilir hale geliyor.

Güncelleme sırasında ne ters gidebilir

Sahada en çok karşılaşılan üç durum var ve üçü de öngörülebilir.

Bağlantı kopması. İndirme yarıda kalıyor. Cihaz bu durumda ne yapacağını biliyorsa sorun yok, bilmiyorsa cihaz kullanılamaz hale geliyor.

Yeni yazılımın açılmaması. Test edilmiş bir yazılımın sahadaki farklı bir donanım revizyonunda açılmaması mümkün. Geri dönüş yolu yoksa cihaz kapalı kalıyor.

Yanlış cihaza yanlış yazılım. Aynı üründen iki donanım revizyonu varsa ve güncelleme hepsine gönderiliyorsa, bir grup cihaz açılmıyor.

Üçünün de panzehiri aynı: güncellemenin başarısız olabileceğini kabul eden bir tasarım. Başarılı senaryoya göre kurulmuş bir OTA, ilk aksaklıkta sahayı kilitliyor.

Bir soğuk zincir takip cihazı üreticisinde

Not: Aşağıdaki örnek gerçek bir müşteriye ait değildir; sahada sık karşılaşılan durumlardan oluşturulmuş bir senaryodur.

Soğutmalı araçlarda sıcaklık kaydı tutan bir cihaz üreten firma. Cihazlar müşteri filolarında, farklı şehirlerde.

İlk sürümde OTA yoktu. Gerekmediği düşünülmüştü çünkü yazılım basitti.

İlk yıl iki düzeltme çıktı. Birincisi küçüktü: kayıt aralığıyla ilgili bir ayar. İkincisi daha önemliydi, belirli bir durumda cihaz kaydı eksik tutuyordu.

İkinci düzeltme için 60 civarında araca ulaşmak gerekti. Araçlar sahadaydı, hepsi farklı güzergâhlarda. İşlem üç aya yayıldı; bazı araçlara ancak periyodik bakıma girdiğinde ulaşılabildi.

Bu süre boyunca sahada iki farklı yazılım sürümü dolaştı. Gelen şikâyetlerin hangi sürüme ait olduğu bilinmediği için her kayıt tek tek incelendi.

İkinci nesil cihazda OTA baştan planlandı. Karar, yazılım tarafında değil donanım tarafında verildi: bağlantı ve saklama alanı buna göre seçildi, geri dönüş yolu tasarıma girdi ve hangi cihazda hangi sürümün olduğu kayıt altına alındı.

Sonraki düzeltme, sahaya çıkmadan tamamlandı.

Karar öncesi sorulacaklar

OTA gerekli mi sorusunun cevabı her üründe evet değil. Ama cevabı bilinçli verilmeli.

Cihaz sahada kaç adet olacak ve nereye dağılacak.

Cihaza fiziksel erişim ne kadar zor, kim erişiyor.

Yazılımın ömrü boyunca kaç kez değişmesi bekleniyor.

Cihazın zaten bir bağlantısı var mı, yoksa OTA için mi eklenecek: IoT çözümleri.

Güncelleme başarısız olursa cihaz ne yapacak.

Güncellemenin yetkisiz biri tarafından gönderilmesi nasıl engellenecek: gömülü sistemde güvenlik.

Son soru en çok atlanan soru. Uzaktan yazılım yükleyebilen bir kanal, kötü niyetli birinin de kullanabileceği bir kanal.

Codigno tarafında

Gömülü yazılım ve firmware tarafında güncellenebilirlik, ürünün başında karara bağlanan bir başlık olarak ele alınıyor; yazılım bittikten sonra eklenen bir özellik olarak değil.

Gömülü yazılımın ne olduğu ve donanımla ilişkisi için: gömülü yazılım nedir.

Kendi ürünümüz Codigno Tag Pro da aynı soruların içinden geçti; saha cihazında yazılım sürümünün yönetilebilir olması, ürünün tasarımıyla birlikte konuşuldu.

Sık sorulan sorular

Her ürüne OTA gerekir mi?

Gerekmiyor. Tek noktada duran, kolay erişilen ve yazılımı nadiren değişen bir cihazda maliyeti karşılığını vermeyebiliyor. Karar, cihaz sayısı ve erişim zorluğuna bakılarak veriliyor.

OTA sonradan eklenebilir mi?

Donanım buna hazırsa evet, değilse hayır. Bağlantı, saklama alanı ve geri dönüş yolu donanım kararlarıdır; yazılımla telafi edilemiyor.

Güncelleme sırasında elektrik giderse ne oluyor?

Tasarım bunu hesaba katmışsa cihaz eski yazılımıyla açılıyor. Katmamışsa cihaz kullanılamaz hale gelebiliyor ve sahaya gitmek gerekiyor.

Kaç sürüm sahada aynı anda dolaşabilir?

Pratikte birden fazla dolaşıyor, çünkü tüm cihazlar aynı anda güncellenmiyor. Önemli olan hangi cihazda hangi sürümün olduğunun kayıtlı olması.

OTA güvenlik riski yaratır mı?

Yaratabiliyor. Uzaktan yazılım yüklenebilen her kanal korunması gereken bir kanal. Bu yüzden güncelleme kararıyla güvenlik kararı birlikte veriliyor.

Güncelleme müşterinin onayına bağlı olmalı mı?

Çoğu endüstriyel üründe evet. Cihaz üretim hattında çalışıyorsa, güncellemenin ne zaman uygulanacağı müşterinin operasyonuna göre planlanıyor.

Sahadaki cihazınızın yazılımını değiştirmek için yola çıkmanız mı gerekiyor? Cihaz sayısını, dağılımını ve bağlantı durumunu paylaşın; güncellenebilirliğin sizin ürününüzde neyi değiştireceğini birlikte değerlendirelim.

Facebook
Twitter
Email
Print