Gömülü Yazılım ve Firmware Geliştirme

Cihazınızı sahaya gitmeden güncelleyebileceğiniz şekilde yazıyoruz.

Bu Süreci Birlikte İnceleyelim

Gömülü Yazılım (Firmware)

Güncelleme için sahaya araç çıkıyor

Sahaya dağıtılmış cihazlarda en pahalı satır kodda değil, yol masrafında.

Bir hata bulunuyor ya da küçük bir iyileştirme gerekiyor. Cihazlar birbirinden uzakta, bazıları zor erişilen yerlerde. Güncelleme için teknik personel araca biniyor, tek tek gidiyor. Yüz cihazlık bir kurulumda bu iş haftalar sürüyor ve her seferinde aynı masraf tekrar ediyor.

İkinci sorun kaynak kodunda. Cihazı yaptıran firma sonradan öğreniyor ki üzerindeki yazılımın kaynağı kendisinde değil. Küçük bir değişiklik bile başka bir firmaya bağımlı hale geliyor. O firma çalışmayı bıraktığında elinizde açılamayan bir cihaz kalıyor.

Üçüncüsü sahada kilitlenen cihazlar. Ofiste günlerce sorunsuz çalışan bir yazılım, sahada haftada bir kez takılıyor. Sebebi bulunamıyor, çözüm olarak cihaza zamanlayıcı takılıp düzenli olarak yeniden başlatılıyor. Bu, sorunu çözmüyor sadece görünmez kılıyor.

Pil ömrü de sık karşılaşılan bir başlık. Cihazın kaç ay dayanacağı hesaplanmış ama sahada çok daha kısa sürede bitiyor. Sebep genelde donanımda değil, yazılımın cihazı gereksiz yere uyanık tutmasında.

Bunun dışında bağlantı kesintileri yaşanıyor. Bağlantı koptuğunda cihazın ne yapacağı tanımlanmamışsa veri kayboluyor. Rapordaki boşluk fark edilmiyor bile, çünkü eksik olan şey görünmüyor.

UZAKTAN GÜNCELLEME

Sahaya gitmeden güncelleniyor

Gömülü yazılımı, cihaz sahaya çıktıktan sonra da yönetilebilir olacak şekilde yazıyoruz.

Uzaktan güncelleme baştan kurgunun içinde. Cihaz sahadayken yeni sürüm yüklenebiliyor, güncelleme yarıda kalırsa cihaz kullanılamaz hale gelmiyor, eski sürümüne dönebiliyor. Bu, sonradan eklenmesi zor bir özellik; baştan düşünülmesi gerekiyor.

Kaynak kod size ait ve sizde kalıyor. Kaynak, derleme ortamı ve dokümantasyon teslimatın parçası. Bunu şartname konusu yapmanıza gerek yok, standart uygulamamız.

Kesinti durumu tanımlı. Bağlantı koptuğunda veri cihazda bekliyor, hat geri geldiğinde tamamlanıyor. Raporda görünmeyen boşluk oluşmuyor.

Güç tüketimi tasarımın parçası. Pille çalışan cihazlarda yazılımın davranışı, pil ömrünü donanım kadar belirliyor. Hedeflenen çalışma süresi baştan konuşuluyor ve ölçülerek doğrulanıyor.

Cihaz kendi durumunu bildiriyor. Çalışma süresi, hata sayısı, bağlantı kalitesi ve sürüm bilgisi merkezden görülebiliyor. Arızayı müşteri değil, siz önce fark ediyorsunuz.

Sürümler kayıt altında ilerliyor. Hangi cihazda hangi sürümün çalıştığı, o sürümde neyin değiştiği ve ne zaman yüklendiği duruyor. Sahada birbirinden farklı sürümler taşıyan cihazların bulunması yaygın bir sorun ve arıza aramayı gereksiz yere uzatıyor.

Güvenlik tarafı baştan ele alınıyor. Cihaza kimin ve nasıl erişebileceği, güncelleme yetkisinin nasıl doğrulanacağı kurgunun parçası. Sahaya çıkmış bir cihazda bunu sonradan eklemek çok daha zor.

HİZMET KAPSAMI

Kapsam nereye kadar

Bu iş yalnızca kod yazmak değil; cihazın ömrü boyunca yönetilebilir kalmasını sağlamak.

Kapsamımız şöyle: gereksinimlerin çıkarılması, gömülü yazılımın geliştirilmesi, donanımla birlikte doğrulama, uzaktan güncelleme altyapısı, güç tüketimi ölçümü, saha testleri, sürüm yönetimi ve teslim dokümantasyonu.

Yazılımın üzerinde çalıştığı kartın tasarımı için: Elektronik Devre Tasarımı

Cihazın merkeze bağlandığı katman için: Sensör ve IoT Gateway Entegrasyonu

Kendi ürettiğimiz ve sahada çalışan donanıma örnek: Codigno Tag Pro

Sonradan ödenen bedel üzerine: Teknik Borç Nedir ve Nasıl Yönetilir · Tüm başlıklar: Elektronik ve Gömülü Sistemler

MEVCUT CİHAZLAR

Mevcut cihazınızı devralıyoruz

