Giriş: Hedeflenen tek problem

Üretim hattında operatörün veya otomatik okuyucunun barkod/QR ile bir ürünü tanımladığı anda, o ürünün ilgili montaj adımına ait kısa video klibinin otomatik olarak kaydedilip ürüne bağlanması; ardından bu videonun ERP veya kalite kontrol sisteminde kolayca erişilip incelenebilmesi gerektiğini varsayalım. Bu makale, bu tek somut problemi (hat üzerinde ürün bazlı montaj adımı video takibi) çözmek için gereken teknik bileşenleri, mimari kararları ve uygulanabilir adımları verir. İlk aşamada mimari ve IoT entegrasyonu hakkında daha detaylı çözümler için Bayrak Bilişim'in Kalite Kontrol & IoT hizmetleri sayfasına bakabilir, projeyi tartışmak için iletişim sayfamızdan bize ulaşabilirsiniz.

Ön koşullar ve tasarım kararları

  • Hedef gecikme: barkod okutma — video ilişkilendirme süresi maksimum 2–5 saniye (operasyon gereksinimine göre ayarlanabilir).
  • Klip süresi: her montaj adımı için 3–15 saniye; gerektiğinde ön-roll (buffer) ve post-roll eklenecek.
  • Tanımlama anahtarı: sipariş/parti + seri numarası veya tekil UID. ERP tarafında eşlenebilen alan zorunlu.
  • Zaman senkronizasyonu: tüm uç cihazlarda NTP ile tutulmuş tutarlı zaman damgaları gereklidir.
  • Gizlilik/retention: saklama süreleri, sıkıştırma, maskalama ve yetkilendirme politikasının önceden belirlenmesi gerekir.

