📷 Подключение нового телефона как камеры

Что нужно сделать на стороне телефона, прежде чем разработчик сможет добавить точку в Pass Dish

Какой телефон

Android — да, iPhone — нет. Вся текущая связка (управление фокусом, качеством съёмки, непрерывная работа как сервер) построена на приложении для Android, которое отдаёт видео и принимает команды настройки по простым HTTP-запросам. На iOS аналогичных приложений с таким же уровнем удалённого управления камерой (фиксация фокуса на конкретном расстоянии, качество JPEG) практически нет — iOS сильно ограничивает фоновую работу с камерой и ручную настройку объектива для сторонних приложений. Если очень нужен именно iPhone — сначала обсудите с разработчиком, это отдельная задача, не «поставил и подключил» как с Android.

Требования к самому телефону: любой Android с рабочим Wi-Fi и достаточно приличной задней камерой. Телефон становится постоянной точкой съёмки, не используется как обычный телефон — держите его подключённым к зарядке постоянно.

Что установить

  1. IP Webcam (автор Pavel Khlebalin) — из Play Store. Бесплатное приложение-камера с HTTP-сервером внутри: отдаёт видео и фото по ссылке, принимает команды настройки. То же приложение уже используется на всех текущих камерах Pass Dish.
  2. Tailscale — из Play Store. Отдельная VPN-сетка, через которую сервер видит телефон, даже если физически они в разных Wi-Fi (проброс портов через роутер не нужен и не настраивается).

Настройка IP Webcam

Открыть приложение → прокрутить вниз → Start server. Дальше зайти в настройки (шестерёнка вверху) и задать:
РазделЧто поставитьЗачем
Video preferences → Video resolutionмаксимум из списка (обычно 1920×1080)чётче картинка
Video preferences → Quality90по умолчанию 49 — заметные блочные артефакты сжатия
Режим фокусаoff (зафиксирован)иначе автофокус «гуляет» каждый раз, когда в кадре что-то меняется — задержки и нестабильность
Расстояние фокусаподобрать после монтажа (см. ниже)дефолт — фокус на бесконечность, для съёмки крупным планом это размытая картинка
White balancedaylight«auto»/«fluorescent» под LED-подсветкой иногда дают розовый оттенок
Manual sensor (экспозиция)offручная экспозиция нестабильна на большинстве бюджетных Android — на некоторых моделях даёт чёрный кадр
Эти настройки на некоторых телефонах слетают на дефолт сами по себе спустя время — это известное поведение приложения, не баг с вашей стороны. Если через день-два картинка снова размылась или порозовела — просто повторите настройку.

Сеть — Tailscale

  1. Установить Tailscale, войти под тем же аккаунтом, что и остальные камеры — уточните у разработчика, каким именно (обычно рабочий аккаунт организации, не личный).
  2. После входа телефон получит адрес вида 100.x.x.x — это такой же постоянный «домашний» адрес, как у сервера, независимо от того, в каком Wi-Fi телефон физически находится.
  3. Проверить, что всё работает — с любого устройства в той же Tailscale-сети:
    curl http://100.x.x.x:8080/shot.jpg -o test.jpg
    Должен скачаться файл с текущим кадром камеры.

Физический монтаж

Калибровка фокуса (обязательно после монтажа)

Фокус фиксируется на конкретном расстоянии в диоптриях (0.00 = бесконечность, чем больше число — тем ближе точка фокуса). Дефолт после установки — 0.00, для крупной съёмки это гарантированно размытая картинка.

  1. Снять тестовый кадр: curl http://100.x.x.x:8080/shot.jpg -o test.jpg
  2. Задать пробное значение (шаг 0.10): curl "http://100.x.x.x:8080/settings/focus_distance?set=2.00"
  3. Снять кадр заново, сравнить резкость. Повторить с соседними значениями, пока картинка не станет чёткой при увеличении.
Ориентир: рабочее расстояние ~40-50 см от объектива до тарелки обычно соответствует диапазону 1.8-2.2 диоптрий — но это только отправная точка, у каждого телефона/объектива своя оптика, перебор обязателен. Дальше и ближе — соответственно меньше и больше по шкале.

Что передать разработчику

  1. Tailscale-адрес телефона (100.x.x.x) и порт (обычно 8080).
  2. Название точки — как называть эту камеру в интерфейсе (например, «Фотобокс-2», «Раздача — зал 2»).
  3. Подтверждение, что настройки из раздела выше применены (или сразу скажите, что не успели — разработчик может задать их удалённо через Tailscale, как только телефон появится в сети).
  4. Фото того, что реально видно в кадре — по нему размечается зона детекции и область обрезки.

После этого разработчик заводит новую запись в реестре камер и разворачивает изменения — руками на телефоне больше ничего делать не нужно, разве что появится «гуляющий» фокус/цвет — тогда см. раздел про настройку IP Webcam выше.