Teknik karar rehberi · Bağlantılı ürünler

Bağlantılı ürünlerde cihaz yönetimi ve OTA güncelleme nasıl planlanır?

Bir IoT cihazının sunucuya ilk veriyi göndermesi, ürünün yönetilebilir olduğu anlamına gelmez. İlk kurulum, cihaz kimliği, yetki, bağlantı kesintileri, uzaktan komut ve yazılım güncellemesi birlikte tasarlanmalıdır. Bu rehber, müşteriye özel cihaz ve sunucu projesinde hangi davranışların ve teknik teslimlerin başlangıçta belirlenmesi gerektiğini açıklar.

Bağlantılı cihaz ile sunucu arasında kimlik, telemetri, komut ve yazılım güncelleme akışı
Kavramsal teknik gösterim · Teknik karar rehberi · Bağlantılı ürünler
Yaşam döngüsüÜretimden saha bakımına
MimariCihaz, bağlantı ve sunucu birlikte
TeslimKaynak, arayüz ve işletim bilgileri

VOMRO mühendislik yaklaşımı

Bağlantıyı bir demo işlevinden, ürünün sürdürülebilir bir özelliğine dönüştürün.

Bir pilotta birkaç cihazın aynı panelde görünmesi yeterli görünebilir. Saha büyüdüğünde hangi cihazın hangi müşteriye ait olduğu, son verinin ne zaman geldiği ve hangi sürümün çalıştığı soruları öne çıkar. Cihaz yeniden kurulabilir, ağ bilgisi değişebilir veya bir süre internetsiz kalabilir. Uzaktan komutun gecikmesi ve güncellemenin yarıda kalması da ürünün öngörülebilir davranışları olmalıdır.

Çözüm belirli bir bulut markasını seçmekten önce sorumlulukları ve senaryoları tanımlamaktır. Gömülü yazılım, API, veri tabanı ve yönetim ekranı aynı veri sözlüğünü paylaşmalıdır. Aşağıdaki adımlar müşteriye ait ürünün gereksinimlerini oluşturmak içindir. VOMRO hazır bir cihaz yönetim aboneliği satışı yerine, projenizin donanım ve yazılım kapsamını geliştirir; barındırma, işletim ve bakım sorumlulukları ayrıca netleştirilir.

01

1. Cihaz kimliğini, kullanıcı hesabını ve kurulum kaydını ayırın

Cihaz seri numarası, haberleşme kimliği ve kullanıcının hesabı farklı görevler üstlenir. Üretilen cihazın benzersiz kaydı oluşturulur; hangi donanım revizyonunu taşıdığı ve hangi yazılımla programlandığı izlenir. İlk kurulumda cihazın doğru müşteri veya tesise atanması için tanımlı bir akış gerekir. Bir cihazın kimliğini bilmek, ona erişme yetkisi anlamına gelmemelidir.

Ürün el değiştirdiğinde, servis gördüğünde veya fabrika ayarına döndüğünde ne olacağını belirleyin. Eski kullanıcının erişiminin kapanması ve yeni kurulumun doğru kayda bağlanması gerekebilir. Üretim sırasında atanan bilgilerin nerede tutulacağı, kimlerce kullanılacağı ve servis ekibinin hangi veriyi göreceği tanımlanır. Böylece cihaz yönetimi yalnız paneldeki bir isim alanına bırakılmaz; ürünün yaşam döngüsünde izlenebilir bir süreç olur.

  • Benzersiz cihaz kaydı ve donanım/yazılım sürümü
  • Müşteri, tesis ve kullanıcıyla atama ilişkisi
  • Servis, devir ve sıfırlama senaryoları
02

2. İlk yapılandırma ve erişim bilgilerinin kapsamını belirleyin

İlk yapılandırma (provisioning), cihazın ağa ve ilgili hizmete katılmak için gerekli bilgileri edinmesidir. Kullanıcının girdiği Wi-Fi bilgisi, cihazın sunucu kimliği ve kullanıcının hesabı aynı sır olarak ele alınmamalıdır. BLE, yerel bağlantı veya üretim programlama adımı gibi yöntemler ürünün kullanımına göre değerlendirilebilir. Kurulum yarıda kaldığında geri dönüş ve yeniden deneme davranışı da tanımlanır.

