Tohum

Aşama 2: Sistem Mimarisi

İllüstrasyon: sensörler cihazı besliyor, cihaz bulutla konuşuyor, bulut kullanıcı panelini besliyor

İnşa Etmeden Önce Kâğıt Üzerinde Planlayın

Önceki bölüm için tıklayın: Aşama 1

Mimari kararlar vermesi en ucuz, yanlış vermesi en pahalı kararlardır — Aşama 2’nin kâğıt üzerinde yapılmasının nedeni budur. Aşama 1’den elinizde sağlam gereksinimler varken, onları nasıl karşılayacağınızın üst düzey planını burada oluşturursunuz. Sistem mimarisini, herhangi bir ev ya da yol inşa etmeden önce bir şehir tasarlamak gibi düşünün: beton dökmeden önce otoyolların ve köprülerin nereden geçeceğine karar verirsiniz. Bir IoT projesinde bu, herhangi bir lehim ya da kod işine başlamadan önce genel sistemi kâğıda ya da beyaz tahtaya çizmek demek (dijital “kâğıt” da olur). Bu aşama, büyük resmi düşünmekle — tasarımı sonradan şekillendirecek kilit kararları şimdi vermekle — ilgilidir. Aşama 2’nin sonunda IoT ürününüz için net bir planınız olur; ve planları değiştirmek, devre kartlarını değiştirmekten çok daha ucuzdur.

Tüm Sistemi Bir Blok Diyagramla Görselleştirin

İlk adım, tüm sistemin bir blok diyagramını çizmek — IoT cihazınız ve ekosistemi için bir mimarın kat planı. Tüm ana bileşenleri çizin ve nasıl bağlanıp haberleştiklerini gösterin. Basit bir IoT blok diyagramı şöyle görünebilir:

Bu zincir, uçtan uca veri yoludur. Sensör veriyi toplar ve MCU’ya iletir. Mikrodenetleyici biraz işleme yapabilir, ardından veriyi bir cloud sunucusuna göndermek için kablosuz bir radyo (Wi-Fi, Bluetooth, LoRa vb.) kullanır. Sunucu veriyi depolar ya da analiz eder ve bir kullanıcı arayüzüne — bir web panosu ya da mobil uygulama — sunar. Akış ortaya konduğunda, ekipteki herkes tüm parçaları bir bakışta görebilir ve verinin sistemde nasıl ilerlediğini anlayabilir.

Resim yeteneğinizi dert etmeyin — basit kutular ve oklar yeterli. Amaç netlik. Blok diyagramı, IoT “şehrinizin” büyük resim haritasıdır: temel bileşenleri ve nasıl etkileştiklerini gösterir; siz aslında verinin bir cloud API’si üzerinden gitmesini planlarken birinin cihazın doğrudan telefon uygulamasıyla konuştuğunu sanması gibi yanlış anlamaları önler. Herkes aynı haritaya baktığında, ileride kaybolan daha az olur.

Bölümlendirme Kararları: Kim Neyi (ve Nerede) Yapıyor?

Sistem çizildikten sonra sıra bölümlendirmede — mimaride hangi sorumluluğun nerede yaşayacağına karar vermek. Kim ne yapıyor: hangi görevler donanıma/cihaza, hangileri firmware’e, hangileri cloud ya da sunucu tarafına ait? Bu kararlar performansı, maliyeti, karmaşıklığı ve güvenliği etkiler.

Bir IoT sisteminde bölümlendirme kararlarına birkaç örnek:

Bölümlendirme bir denge işidir: sistemin her parçası en iyi yaptığı işi üstlenmeli. Küçük, pilli bir sensör veri toplamakta ve hafif işleme yapmakta iyidir; ağır hesap işleri, gücü bol bir cloud sunucusuna aittir. Tersine, uygulama çok hızlı yanıt gerektiriyorsa ya da internetsiz çalışmak zorundaysa, zekânın daha fazlası uca taşınır. Herkese uyan tek bir cevap yok — ödünleşimler Aşama 1 gereksinimlerinizden gelir.

Bu seçimler üzerinde yinelemek son derece normaldir. “Cihazımız her şeyi yapacak — ön işleme, şifreleme, karar verme” diye başlayıp seçtiğiniz MCU’nun iş yükünü kaldıramadığını ya da belleğinin küçük kaldığını fark edebilirsiniz. Bu içgörü, görevleri cloud’a kaydırabilir. Ya da tersi: cloud için planlanan işleme, ağ gecikmesi endişesiyle cihaza taşınır. Bu sorunları kâğıt üzerinde yakalamak, kod yazıldıktan ya da firmware’i taşıyamayan bir PCB üretildikten sonra keşfetmekten çok daha ucuzdur. Sorumlulukları iyi paylaştırmak için zaman ayırın.

Teknoloji Seçimi: Her Parça İçin Doğru Aracı Seçmek

Blok diyagramı ve bölümlendirme yerindeyken sıra teknoloji seçiminde: her blok için gerçek teknolojilere ya da bileşenlere karar vermek — ya da en azından seçenekleri daraltmak. Bunu, bir binanın her bölümü için malzeme seçmek gibi düşünün: çelik mi ahşap iskelet mi, tuğla mı beton duvar mı? IoT dilinde kilit başlıklar:

Teknolojileri mimari aşamasında seçmek, parçaların birbiriyle ve gereksinimlerle uyumlu kalmasını sağlar ve kaba maliyet ile fizibilite kontrollerini mümkün kılar. “Muhtemelen” üst segment bir MCU’ya ve belirli bir uzun menzilli radyoya ihtiyacınız varsa, toplam maliyetin bütçeye sığıp sığmadığını ve parçaların birlikte çalışıp çalışamayacağını (doğru arayüzler? sürücü desteği?) sağlamasını yapabilirsiniz. Beğendiğiniz bir radyo modülünün yalnızca belirli bir MCU ailesiyle geldiğini ya da harici bir MCU gerektirdiğini keşfedebilirsiniz — bunu şimdi bilmek iyi.

