Giriş: Hangi somut soruna cevap veriyoruz?
Üretim tesisinde bir müşteri şikâyeti veya iç kalite incelemesi geldiğinde elinizdeki tek veri çoğu zaman seri numarası veya ürünün QR/barkod etiketi olur. Soru şu: "Bu seri numarasına ait ürünün üretim hattındaki görüntüsünü ve ilgili operasyon anını nasıl hızlıca, güvenilir ve ölçeklenebilir şekilde bulabilirim?" Bu makale, tam olarak bu uzun kuyruklu aranma niyetine (serinin üretim anına ait video kaydını bulma) odaklanır ve uygulanabilir çözümler sunar.
Neden bu çözüm gerekli?
Ürün bazlı video takibi; geriye dönük hata analizini hızlandırır, müşteri şikâyetlerine hızlı cevap verilmesini sağlar, üretim süreçlerindeki insan ya da makine hatalarının görsel kanıtını sunar ve kalite süreçlerini dijitalleştirir. Bu amaçla geliştirilen sistemler, birden fazla bileşenin sıkı koordinasyonunu gerektirir: barkod/QR okutma, kamera kayıt stratejisi, zaman senkronizasyonu, meta veritabanı ve arama API'leri.
Hızlı başlangıç için gereksinimler (özet)
- Barkod/QR etiketleme noktaları ve okutma cihazları (manuel/otomatik).
- Hat kamerası(lar) ve video kaydı altyapısı (edge/yerel kayıt + merkezi arşiv).
- Zaman senkronizasyonu (NTP/PTP) ve tutarlı zaman damgası uygulaması.
- Metadata depolama için SQL Server benzeri ilişkisel veritabanı ve büyük medya dosyaları için obje depolama.
- C#, ASP.NET Core ile API katmanı; mesajlaşma için MQTT/RabbitMQ/Azure Service Bus gibi bir orkestrasyon katmanı.
İş akışı tasarımı: Uçtan uca
Aşağıdaki adımlar, gerçekçi bir endüstriyel senaryo için uygulanabilir akışı gösterir:
- Etiketleme: Her ürünün seri numarası/QR kodu üretimin erken bir aşamasında basılır veya aktarılır. ERP/Üretim Takip yazılımı ile seri numarası-malzeme ilişkilendirmesi sağlanır.
- Okuma noktası: Barkod/QR okutucu ürünün geçtiği kritik noktalarda (ör. montaj başlangıcı, kritik işlem, final kontrol) konumlandırılır. Okutma olayları bir olay mesajı (event) üretir.
- Kamera tetiklemesi ve tamponlama: Okutma olayına göre kamera ya anlık tetiklenir ya da sürekli alınan videodan ilgili zaman aralığına işaret konulur. Pratikte, kameralar 10–60 saniyelik parçalar halinde (chunk) ve küçük ön-bellek (pre-roll) ile kayıt yapması tercih edilir; böylece okutma anından önceki birkaç saniye de kaydedilmiş olur.
- Metadata üretimi: Okutma olayında üretilen bilgi (seri no, konum, zaman damgası, işlem adı, kamera id) metadata olarak SQL Server'a yazılır. Video chunk'ının saklandığı obje depolama yolu da metadata'ya eklenir.
- Arama ve geri çağırma: Bir sorgu (ör. "seri='ABC123'") API'ye gönderildiğinde, API ilgili metadata kayıtlarını getirecek, uygun video chunk'larını saptayacak ve oynatma veya indirme linkleri dönecektir.
Detay: Zaman damgaları ve senkronizasyon
Zaman uyumsuzluğu en sık rastlanan sorunlardan biridir. Kamera, PLC ve barkod okuyucular farklı saat kaynakları kullanıyorsa video ile okuyucu olayı arasında uyuşmazlık olur. Çözüm adımları:
- Cihazlarda NTP ya da mümkünse PTP kullanın. PLC ve kamera üreticileri PTP desteği sunuyorsa tercih edin.
- Edge cihazlar düzenli olarak saat durumunu merkezi sunucudan doğrulasın; saat kayması belirli eşik üzerinde ise uyarı üretilsin.
- Metadata modeline hem cihaz saati hem de sunucu saatini kaydedin. Böylece arada sapma tespit edilebilir.
Video kayıt stratejileri: Sürekli vs. olay tetikli
İki ana yaklaşım vardır:
- Sürekli kayıt (chunk-based): Kameralar sürekli kayıt yapar; kayıtlar 30–60 saniyelik parçalara bölünür ve obje depolamaya gönderilir. Okutma olayları ilgili zaman damgasına göre chunk'ları işaretler. Avantajı; her zaman pre-roll yakalama imkânı sunmasıdır. Dezavantajı; depolama maliyeti artar.
- Olay tetikli kayıt: Barkod okuma veya sensör tetiklemesi kamera kaydını bir süreliğine başlatır. Depolama daha verimlidir ama tetiklemeden önceki görüntüyü kaçırma riski vardır. Bu riski azaltmak için kamera local buffer (ör. 5–10 s) tutmalıdır.
Örnek metadata modeli (SQL Server için öneri)
Aşağıda tabloların temel kolonları; detaylar tesisin ihtiyaçlarına göre genişletilir:
- Products: ProductId (PK), SerialNumber, SKU, ERPOrderId, CreatedAt
- ScanEvents: EventId (PK), ProductId (FK), ScannerId, CameraId, EventType, DeviceTimestamp, ServerTimestamp, Location
- VideoChunks: ChunkId (PK), CameraId, StartTimestamp, EndTimestamp, ObjectPath, Checksum, ThumbnailPath
- ChunkLinks: LinkId (PK), EventId (FK), ChunkId (FK), OffsetSeconds, Note
İyi performans için SerialNumber, ProductId ve StartTimestamp sütunlarına uygun index'ler ekleyin; video tarihleri için partitioning düşünün (ör. aylık).
API tasarımı: Arama ve oynatma
Bir ASP.NET Core API kısa akış örneği (işlevsel gereksinimler):
- GET /api/videos/search?serial={serial} -> ilgili Event ve Chunk bilgilerini döner (thumbnail, oynatma URL'si, timestamp).
- GET /api/videos/{chunkId}/stream -> signed URL veya reverse-proxy ile video oynatımını sağlar.
- POST /api/events/scan -> barkod okutucu/edge cihaz tarafından gönderilen yeni okutma olayını alır ve ChunkLink oluşturulmasını tetikler.
Güvenlik: Oynatma linkleri süresiz olmamalı; signed URL veya JWT tabanlı erişim kullanın. Ayrıca API katmanında rol tabanlı erişim ile sadece yetkili kullanıcılar video görüntüleyebilsin.
Entegrasyon: ERP ve Üretim Takip Yazılımı
ERP veya MES ile entegrasyon, seri numarası ile iş emri ve parti bilgilerini ilişkilendirmek için kritik önemdedir. Entegrasyon tavsiyeleri:
- ERP'den alınan seri-sipariş eşlemesini düzenli olarak senkronize edin veya event-temelli güncelleme kullanın.
- API aracılığıyla ERP'den gelen sorgulara hızlı cevap verilebilmesi için ürün metadata'sını cache'leyin (ör. Redis) ama tutarlılık politikası belirleyin.
- Stok hareketleri ve sevkiyat öncesi barkod okutma ile video linkinin ERP siparişine iliştirilmesini sağlayın; böylece müşteri destek taleplerinde ERP üzerinden doğrudan video erişimi sunulabilir.
Operasyonel öneriler ve sık karşılaşılan sorunlar
- Zaman uyumsuzluğu: Çözüm için NTP/PTP ve metadata içinde hem cihaz hem server zamanını saklayın.
- Eksik kayıtlar: Kamera arızası veya ağ kopmalarında otomatik uyarı ve kayıt kurtarma mekanizması kurun; kısa test senaryoları ile uçtan uca doğrulama yapın.
- Depolama maliyeti: Eski kayıtları arşive taşıma, çözünürlük/piksel oranını düşürme veya yalnızca olayla ilişkilendirilen parçaları uzun süre tutma stratejileri kullanın.
- Arama performansı: Seri numarası sorguları için uygun indeksleme, partitioning ve gerektiğinde read-replica mimarisi uygulayın.
- Gizlilik: Müşteri/veri gizliliği gereksinimlerine göre erişim kontrolü, logging ve silme politikaları belirleyin.
Test, pilot ve ölçekleme planı
Uygulamayı doğrudan tüm hatta dağıtmadan önce şu aşamaları izleyin:
- Pilot: 1-2 kritik hattı seçin, barkod okutma + tek kamera ile uçtan uca senaryoları test edin.
- Doğrulama: Zaman senkronizasyonu, adli bütünlük (checksum), oynatma gecikmesi, API yanıt sürelerini ölçün.
- Genişleme: Ek hatlar, daha fazla kamera ve artan sorgu yükü için veri tabanı partitioning, obje depolama ve API ölçeklendirmesini planlayın.
Mühendislik notları: Pratik ipuçları
- Camera firmware ve edge yazılımlarını yönetilebilir tutun; otomatik dağıtım (CI/CD) ve sürüm takibi yapın.
- Video chunk'larına küçük boyutlu ön-ürün (thumbnail) ve kısa önizleme sesleri ekleyin; hızlı triage süresini kısaltır.
- Olay-metin içinde OCR/QRCode içeriğini ve ek sensör verilerini (ör. sıcaklık) saklayın; kök neden analizinde yardımcı olur.
- API sorgu sonuçlarında öncelikle zaman aralığına göre daraltma yapın; örneğin "son 24 saat içinde bu seri için hangi camera kaynak var" gibi filtreler uygulayın.
İleri seviye: Otomatik kök nedenanalizi ve LLM destekli özet
Video ve metadata yeterince olgunlaştığında, otomatik anomali tespiti ve olay özetleri üretmek mümkündür. Örneğin; video görüntü işleme ile yüzeysel defektleri işaretleyip, barkod olayıyla eşleştirerek otomatik rapor üretebilirsiniz. Bu aşamaya geçmeden önce temel veri kalitesi, zaman senkronizasyonu ve güvenlik kriterlerini sağlamış olmanız gerekir.
Sonuç ve uygulamaya geçiş için kısa kontrol listesi
- Seri/QR etiketleme noktalarını ve okutma politikasını belirlediniz mi?
- Kamera kayıt stratejinizi (sürekli/olay) ve tampon (pre-roll) gereksinimini tanımladınız mı?
- Zaman senkronizasyonu (NTP/PTP) ve metadata modeliniz hazır mı?
- SQL Server metadata, obje depolama ve ASP.NET Core API ile temel prototipi kurdunuz mu?
- ERP/MES entegrasyonunu, erişim kontrolünü ve arşivleme politikasını planladınız mı?
Eğer tesisinizde bu tür bir ürüne yönelik pilot başlatmak veya teknik detayları sahaya uyarlamak isterseniz, Kalite kontrol ve IoT birleşimini içeren altyapı yaklaşımlarını açıkladığımız Kalite Kontrol IoT hizmet sayfamıza göz atabilir veya doğrudan teknik değerlendirme için iletişim sayfamız üzerinden bize ulaşabilirsiniz. Bu makaledeki rehber, sahadaki yaygın zorluklara karşı doğrudan uygulanabilir adımlar ve mimari öneriler sunmayı amaçlamaktadır; uygulama ayrıntıları tesisin ekipman ve operasyon yapısına göre uyarlanmalıdır.
Kaynakça ve ileri okuma
- Zaman senkronizasyonu için NTP/PTP dokümantasyonları ve cihaz üreticisi yönergeleri.
- Objekt depolama (S3 uyumlu) ve video mumkuniyetleri hakkında sağlayıcı dokümanları.
- ASP.NET Core ile API güvenliği ve signed URL uygulamaları.
Bu rehber ile hedefimiz, üretim hattında seri numarası/QR kod ile ilişkilendirilmiş video kayıtlarını güvenilir ve hızlı biçimde bulmanızı sağlayacak teknik yol haritasını sunmaktır. Uygulama sırasında karşılaşacağınız spesifik sorulara göre veri modeli, zaman senkronizasyonu veya API tasarımını daha detaylı tartışabiliriz.
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 →