Sürüm 2.1
Arka plan
API'nin önceki sürümlerinde OSC uyumlu bir kamera, Google Street View iOS ve Android uygulamalarının bağlanabileceği bir kablosuz erişim noktası oluşturuyordu. Uygulama, fotoğraf çekmek için OSC kamerasını yönlendirir, ayrıca çekilen içeriği kameradan indirerek Google Street View'da yayınlar. İçeriğin yayınlanmasını hızlandırmak için OSC kameralarının doğrudan Street View sunucusuna içerik yüklemesine olanak tanıyan, isteğe bağlı yeni bir iş akışını kullanıma sunduk. Bu sayede, içeriklerin önce kameradan uygulamaya, ardından uygulamadan Street View sunucusuna uzun süren çift yönlü aktarımı ortadan kalkar. Bu özellik, API düzeyi 2.1'de eklenmiştir ve yalnızca hem kablosuz erişim noktası sağlayabilen hem de internete erişimi olan bir altyapı kablosuz erişim noktasına bağlanabilen OSC kameralarla ilgilidir.
Genel bakış
Yeni yükleme iş akışı, kameraların kullanıcıların iki kablosuz bağlantı modu arasında geçiş yapmasına olanak tanıyacak bir yol (ör. özel bir fiziksel düğme veya mevcut düğmelerin bir kombinasyonu) sunmasını gerektirir:
- Doğrudan mod: Bu modda kamera, bir mobil cihazın bağlanmasına izin veren bir erişim noktası görevi görür. Bu modda, mobil cihazlar fotoğraf çekme gibi görevleri gerçekleştirmek için kamerayı kontrol edebilir. Mobil cihazlar, kameranın daha sonra internet moduna geçmek için kullanabileceği kablosuz erişim noktası kimlik bilgilerini kameraya da sağlayabilir.
- İnternet modu: Bu modda kamera, internet erişimi olan bir kablosuz erişim noktasına bağlanır. Bu işlev, kamera daha önce doğrudan moddayken uygulamadan kendisine verilen erişim noktası tanımlayıcısını ve şifresini kullanır. Bu modda mobil cihazlar doğrudan kameradan Street View sunucusuna yükleme başlatabilir. Ayrıca, fotoğraf çekmek gibi işleri yapmak için kamerayı kontrol etmeye devam edebilirler.
Kamera modu, kapatılıp tekrar açılan kamerada da değişmelidir. Ayrıca kameranın, kullanıcıları geçerli kablosuz bağlantı modu hakkında bilgilendirmek için bir sinyal (ör. ışık, ses veya ekranda gösterge) sunması da önemle tavsiye edilir.
Ayrıca kamera, internet modundayken iletişimi işlemek için keşif protokollerine (Keşif konusuna bakın) sahip olmalıdır.
İnternet Modu Kurulumu
- Kullanıcı kamerayı açar. Etkinlik, İnternet modu henüz kurulmadığından Doğrudan modda başlar.
- Mobil cihaz kameranın kablosuz ağına bağlanır.
- Uygulama kendinden imzalı bir sertifika oluşturur.
- Uygulama,
switchWifi
komutunu, kameranın bağlanması gereken altyapı kablosuz erişim noktasının SSID'si, bu erişim noktasının şifresi ve kameranın daha sonra uygulamayı doğrulamak için kullandığı kendinden imzalı sertifikası ile kameraya gönderir.- Kameranın hem kablosuz ağ kimlik bilgisini hem de uygulamanın kendinden imzalı sertifikasını güvenli bir şekilde depolaması gerektiğini lütfen unutmayın.
- Kameranın farklı altyapı kablosuz erişim noktalarına bağlanması gerekebileceği için kameranın birden fazla kablosuz ağ kimlik bilgisini depolaması önerilir. Minimum gereksinim, kameranın en son kablosuz kimlik bilgilerini saklamasıdır.
- Kamera, uygulamanın daha sonra kameranın kimliğini doğrulamak için kullandığı kendinden imzalı sertifikasıyla yanıt verir.
- Kullanıcı artık Doğrudan mod ile İnternet modu arasında doğrudan kameradan (ör. fiziksel bir açma/kapatma düğmesi) geçiş yapabilir.
Discovery
OSC kameralar için keşif, sıfırconf tabanlı bir protokoldür. Kameranın IPv4 Bağlantı Yerel Adreslemesi uygulaması ve mDNS (Çoklu Yayın DNS) ile DNS-SD (DNS Tabanlı Hizmet Keşfi) spesifikasyonlarına uyması ZORUNLUDUR:
Hizmet Örneği Adları
OSC kameraları, Hizmet Örneği Adı'nın <Service>
kısmında _osc._tcp
kullanılmalıdır. OSC kameraları, Hizmet Örneği Adı'nın <Domain>
kısmında local.
kullanmalıdır. local
sonrasında .
öğesinin olduğuna dikkat edin.
TXT kaydı
Kameranın TXT kaydında şu anahtar/değer çiftlerini göndermesi gerekir:
txtvers
, ty
ve id
.
metin dosyaları
Gelecekte TXT sürümünde güncellemeler yapılmasına izin vermek için txtvers=1
anahtar/değer çiftini kullanın.
t
Kamera için kullanıcı tarafından okunabilir bir ad sağlar (ör.
ty=Google Street View Optimized Spherical Camera Model XYZ
).
id
Kameranın benzersiz bir kimliğini sağlar (ör. id=A unique id of the camera
). id
değeri, /osc/info
çıkışındaki cameraId
ile aynı OLMALIDIR.
Duyurular
Kamera başlatılırken veya kapatıldığında, kameranın mDNS spesifikasyonunda açıklandığı gibi duyuru adımını gerçekleştirmesi ZORUNLUDUR. İlgili duyuruyu aralarında en az bir saniyelik aralıklarla en az iki kez GÖNDERMELİDİR.
Başlangıç
Kamera başlatılırken mDNS spesifikasyonunda açıklandığı gibi araştırma ve duyuru adımlarını gerçekleştirmesi ZORUNLUDUR. Bu durumda SRV, PTR ve TXT kayıtları gönderilmelidir. Mümkünse tüm kayıtları tek bir DNS yanıtında gruplandırmanız önerilir. Aksi takdirde şu sıra önerilir: SRV, PTR, TXT kayıtları.
Kapat
Kamera kapatıldığında mDNS dokümanlarının 10.1 bölümünde açıklandığı gibi, TTL=0
ile birlikte bir "güle güle paketi" göndererek ilgili tüm tarafları bilgilendirmeye ÇALIŞMALIDIR.
Kendinden imzalı sertifika
Uygulama ve kamera, birbirlerinin kimliğini doğrulamak ve SSL karşılıklı kimlik doğrulaması kullanarak gönderilen verileri korumak için güvenli bir kanal oluşturmak amacıyla internet modu kurulumu sırasında paylaşılan kendinden imzalı sertifikaları kullanabilir.
İnternet modu sırasında uygulama, SSL sunucusu, kamera ise istemci görevi görür. Kamera, sunucunun sertifikasının uygulamanın kendinden imzalı sertifikasıyla eşleşip eşleşmediğini kontrol eder; uygulama da istemci sertifikasının kameranın sertifikasıyla eşleşip eşleşmediğini kontrol eder.
İnternet modu sırasında uygulama ile kamera arasında SSL bağlantısı kurmak için karşılıklı kimlik doğrulamayı (ör. OpenSSL) destekleyen herhangi bir SSL kitaplığı kullanılabilir.
Yeni Yükleme Akışı
- Kamera İnternet modunda değilse kullanıcı, kamerayı İnternet moduna geçirir. Kamera, depolanan kimlik bilgilerini kullanarak altyapı kablosuz ağına bağlanır.
- Mobil cihaz ayrıca altyapı kablosuz ağına bağlanır ve kamerayı bulur.
- Bunun için kameranın bir yerel keşif protokolü (mDNS/DNS-SD) uygulaması gerekir (Keşif bölümüne bakın).
- Nasıl uygulandığıyla ilgili belirli bir şart yoktur (mDNSResponder iyi bir referanstır).
- Hem uygulama hem de kamera, internet modu kurulumu sırasında kendinden imzalı sertifikalar oluşturup paylaşır. İnternet modu sırasında hem uygulama hem de kamera, karşılıklı SSL kimlik doğrulaması aracılığıyla birbirinin kimliğini doğrular.
- Kamera keşfedildikten sonra, HTTP 1.1'e göre doğrudan yerel ağ üzerinden istemci iletişimi bu kamerayla etkinleştirilir. Veri biçimleri JSON tabanlıdır. İstekler GET veya POST istekleri olabilir.
- Uygulama,
listFiles
komutuyla kameradan dosya listesi sorgular. - Uygulama, doğrudan kameradan Street View sunucusuna bir resim veya video yüklemek için
uploadFile
komutuyla yükleme işlemini başlatır. - Uygulama,
status
komutuyla yükleme ilerleme durumunu görmek için kamerayı düzenli olarak sorgular.