Phiên bản 2.1
Thông tin khái quát
Trong các phiên bản API trước, máy ảnh tuân thủ OSC sẽ tạo điểm truy cập Wi-Fi mà ứng dụng Chế độ xem đường phố của Google dành cho iOS và Android có thể kết nối. Ứng dụng sẽ vừa hướng dẫn máy ảnh OSC chụp ảnh, vừa tải nội dung đã chụp từ máy ảnh xuống để xuất bản lên Chế độ xem đường phố của Google. Để đẩy nhanh việc xuất bản nội dung, chúng tôi đã ra mắt một quy trình làm việc mới (không bắt buộc) cho phép máy ảnh OSC tải trực tiếp nội dung lên máy chủ Chế độ xem đường phố. Điều này giúp loại bỏ việc chuyển hai lần nội dung mất nhiều thời gian trước tiên từ máy ảnh sang ứng dụng, sau đó từ ứng dụng sang máy chủ Chế độ xem đường phố. Tính năng này được thêm vào API cấp 2.1 và chỉ phù hợp với các máy ảnh OSC có thể vừa cung cấp điểm truy cập Wi-Fi, vừa kết nối với một điểm truy cập Wi-Fi trong cơ sở hạ tầng có quyền truy cập Internet.
Tổng quan
Quy trình tải lên mới yêu cầu máy ảnh cung cấp một cách (ví dụ: nút vật lý chuyên dụng hoặc tổ hợp các nút hiện có) để cho phép người dùng chuyển đổi giữa hai chế độ Wi-Fi:
- Chế độ trực tiếp: Ở chế độ này, máy ảnh đóng vai trò như một điểm truy cập cho phép thiết bị di động kết nối với máy ảnh. Ở chế độ này, thiết bị di động có thể điều khiển máy ảnh để thực hiện các thao tác như chụp ảnh. Thiết bị di động cũng có thể cung cấp cho máy ảnh thông tin xác thực điểm truy cập Wi-Fi mà sau đó máy ảnh có thể sử dụng để chuyển sang Chế độ Internet.
- Chế độ Internet: Ở chế độ này, máy ảnh kết nối với điểm truy cập Wi-Fi có quyền truy cập Internet. Chế độ này sẽ sử dụng giá trị nhận dạng điểm truy cập và mật khẩu đã cung cấp cho điểm truy cập từ ứng dụng khi trước đó máy ảnh ở Chế độ trực tiếp. Các thiết bị di động có thể bắt đầu tải video lên từ máy ảnh trực tiếp từ máy chủ Chế độ xem đường phố ở chế độ này. Họ cũng có thể tiếp tục điều khiển máy ảnh để thực hiện các thao tác như chụp ảnh.
Chế độ máy ảnh sẽ vẫn tồn tại sau khi máy ảnh đang tắt và được bật lại. Ngoài ra, máy ảnh nên cung cấp tín hiệu (ví dụ: ánh sáng, âm thanh hoặc chỉ báo trên màn hình) để thông báo cho người dùng về chế độ Wi-Fi hiện tại.
Máy ảnh cũng phải triển khai các giao thức khám phá (xem phần Khám phá) để xử lý hoạt động giao tiếp khi máy ảnh đang ở chế độ Internet.
Thiết lập chế độ Internet
- Người dùng bật máy ảnh. Quá trình này sẽ bắt đầu ở Chế độ trực tiếp vì Chế độ Internet chưa được thiết lập.
- Thiết bị di động kết nối với Wi-Fi của máy ảnh.
- Ứng dụng tạo một chứng chỉ tự ký.
- Ứng dụng gửi lệnh
switchWifi
đến máy ảnh bằng SSID của điểm truy cập Wi-Fi cơ sở hạ tầng mà máy ảnh cần kết nối, mật khẩu của điểm truy cập đó và chứng chỉ tự ký mà máy ảnh sử dụng để xác thực ứng dụng sau này.- Xin lưu ý rằng máy ảnh phải lưu trữ cả thông tin xác thực Wi-Fi và chứng chỉ tự ký của ứng dụng một cách an toàn.
- Máy ảnh nên lưu trữ nhiều thông tin xác thực Wi-Fi vì máy ảnh có thể cần kết nối với nhiều điểm truy cập Wi-Fi trong cơ sở hạ tầng. Yêu cầu tối thiểu là để máy ảnh lưu trữ thông tin đăng nhập Wi-Fi gần đây nhất.
- Máy ảnh phản hồi bằng chứng chỉ tự ký mà ứng dụng sẽ dùng để xác thực máy ảnh sau này.
- Giờ đây, người dùng có thể chuyển đổi giữa Chế độ trực tiếp và Chế độ Internet ngay từ máy ảnh, chẳng hạn như bằng nút bật tắt vật lý.
Chiến dịch Khám phá
Khám phá dành cho máy ảnh OSC là giao thức dựa trên zeroconf. Máy ảnh PHẢI triển khai Địa chỉ liên kết cục bộ IPv4 và PHẢI tuân thủ thông số kỹ thuật mDNS (Multicast DNS) và DNS-SD (DNS-Based Service Discovery):
Tên bản sao dịch vụ
Đối với phần <Service>
của Tên phiên bản dịch vụ, máy ảnh OSC phải sử dụng _osc._tcp
. Đối với phần <Domain>
của Tên phiên bản dịch vụ, máy ảnh OSC phải sử dụng local.
. Lưu ý rằng có một .
đứng sau local
.
bản ghi TXT
Chúng tôi yêu cầu máy ảnh gửi các cặp khoá/giá trị sau đây trong bản ghi TXT: txtvers
, ty
và id
.
tệp txt
Để cho phép cập nhật phiên bản TXT trong tương lai, hãy sử dụng cặp khoá/giá trị txtvers=1
.
mã
Cung cấp tên máy ảnh mà người dùng đọc được, ví dụ: ty=Google Street View Optimized Spherical Camera Model XYZ
.
id
Cung cấp mã nhận dạng duy nhất của máy ảnh, ví dụ: id=A unique id of the camera
. Giá trị của id
PHẢI giống như cameraId
trong đầu ra /osc/info
.
Thông báo
Khi khởi động hoặc tắt máy ảnh, máy ảnh PHẢI thực hiện bước thông báo như mô tả trong thông số kỹ thuật mDNS. nó nên gửi thông báo tương ứng ít nhất hai lần với ít nhất một khoảng thời gian một giây giữa chúng.
Khởi động
Khi khởi động máy ảnh, nó PHẢI thực hiện thăm dò và thông báo các bước như mô tả trong thông số kỹ thuật mDNS. Bạn phải gửi bản ghi SRV, PTR và TXT trong trường hợp này. Nếu có thể, bạn nên nhóm tất cả bản ghi vào một phản hồi DNS. Nếu không, bạn nên dùng thứ tự sau: bản ghi SRV, PTR, TXT.
Tắt
Khi tắt máy ảnh, bạn nên cố gắng thông báo cho tất cả các bên quan tâm bằng cách gửi “gói tạm biệt” với TTL=0
như mô tả trong phần 10.1 của tài liệu mDNS.
Chứng chỉ tự ký
Ứng dụng và máy ảnh có thể sử dụng chứng chỉ tự ký được chia sẻ trong quá trình thiết lập chế độ Internet để xác thực nhau và xây dựng một kênh an toàn để bảo vệ dữ liệu được trao đổi, sử dụng phương thức xác thực lẫn nhau SSL.
Khi ở Chế độ Internet, ứng dụng sẽ hoạt động như một máy chủ SSL và máy ảnh đóng vai trò là máy khách. Máy ảnh sẽ kiểm tra để đảm bảo chứng chỉ của máy chủ khớp với chứng chỉ tự ký của ứng dụng, đồng thời ứng dụng sẽ kiểm tra để đảm bảo rằng chứng chỉ của ứng dụng khớp với chứng chỉ của máy ảnh.
Bạn có thể dùng bất kỳ thư viện SSL nào hỗ trợ xác thực lẫn nhau (ví dụ: OpenSSL) để thiết lập kết nối SSL giữa ứng dụng và máy ảnh trong Chế độ Internet.
Quy trình tải lên mới
- Nếu máy ảnh không ở Chế độ Internet, người dùng sẽ chuyển máy ảnh sang Chế độ Internet. Camera sẽ kết nối với Wi-Fi của cơ sở hạ tầng bằng thông tin xác thực đã lưu trữ.
- Thiết bị di động này cũng kết nối với Wi-Fi cơ sở hạ tầng và tìm thấy máy ảnh.
- Việc này yêu cầu máy ảnh phải triển khai giao thức khám phá cục bộ mDNS/DNS-SD (xem phần Khám phá).
- Không có yêu cầu cụ thể về cách triển khai tính năng này (mDNSResponder là một tài liệu tham khảo hữu ích).
- Cả ứng dụng và máy ảnh đều tạo và chia sẻ chứng chỉ tự ký trong quá trình thiết lập chế độ Internet. Trong Chế độ Internet, cả ứng dụng và máy ảnh đều xác thực lẫn nhau thông qua phương thức xác thực SSL chung.
- Sau khi phát hiện thấy máy ảnh, hoạt động giao tiếp ứng dụng sẽ được bật trực tiếp qua mạng cục bộ dựa trên HTTP 1.1. Các định dạng dữ liệu dựa trên JSON. Các yêu cầu có thể là các yêu cầu GET hoặc POST.
- Ứng dụng này truy vấn máy ảnh để lấy danh sách các tệp bằng lệnh
listFiles
. - Ứng dụng bắt đầu tải lên bằng lệnh
uploadFile
để tải trực tiếp hình ảnh hoặc video từ máy ảnh lên máy chủ Chế độ xem đường phố. - Ứng dụng sẽ thăm dò máy ảnh theo định kỳ để biết tiến trình tải lên bằng lệnh
status
.