Cihaza verilen kimlik bilgisinin erişimi ihtiyaç duyduğu kaynaklarla sınırlandırılır. Bir cihazın diğer müşterilerin verisine erişmemesi, sunucu tarafında yetkilendirme kontrolü gerektirir. Erişim bilgisinin yenilenmesi veya iptal edilmesi, kayıp cihaz ve servis senaryolarında değerlendirilir. Gizli bilgiler günlüklerde veya istemci arayüzünde gereksiz yere gösterilmez. Bu tasarım ilkeleri proje gereksinimlerine göre uygulanır; tek bir protokol seçimi bütün sistem için güvenlik garantisi oluşturmaz.

  • İlk kurulum ve yeniden yapılandırma akışı
  • Cihaza ve role göre sınırlandırılmış erişim
  • Erişim bilgisi yenileme, iptal ve kayıt kuralları
03

3. MQTT veya API kararını veri akışıyla birlikte verin

MQTT yayın/abonelik düzeni ile istek/yanıt temelli API kullanımı farklı veri akışlarını destekler. Ölçümlerin sıklığı, sunucudan cihaza komut, bağlantı karakteri ve mevcut yazılım altyapısı birlikte değerlendirilir. MQTT topic yapısı veya API yolları, veri alanları ve sürümleri dokümante edilir. TLS gibi taşıma korumalarıyla sunucu kimliği doğrulama ve erişim yetkisi ayrı tasarım sorumlulukları olarak ele alınır.

MQTT teslim seviyeleri mesaj aktarımına ilişkindir. Bir mesajın alınması, valfin açıldığı veya ayarın fiziksel olarak uygulandığı anlamına gelmez. Tekrar teslim olasılığı ve oturum davranışı uygulama tarafında değerlendirilmelidir. Cihaz zamanı, ağ yeniden bağlanması ve sunucu sertifikalarının yaşam döngüsü de bağlantı testlerine girer. Seçim, yalnız küçük paket gönderebilme üzerinden değil, ürünün bütün çalışma senaryosu üzerinden yapılır.

  • Topic/API sözlüğü, veri şeması ve sürümleme
  • Taşıma koruması, kimlik doğrulama ve yetki ayrımı
  • Mesaj teslimi ile fiziksel işlem sonucunun ayrılması
04

4. Çevrimdışı veriyi zamanı ve kalitesiyle saklayın

İnternet bağlantısı kesildiğinde yerel ölçüm veya kontrolün sürmesi gerekiyorsa kayıt kapasitesi ve saklama yöntemi belirlenir. Hangi verinin öncelikli olduğu, tampon dolduğunda ne yapılacağı ve belleğin yazma sınırları değerlendirilir. Ölçümün alındığı an ile sunucuya ulaştığı an ayrı tutulmalıdır. Cihaz saatinin henüz doğrulanmadığı kayıtlar için zaman kalitesi veya sıralama bilgisi gerekir.

Bağlantı geri geldiğinde kayıtların aktarımı yeni ölçümlerin çalışmasını engellememelidir. Aynı kaydın tekrar gönderilmesi durumunda sunucunun bunu nasıl ayırt edeceği ve aktarımın nereden devam edeceği tasarlanır. Panelde son iletişim zamanı ile son ölçüm zamanı karıştırılmaz. Kullanıcı eski veriye bakarken bunu anlayabilmelidir. Veri saklama süresi ve kayıt hacmi, hem cihaz belleğini hem sunucu depolamasını etkileyen ürün gereksinimleridir.

  • Tampon boyutu, doluluk ve kayıt önceliği
  • Ölçüm zamanı, ulaşma zamanı ve veri geçerliliği
  • Tekrar kayıtların ayrılması ve kesintiden devam
05

5. Uzaktan komutun kabulünü, uygulanmasını ve sonucunu izleyin

Komutlar kimlik, oluşturulma zamanı ve gerekiyorsa geçerlilik süresiyle tanımlanır. Sürüm bilgisi, eski bir cihazın anlamadığı yeni bir komutu sessizce yanlış yorumlamasını önlemeye yardımcı olur. Cihaz komutu aldığında önce uygunluk kontrolü yapabilir; kabul, ret veya ertelendi gibi durumlar uygulama ihtiyacına göre belirlenir. Fiziksel işlem sonucu ayrıca raporlanır.