Gelen işlerin önemli bir kısmı sıfırdan geliştirme değil, devralma oluyor.

Elinizde çalışan bir cihaz var ama yazılımını yapan ekip yok. Kaynak kod varsa inceliyoruz, yoksa cihazın ne yaptığını çıkarıp yerine geçecek yazılımı yazıyoruz.

Devralma işlerinde önce mevcut durumu raporluyoruz. Yazılımın hangi durumda olduğunu, hangi kısmının korunabileceğini ve gerçekçi seçenekleri söylüyoruz. Bazen mevcut yazılımı düzeltmek, baştan yazmaktan pahalıya geliyor ve bunu gizlemiyoruz.

Devralınan cihazlarda ilk kazanç genelde uzaktan güncelleme oluyor. Cihaz donanım olarak buna uygunsa, sahaya araç çıkarma zorunluluğu tek bir çalışmayla ortadan kalkabiliyor. Uygun değilse bunu baştan söylüyoruz; yapılamayacak bir şeyi mümkünmüş gibi anlatmıyoruz.

Yarım kalmış projeleri de alıyoruz. Bu işlerde ilk adım kod yazmak değil, elde ne olduğunu netleştirmek. Bunu yapmadan verilen her süre tahmini yanlış çıkıyor.

NEDEN CODIGNO

Donanımı bilen ekip yazıyor

Gömülü yazılımın diğer yazılım işlerinden farkı, hata yapıldığında geri dönüşünün pahalı olması.

Bir web uygulamasında hata bulunur, düzeltilir, yayına alınır. Sahaya dağıtılmış bin cihazda ise aynı hata, planlanmamış bir maliyet demek. Bu yüzden gömülü yazılımda tasarım kararları baştan doğru verilmek zorunda.

Bunu yapabilmenin yolu donanımı tanımaktan geçiyor. Kartı görmemiş, ölçüm almamış ve cihazın sahada nasıl davrandığını izlememiş bir ekip, kâğıt üzerinde doğru ama sahada kararsız çalışan bir yazılım yazar.

Codigno kendi donanımını tasarlayıp üretiyor ve o donanımın yazılımını da kendisi yazıyor. Kartı çizen ekiple firmware’i yazan ekip aynı çatı altında; bir sorun çıktığında donanım mı yazılım mı tartışması yaşanmıyor.

15 yıldır saha otomasyonu ve endüstriyel sistemler tarafında çalışıyoruz. Cihazın gerçekten duracağı yeri, oradaki sıcaklığı ve bağlantı kalitesini hesaba katarak yazıyoruz.

SIK SORULANLAR

Sık sorulan sorular

Kaynak kod bizde kalıyor mu?

Kalıyor. Kaynak, derleme ortamı ve dokümantasyon teslimatın parçası. Sonraki değişiklikler için bize bağımlı olmuyorsunuz.

Sahadaki cihazlarımız uzaktan güncellenebilir mi?

Yeni geliştirmelerde bu baştan kurgunun içinde oluyor. Mevcut cihazlarda mümkün olup olmadığı donanıma bağlı; inceleyip söylüyoruz.

Mevcut cihazımızın yazılımını devralır mısınız?

Devralıyoruz. Önce mevcut durumu raporluyor, sonra gerçekçi seçenekleri sunuyoruz.

Pil ömrünü uzatabilir misiniz?

Çoğu durumda evet. Pil ömrünü yazılımın davranışı donanım kadar belirliyor. Ölçüm yapıp neyin ne kadar tükettiğini gösteriyoruz.

Hangi donanımlarla çalışıyorsunuz?

Yaygın kullanılan platformların çoğuyla. Cihazınızda ne olduğunu söyleyin, keşifte netleştirelim.

Güvenlik tarafını da kapsıyor mu?

Kapsıyor. Erişim yetkisi ve güncelleme doğrulaması kurgunun parçası. Sahaya çıkmış cihazda bunu sonradan eklemek çok daha zor.

Cihazlarımızın durumunu uzaktan görebilir miyiz?

Görebilirsiniz. Çalışma süresi, hata sayısı, bağlantı kalitesi ve sürüm bilgisi merkezden izlenebiliyor.

Cihazımız bağlantısı koptuğunda veri kaybediyor, çözülür mü?

Çözülüyor. Bağlantı yokken verinin cihazda beklemesi ve hat geldiğinde tamamlanması tanımlanabilir bir davranış.

Farklı sürüm taşıyan cihazlarımız var, toparlanır mı?

Toparlanıyor. Hangi cihazda hangi sürümün çalıştığı kayda alınıyor, güncelleme akışı buna göre kuruluyor.

Devreye aldıktan sonra destek veriyor musunuz?

Veriyoruz. Kapsam ve yanıt süresi sözleşmede tanımlanıyor.

Son güncelleme için sahaya kaç kez çıktınız?

Cihazınızı, kaç adet sahada olduğunu ve bugün nasıl güncellediğinizi paylaşın; uzaktan yönetilebilir hale gelmesi için ne gerektiğini birlikte çıkaralım.

Kendi işleyişinizde nasıl kurulacağını konuşalım.

ya da doğrudan arayın: +90 530 487 94 48