Ayrıca gücü ve boyutu aklınızdan çıkarmayın. Küçük, pille çalışan bir cihaz (bir giyilebilir, uzak bir sensör), yerden ve güçten tasarruf için MCU + radyoyu entegre eden bir system-on-chip’i zorunlu kılabilir. Maliyeti çok hassas bir cihaz, sensör, MCU ve radyoyu birleştiren hepsi bir arada bir modülü tercih edebilir. Bu seçenekleri kâğıt üzerinde tartıp hangi yığının projeye en iyi oturduğunu görme aşaması burası.

Risk ve Maliyet Analizi: Olası Tuzakları Erken Belirleyin

Bu aşamada bile iyi bir mimar, seçilen tasarıma bağlı riskleri ve maliyetleri listelemeye başlar. Onları şimdi işaretlemek, sonradan keşfetmekten iyidir. Düşünülecekler:

Aşama 2’de risk ve maliyet analizi yapmak, geliştirmeye gözleri açık girmek demektir. En riskli kısım cihaz üzerindeki özel bir makine öğrenmesi algoritmasıysa, önce onu ele alın ya da yakından izleyin. En pahalı bileşen belirli bir sensörse, bütçede başka yerlerde dikkatli olun. Hiçbir ürün risksiz değildir; ama proaktif planlama, sakin projeleri son dakika telaşlarından ayıran şeydir.

Mimariyi Net Bir Şekilde Belgelemek

Mimari aşamasının sonunda, sistem mimarisini tüm ekip için anlaşılır ve paylaşılabilir biçimde belgeleyin. Bu doküman herkesin başvuracağı plan olur; o yüzden erişilebilir bir yerde yaşamalı — baş mühendisin kafasında kilitli kalmamalı.

Mimariyi yakalamanın ve iletmenin başlıca yolları:

Amaç: herhangi bir ekip üyesi — yeni katılan biri dahil — mimariye bakıp hızla hızlanabilsin. Mühendislik dışı paydaşlar için de işe yarar: ürün yöneticileri ya da yöneticiler kodunuzu okumayabilir, ama üst düzey bir diyagramı okuyabilirler. İyi mimari dokümantasyonu, fikirlerle uygulama arasındaki boşluğu köprüler.

“İki Kez Tasarla, Bir Kez İnşa Et”: Erken Planlamayla Zaman Kazanın

Mühendislikte bir düstur vardır: “iki kez tasarla, bir kez inşa et.” Sorunları kâğıt üzerindeki bir tasarımda yakalayıp düzeltmek, inşa edilmiş bir üründe düzeltmekten çok daha ucuzdur — Aşama 2’nin tüm felsefesi budur. Bir diyagramda kutuları ve okları oynatmak, PCB’yi yeniden bastırmaktan ya da orijinal plan kusurlu çıktığı için bir firmware modülünü baştan yazmaktan çok daha az acı verir.

Bu aşamayı, tüm ekibi erkenden aynı sayfada buluşturmak için kullanın. Mimari çok disiplinlidir: donanım mühendisleri, firmware geliştiricileri, cloud/backend mühendisleri, ürün yöneticileri. Gözden geçirmede herkesin söz hakkı olmalı; tartışmayı teşvik edin. Bir cloud mühendisi, “Cihaz her okumayı göndermeden önce bir zaman damgasıyla etiketlese, sunucu tarafım sadeleşirdi” diyebilir — önceden bilirseniz küçük bir istek. Bir donanım tasarımcısı, “Şu an iki sensör kullanıyoruz, ama üçüncüsü hava kalitesini de ölçmemizi sağlar — yer bırakalım mı?” diyebilir. Bu tür içgörüler, ekipler yalıtık çalıştığında asla yüzeye çıkmayacak küçük mimari ayarlamalara ya da en azından gelecekteki genişleme için önlemlere yol açar. Arayüz noktalarını şimdi ütülemek, sonraki “artık bunu değiştiremeyiz” anından iyidir.

Buradaki titizlik güven inşa eder. Aşama 2’nin sonunda net bir planınız olmalı: Aşama 1 gereksinimlerini nasıl karşılamayı planladığınızı gösteren üst düzey bir tasarım. Bir binanın mimari çizimi gibi, henüz boya renklerini ya da kapı kollarını seçmez — ama katlar, kapılar, pencereler ve oda yerleşimi bellidir. IoT dilinde: cihazların ne olduğunu, nasıl bağlandıklarını, hangi verinin nereye aktığını ve işi kabaca hangi teknolojinin yaptığını biliyorsunuz.

Bu plan elinizdeyken, detaylı tasarıma ve gerçekleştirmeye güvenle geçebilirsiniz. IoT yolculuğu için bir harita oluşturdunuz; kaybolma ihtimaliniz çok daha düşük. Aşama 3 ve sonrasında — donanım kurarken, kod yazarken — sürekli bu mimariye döneceksiniz. Ve değişiklikler geldiğinde (hep gelir), mimari dokümanını güncelleyin ki güvenilir bir referans olarak kalsın.

Kısacası: Aşama 2, Sistem Mimarisi, projeyi başarıya kurduğunuz yerdir. Ekibi hizalar, riskleri erken ortaya çıkarır ve net bir plan sunar. Tasarladınız — belki iki kez — artık bir kez, hem de doğru inşa edebilirsiniz. Planı yakınınızda tutun; yolculuğun geri kalanında Kutup Yıldızınız olacak.