Bağlantı kesintisinde eski bir komutun daha sonra uygulanması her projede istenmez. Tekrar iletilen komutun ikinci bir işleme dönüşmemesi gereken durumlar da vardır. Yerel kullanıcı ile uzaktan kullanıcının aynı ayarı değiştirmesi halinde öncelik veya sürüm kontrolü tanımlanır. Makine ve saha kontrolünde bağlantı, yerel kontrol ve emniyet sorumlulukları birlikte netleştirilir. Panelde bir düğmenin başarılı görünmesi için gereken kanıt, sunucunun mesajı göndermiş olmasından daha kapsamlı olabilir.

  • Komut kimliği, sürümü ve geçerlilik süresi
  • Alındı, kabul edildi ve uygulandı durumları
  • Tekrar, gecikmiş komut ve yerel/uzak önceliği
06

6. OTA güncellemesini kart seçilmeden önce planlayın

OTA, cihaz yazılımının uzaktan güncellenmesidir; bellek bölümleri, önyükleyici ve enerji davranışıyla ilişkilidir. Yeni yazılımın nerede tutulacağı, indirme kesilince ne olacağı ve hangi donanım revizyonuna uygun olduğu belirlenir. İmzalı yazılım doğrulama ve güvenli taşıma projenin gereksinimlerine göre tasarlanır. İmza, yazılımın yetkili kaynaktan geldiğini doğrulamaya hizmet eder; hatasız çalışacağını tek başına kanıtlamaz.

İlk açılış doğrulaması ve başarısız sürümden geri dönüş (rollback) gerektiğinde uygun mimari oluşturulur. Geri dönüşün bulunması, her eski sürüme koşulsuz dönülebileceği anlamına gelmez; güvenlik sürümü ve veri uyumluluğu ayrıca değerlendirilir. Espressif OTA ve MCUboot belgeleri farklı uygulama örnekleri sunar. Hangi yaklaşımın kullanılacağı seçilen donanıma bağlıdır. Güncelleme sırasında enerji kesme ve başarısız açılış gibi senaryolar prototipte denenir.

  • Bellek, önyükleyici ve donanım uyumluluğu
  • Proje gereksinimine göre imza ve sürüm doğrulama
  • Kesinti, ilk açılış, geri dönüş ve kurtarma testleri
07

7. Filo görünürlüğünü ve güncelleme kabulünü somutlaştırın

Yönetim ekranı için cihazın yalnız çevrimiçi olup olmadığı yeterli olmayabilir. Son ölçüm, son iletişim, yazılım sürümü, donanım revizyonu ve güncelleme durumu ayrı alanlarda tutulur. Kurulum ekibi, müşteri ve geliştiricinin göreceği bilgiler rollerine göre belirlenir. Hata kaydı, hassas verileri gereksiz yere açığa çıkarmadan teşhise yardımcı olmalıdır.

Yeni yazılımı bütün cihazlara aynı anda vermek yerine pilot grupta değerlendirme ve aşamalı dağıtım ihtiyacı görüşülür. Başarı ölçütü, indirmenin bitmesi mi yoksa cihazın yeni sürümle çalışıp doğrulama raporlaması mı, açıkça yazılır. Eksik bağlantılı cihazlar, yetersiz enerji ve uyumsuz donanım için ertelenme durumları tanımlanır. Veri modeli değiştiğinde eski ve yeni sürümlerin birlikte çalışması da test kapsamına alınır. İşletim sorumluluğu ve destek akışı proje tesliminden önce belirlenir.

  • Sürüm, son iletişim ve güncelleme durumunun ayrılması
  • Pilot grup ve aşamalı dağıtım gereksinimleri
  • Uyumsuzluk, erteleme ve hata halinde işlem akışı
08

8. Kaynak kodu kadar kurulum ve işletim bilgisini de teslim listesine alın

Teslim listesinde gömülü yazılım ve sunucu kaynaklarıyla birlikte API/veri sözlüğü, derleme ve kurulum bilgileri, veri tabanı değişiklikleri ve test senaryoları bulunmalıdır. Programlama, cihaz kimliği oluşturma ve güncelleme yayınlama süreçlerinin nasıl yürütüldüğü açıklanır. Erişim bilgilerinin ve proje anahtarlarının sorumluları belirlenir; sırlar herkese açık kaynak dosyalara yazılmaz. Kullanılan üçüncü taraf hizmet ve kütüphanelerin lisans/işletim koşulları ayrıca gösterilir.