Sistem bileşenleri (yüksek seviye)

  • Endüstriyel barkod/QR okuyucular ve/veya mobil okutma istasyonları
  • Hat üstü kameralar (edge capture) veya merkezi kamera sunucusu
  • Edge cihazda kısa tampon (pre-roll) ve tetik mekanizması
  • Video depolama: obje depolama (NAS / S3 uyumlu) + SQL Server'da metadata indeksi
  • ASP.NET Core tabanlı API katmanı (C#) ile kayıt, sorgu ve ERP entegrasyon modülleri
  • Mesaj kuyruğu (Kafka, RabbitMQ, Azure Service Bus) — asenkron işlem, retry ve idempotency için
  • ERP entegrasyonu için adaptör (REST/soap veya mesaj tabanlı) ve idempotent işleme

Nasıl çalışır? Adım adım akış

  1. Operatör ürünün barkod/QR'sini okutur. Okuyucu, seri numarasını ve timestamp'i içeren bir scan event üretir.
  2. Scan event, düşük gecikmeli bir gateway/edge uygulamaya (ör. bir Raspberry/industrial PC) gönderilir. Edge uygulama önceden sürekli kaydeden bir döngü tamponundan (circular buffer) son X saniyeyi hazır tutar.
  3. Edge uygulama, barkod okutma olayına göre tamponu dondurup gerekli saniyeyi (pre-roll + action window + post-roll) bir video klip olarak paketler ve obje depolamaya yükler. Yükleme tamamlanınca depolama URL'sini ve metadata'yı üretir.
  4. Edge uygulama veya merkezi API, SQL Server'da VideoClips tablosuna bir satır yaratır: { ClipId, SerialNumber, ProductId, Timestamp, CameraId, DurationSec, StorageUrl, Hash, Checksum, QCFlag }.
  5. Aynı event, mesela kalite kontrol tetikleyicileri veya ERP harici servislerine asenkron olarak gönderilir. ERP ile ilişkilendirme, sipariş/parti onayı veya ileri bilgiler geldiğinde güncellenir.
  6. Operatör veya kalite mühendisleri web arayüzünden ASP.NET Core API aracılığıyla video arayıp izler; aramaya seri numarası, tarih aralığı, kamera veya QC flag kriterleri ile erişilir.

Veri modeli (öneri, SQL Server)

Minimal veri modeli aşağıdaki tabloları içerir:

  • Products (ProductId, SKU, Description)
  • SerialNumbers (SerialNumber, ProductId, ProductionDate, ERPKey)
  • VideoClips (ClipId GUID, SerialNumber, ProductId, CameraId, StartTimestamp UTC, DurationSec, StorageUrl, Codec, Resolution, SizeBytes, Hash, CreatedAt)
  • QCEvents (QCEventId, ClipId, InspectorId, ResultCode, Notes, CreatedAt)

Video verisinin kendisini SQL Server'da tutmak yerine StorageUrl ile obje depolamada (S3/MinIO/NAS) saklamak ölçek ve maliyet açısından daha uygundur. Metadata sorguları SQL Server üzerinden yürütülür.

Edge tarafı: kameralar ve tetik mantığı

  • Pre-roll: Kamera veya capture uygulaması sürekli düşük çözünürlükte tampon tutmalı; tetik gelince yüksek kaliteli segment bu tampondan kesilir.
  • Tetik kaynakları: doğrudan barcode scanner trigger (GPIO/serial), PLC dijital input, veya RFID socket. Her tetik olayında seri numarası mutlaka event ile gelmelidir.
  • Zaman damgası tutarlılığı: her cihaz NTP ile senkronize olmalı; alternatif olarak PTP (Precision Time Protocol) kullanımı kritik hatlarda düşünülmeli.
  • Bağlantı kesintisi: offline modda klipler geçici olarak lokalde saklanmalı; merkezi erişim geri geldiğinde idempotent yükleme (ClipId bazlı) yapılmalı.

Depolama, codec ve maliyet optimizasyonu

  • H.264 genellikle yeterlidır; yüksek sıkıştırma için H.265 değerlendirilebilir ama lisans/dekod maliyetleri göz önünde bulundurulmalı.
  • Çözünürlük ve fps üretim ihtiyacına göre seçilmeli (genelde 720p@15-25fps yeterli). Aşırı çözünürlük depolama ve ağ maliyetini yükseltir.
  • Obje depolamada klasör/anahtar yapısı: /year/month/day/camera/clipId.mp4 — metadata SQL'de tutulur. Ayrıca video hash ile bütünlük doğrulama yapılmalı.
  • Retention: sık erişilen kısa süreli (90–180 gün) sıcak segment, daha eski klipler arşive taşınabilir (cold storage).

API tasarımı (ASP.NET Core ile örnek yaklaşım)

Basit ve idempotent uç noktalar:

  • POST /api/v1/clips — Edge cihazın yeni klip metadata'sını gönderir. Body: { clipId, serialNumber, startTimestamp, durationSec, storageUrl, checksum }
  • GET /api/v1/clips?serialNumber=...&from=...&to=... — Video listeleme
  • GET /api/v1/clips/{clipId}/stream — Presigned URL veya reverse proxy ile yetkili izlemeye açma
  • POST /api/v1/clips/{clipId}/qc — QA kaydı ekleme

Öneri: API katmanında token-based authentication (JWT) + role-based authorization ve clip erişim loglaması. ASP.NET Core, C# ile hem hızlı hem de genişletilebilir bir API sağlar; SQL Server ile metadata ilişkisel saklanır.

ERP entegrasyonu ve veri eşleştirme

  • Eşleme anahtarı: serialNumber veya ERPKey üzerinden bağlama. ERP'den gelen üretim onayı geç geliyorsa metadata güncellemesi support edilmelidir.
  • İş akışı: öncelikle video metadata kaydı; ERP onayı geldiğinde VideoClips tablosunda ilgili satır güncellenir (OrderId, OperationCode vb.).
  • Asenkron entegrasyon: message broker ile ERP adaptörüne olay gönderin. Retry ve dead-letter politikası uygulayın. Her ERP mesajı idempotent olmalı (Duplicate suppression).

Operasyon, arama ve analiz

  • Hızlı arama için SQL tarafında index'ler: SerialNumber index, StartTimestamp index, QCFlag index.
  • Filtrelenmiş arama: sadece hata/itiraz durumları için özel bir görünüm (view) oluşturun.
  • Kök neden analizleri için videolarla ilişkili sensör verileri (IoT) bağlanabilir: milisaniye ekseninde timestamp'lerle senkronize edilmiş makine telemetiği, PLC olayları veya operatör girişleri.

Test, devreye alma ve yaygın hatalar

  • Zaman senkronizasyonu hataları: cihazlarda farklı NTP kaynakları veya yanlış timezone kullanımı; PTP veya merkezi NTP sunucusu ile düzeltin.
  • Çakışan clipId/duplicate yüklemeler: yükleme sırasında idempotent kontroller ve checksum karşılaştırması uygulayın.
  • Ağ bant genişliği: pilot hattında seçilen codec ve fps ile ağ testi yapın; gerekiyorsa edge'de daha fazla sıkıştırma veya local-forwarding tercih edin.
  • ERP uyumsuzlukları: eşleşmeyen seri numaraları için karantina kuyruğu oluşturup manuel veya yarı otomatik inceleme akışı kurun.

Uygulama örneği: küçük bir rollout planı

  1. Pilot: 1 üretim hattı, 2 kamera, 1 barcode scanner, edge PC. 4 hafta boyunca operasyon verisi toplanır.
  2. Veri modelini ve API'leri doğrulama, zaman damgası uyumluluğu testi.
  3. ERP entegrasyonunu simüle etme; mesaj kuyruğu ve retry senaryolarını çalıştırma.
  4. Performans testi: saatlik clip sayısı, ağ trafik tahmini, storage bütçesi.
  5. Operatör eğitimi ve yetkilendirme politikalarının devreye alınması.

Sonuç ve uygulanabilir adımlar

Üretim hattında barkod/QR ile tetiklenen ürün bazlı montaj adımı videoları, yanlış montaj, parçanın hatalı tedariki veya müşteri şikâyeti durumlarında hızlıca delil sunar ve kök neden analizini hızlandırır. Teknik olarak dikkat edilmesi gereken başlıca noktalar zaman senkronizasyonu, edge tamponlama (pre-roll), ölçeklenebilir obje depolama ve metadata'nın SQL Server'da sağlam indekslenmesidir. ASP.NET Core ile tasarlanmış idempotent API'ler ve mesaj tabanlı ERP entegrasyonu operasyonel güvenilirliği artırır.

Eğer bu mimariyi kendi hattınıza uygulamak isterseniz, Bayrak Bilişim'in Kalite Kontrol & IoT hizmetleri sürecinize teknik danışmanlık ve prototipleme sağlayabilir. Proje tartışmak için iletişim sayfasından bize ulaşın; ihtiyaçlarınızı dinleyip uygulanabilir bir pilot planı çıkartabiliriz.

Not: Bu makale uygulamaya yönelik teknik rehber niteliğindedir; spesifik donanım ve ağ altyapısı seçimleri işletmenizin gereksinimlerine göre değişir.

Bu konuyu kendi işletmeniz için değerlendirelim.

Mevcut süreci ve kullandığınız sistemleri anlattığınızda uygulanabilir seçenekleri birlikte çıkarabiliriz.

Projenizi anlatın →