12. Ana Bilgisayar Protokolü¶
Her OpenMV kamera, kamerayı bir ana bilgisayar programına bir dizi adlandırılmış veri kanalı olarak sunan bir protokol yığını ile gelir. Ana bilgisayar programı, geliştiricinin dizüstü bilgisayarındaki bir Python betiği, bir masaüstü grafik arayüzü, bir UART’ın diğer ucundaki başka bir kamera veya bir kamera filosunu izleyen bir iş istasyonunda çalışan bir hizmet olabilir. Kamera hangisi olduğunu umursamaz – aynı çerçeveleme, aynı güvenilirlik mekanizması, aynı kanal soyutlaması hepsi için çalışır.
Bu, bir kamera projesi IDE’den çıktıktan sonra sürekli ortaya çıkan iki sorunun yanıtıdır:
“Kameranın gördüğünü dizüstü bilgisayarımdaki özel bir grafik arayüze canlı olarak nasıl aktarırım?”
“Bir operatörün, yeniden flash yazmadan, çalışma zamanında bir eşik değerini değiştirmesine veya bir ilgi bölgesi seçmesine nasıl izin veririm?”
Kamera tarafındaki protocol modülü ve ana bilgisayar tarafındaki openmv-python paketi, kameradaki bir Python sınıfının, ana bilgisayardaki bir Python sınıfının okuyabileceği, yazabileceği ve olaylarına tepki verebileceği bir kanal sunmasına izin vererek her iki soruyu da yanıtlar; tümü tek bir USB veya seri bağlantı üzerinden.
Bölüm her iki tarafı da öğretir. Kamera tarafı kodu kanalların nasıl kaydedileceğini ve besleneceğini gösterir; ana bilgisayar tarafı kodu ise nasıl bağlanılacağını, kanalların nasıl listeleneceğini, verinin nasıl çekileceğini ve komutların geri nasıl gönderileceğini gösterir. openmv-projects/tools/ dizininde gelen gerçek araçlar, tam olarak burada gösterilen desenleri kullanır.
Çerçeveleme
Özet