VOMRO’da teknik paylaşım öncesinde talebiniz üzerine NDA imzalarız. Projeye ait kaynak kodları, tasarım dosyaları ve teknik dokümanlar proje sonunda teslim edilir. İlk görüşmede cihaz sayısı beklentisi, veri sıklığı, bağlantı türü, çevrimdışı çalışma ve uzaktan komut ihtiyacını paylaşabilirsiniz. Mevcut bir sunucu veya API varsa entegrasyon koşulları incelenir. Barındırma, yedekleme, güncelleme ve bakım kapsamı teknik geliştirme çıktılarıyla birlikte netleştirilir.

  • Cihaz ve sunucu kaynakları ile arayüz dokümanları
  • Kurulum, kimliklendirme, güncelleme ve test bilgileri
  • NDA, teknik teslim listesi ve işletim sorumlulukları
Bağlantılı üründe birbirinden ayrılması gereken durumlar
Ekrandaki bilgiTeknik anlamıBirlikte izlenecek konu
Cihaz bağlıYakın zamanda iletişim kurulduSon geçerli ölçüm zamanı
Komut gönderildiSunucu aktarımı başlattıCihaz kabulü ve fiziksel sonuç
Güncelleme indirildiDosya cihaza ulaştıDoğrulama, açılış ve sürüm teyidi

Çalışma biçimi

Kararları proje planına dönüştürün.

Her proje aynı görünmez; ancak ölçülebilir gereksinim, kontrollü revizyon ve sahada doğrulama adımları değişmez.

  1. 01

    Yaşam döngüsünü yazın

    Üretim, ilk kurulum, kullanım, servis ve devir senaryolarını belirleyin.

  2. 02

    Arayüzü tanımlayın

    Kimlik, yetki, veri, komut ve sürüm sözlüğünü ortaklaştırın.

  3. 03

    Kesintileri deneyin

    Bağlantı ve enerji kaybı, eski veri ve başarısız güncelleme senaryolarını uygulayın.

  4. 04

    Kaynakları devralın

    Kod, tasarım, kurulum ve işletim dokümanlarını teknik teslim listesiyle alın.

Sık sorulanlar

Projeye başlamadan önce

Teknik kapsam, teslimatlar ve test planı projenizin gereksinimlerine göre birlikte netleştirilir.

MQTT kullanmak cihazın güvenli olduğu anlamına gelir mi?

Hayır. MQTT mesajlaşma davranışını tanımlar. Taşıma koruması, kimlik doğrulama, erişim yetkisi, anahtar yönetimi ve uygulama davranışı ayrıca tasarlanır ve proje koşullarında doğrulanır.

OTA sonradan eklenebilir mi?

Bazı tasarımlara eklenebilir, ancak bellek, önyükleyici, donanım ve kurtarma yaklaşımı değişikliği gerekebilir. Uzaktan güncelleme ihtiyacını kart ve yazılım mimarisi seçilmeden önce tanımlamak yararlıdır.

İnternet kesildiğinde veriler kaybolmak zorunda mı?

Hayır. Uygun bellek ve enerji koşullarıyla yerel tamponlama tasarlanabilir. Kapasite, zaman bilgisi, doluluk davranışı ve yeniden bağlantıda tekrar kayıtların ayrılması başlangıçta belirlenir.

VOMRO kendi bulut ürününü mü satıyor?

Bu hizmet müşteriye özel bağlantılı cihaz ve yazılım geliştirmesidir. Mevcut altyapınızla entegrasyon veya proje için sunucu uygulaması kapsamı belirlenir. Barındırma ve bakım sorumlulukları ayrıca açıklanır; proje kaynakları ve teknik dokümanlar sonunda teslim edilir.

Sizin projeniz, sizin ürününüz

Gizlilikle geliştirir, kaynaklarıyla teslim ederiz.

Teknik ayrıntıları paylaşmadan önce gizlilik sözleşmesi (NDA) ile çalışabiliriz. Proje sonunda geliştirdiğimiz kaynak kodları, tasarım dosyalarını ve teknik dokümanları size teslim ederiz.

  • Teknik bilgi paylaşımından önce NDA
  • Başlangıçta açık teslimat listesi
  • Proje sonunda kaynak ve teknik dosyalar
Gizlilik ve teslim sürecimiz
Fikrinizden başlayalım

Hayal ettiğiniz ürünü ve çözmek istediğiniz ihtiyacı konuşalım.