TinyPilot решает простую, но неприятную проблему: компьютер завис, сервер не загрузился, сеть на целевой машине не поднялась, а попасть в BIOS, загрузчик или консоль восстановления нужно прямо сейчас. Обычные VNC, RDP, SSH и AnyDesk в такой ситуации бесполезны, потому что работают уже внутри операционной системы. TinyPilot работает ниже: забирает видеосигнал по HDMI и притворяется USB-клавиатурой с мышью.
По сути, Raspberry Pi превращается в небольшой KVM over IP. Целевой компьютер видит обычный монитор и обычное USB-устройство ввода, а администратор открывает веб-интерфейс TinyPilot в браузере и управляет машиной удаленно. В официальном репозитории проект описан именно так: browser-based KVM с захватом HDMI-видео, пробросом клавиатуры и мыши, полноэкранным режимом и вставкой текста из буфера обмена.
Чем TinyPilot отличается от удаленного рабочего стола
Главное отличие видно в момент поломки. Удаленный рабочий стол требует работающей операционной системы, сетевого стека, службы удаленного доступа и часто учетной записи внутри самой ОС. TinyPilot требует только питание, видеовыход и USB-порт на целевой машине. Поэтому через TinyPilot можно зайти в BIOS или UEFI, увидеть ошибку загрузчика, поставить Linux или Windows, поправить параметры RAID-контроллера, выбрать загрузку с флешки и пережить ситуацию, когда сервер вообще не получил IP-адрес.
Архитектура довольно грубая, но надежная. HDMI-выход целевого компьютера идет в USB-захват, подключенный к Raspberry Pi. USB-C порт Raspberry Pi соединяется с USB-A портом целевой машины и работает как HID-устройство: клавиатура и мышь. Сам Raspberry Pi подключается к локальной сети по Ethernet или Wi-Fi, поднимает веб-интерфейс, стримит картинку и принимает ввод из браузера.
| Задача | RDP, VNC, SSH | TinyPilot |
|---|---|---|
| Работа после загрузки ОС | Да | Да |
| Доступ к BIOS или UEFI | Нет | Да |
| Установка ОС с нуля | Обычно нет | Да |
| Восстановление после сетевой ошибки на целевой машине | Нет | Да, если TinyPilot доступен по сети |
| Передача файлов | Часто есть | Не главный сценарий |
Что понадобится для сборки
Для самодельного варианта обычно берут Raspberry Pi 4B, карту microSD, блок питания на 3 А, HDMI-кабель, USB-C to USB-A кабель и HDMI-to-USB capture dongle. В документации TinyPilot отдельно упоминаются дешевые донглы на MacroSilicon 2109: работают, стоят недорого, но качество и стабильность зависят от конкретной ревизии железки. Для продакшена лучше относиться к такому донглу как к расходнику, а не как к надежному промышленному устройству.
Raspberry Pi 4B здесь удобнее Pi Zero или сторонних одноплатников не из-за мощности ради мощности. TinyPilot зависит от USB gadget/HID-режима, благодаря которому плата умеет притворяться клавиатурой и мышью. В обсуждениях проекта разработчики прямо называют поддержку usb-gadget-hid главным стопором для альтернативных плат и операционных систем. На Raspberry Pi OS такая база есть из коробки, на экзотическом железе можно быстро утонуть в ядрах, configfs и несовместимых USB-контроллерах.
Нужен и нормальный тепловой режим. Raspberry Pi 4 может работать без активного охлаждения, но KVM обычно лежит где-то рядом с сервером, роутером или рабочей станцией, включен постоянно и стримит видео часами. Пассивный алюминиевый корпус или небольшой вентилятор стоят дешевле, чем внезапная потеря доступа в момент, когда удаленный экран нужен больше всего.
Как подключить TinyPilot физически
Сначала соедините HDMI-выход целевой машины с HDMI-входом USB-захвата, а сам USB-захват вставьте в Raspberry Pi. Если у сервера только VGA, DisplayPort или mini HDMI, понадобится адаптер. Здесь лучше не усложнять цепочку: чем больше переходников между сервером и захватом, тем выше шанс получить черный экран, странное разрешение или нестабильную картинку.
Затем соедините USB-C порт Raspberry Pi с USB-A портом целевого компьютера. Через этот кабель TinyPilot будет отправлять на целевую машину нажатия клавиш и движения мыши. Тут есть нюанс с питанием. Если Raspberry Pi одновременно получает питание от целевой машины и от своего блока, возможны неприятные сценарии с обратным питанием. В аккуратной сборке используют нормальный блок питания, короткий качественный кабель и, при необходимости, USB-C OTG splitter или готовый power connector, где питание и данные разведены безопаснее.
Сеть лучше подключить проводом. Wi-Fi подойдет для домашней лаборатории, но для серверной диагностики Ethernet спокойнее: меньше задержек, меньше сюрпризов после перезагрузки точки доступа, проще закрепить IP-адрес на роутере. Если TinyPilot нужен как аварийный доступ, сам аварийный канал не должен зависеть от самой капризной части домашней сети.
Установка TinyPilot на Raspberry Pi
Базовый путь выглядит так: записать Raspberry Pi OS Lite на microSD, включить SSH, загрузить Raspberry Pi, зайти по SSH и запустить установщик TinyPilot. В README проекта для самостоятельной сборки указана Raspberry Pi 4B с Raspberry Pi OS Bullseye 32-bit. С более новыми образами Raspberry Pi OS ситуация может меняться, поэтому перед установкой стоит сверить требования в репозитории и выпусках проекта, а не брать старую инструкцию с форума как вечную правду.
Команда установки из официальной инструкции выглядит так:
curl --silent --show-error https://raw.githubusercontent.com/tiny-pilot/tinypilot/master/get-tinypilot.sh | bash - && sudo reboot
Команда удобная, но слепой запуск скрипта из сети через pipe в shell не должен становиться привычкой. Правильный порядок для аккуратной установки: открыть скрипт, посмотреть, что именно устанавливается, убедиться, что ссылка ведет на официальный проект, проверить активность репозитория и только потом запускать установку. На момент проверки у проекта есть свежие релизы, включая ветку 2.0.x, а страница выпусков помогает понять, насколько живой выбранный вариант.
После перезагрузки веб-интерфейс обычно открывается по имени Raspberry Pi в локальной сети, например через http://raspberrypi. Если имя не находится, посмотрите IP-адрес в панели роутера или выполните поиск устройств в локальной сети. Дальше в браузере появится окно с видеопотоком, клавиатурным вводом, мышью, полноэкранным режимом и вставкой текста из буфера обмена.
Что проверить сразу после первого запуска
Первая проверка не должна ограничиваться фразой «картинка появилась». Нужно перезагрузить целевую машину и убедиться, что TinyPilot видит POST-экран, BIOS или UEFI, меню загрузки и ранние сообщения операционной системы. Именно ради такого доступа KVM и собирают. Если изображение появляется только после загрузки Windows или Linux, проблема может быть в разрешении, HDMI-адаптере, видеовыходе или USB-захвате.
- Проверьте, видит ли целевая машина TinyPilot как USB-клавиатуру до загрузки ОС.
- Зайдите в BIOS или UEFI через TinyPilot, а не с физической клавиатуры.
- Попробуйте полноэкранный режим и оцените задержку мыши.
- Вставьте короткую строку через clipboard paste и проверьте раскладку.
- Закрепите статический IP-адрес Raspberry Pi на роутере.
- Проверьте температуру Raspberry Pi после 30-60 минут работы.
Если картинка нестабильна, начните с простого: другой HDMI-кабель, другой порт USB на Raspberry Pi, другое разрешение на целевой машине, другой capture dongle. Дешевые HDMI-захваты часто хорошо выглядят в описании товара, но по-разному ведут себя с BIOS-экранами, нестандартными разрешениями и старыми серверами.
Где TinyPilot хорош, а где лучше не ждать чуда
TinyPilot отлично подходит для домашней лаборатории, маленького офиса, удаленной диагностики рабочих станций, серверов без iDRAC или iLO, тестовых стендов и машин, которые иногда нужно переустанавливать с нуля. Особенно полезен внешний KVM там, где владелец машины находится далеко, а просить кого-то «подключи монитор, нажми F12, скажи что видишь» уже надоело.
Но TinyPilot не превращает Raspberry Pi в полноценную замену серверному BMC во всех сценариях. У классических iDRAC, iLO и IPMI обычно есть питание, датчики, журналы железа, виртуальные носители, интеграция с серверной платформой и удаленное управление состояниями питания. TinyPilot смотрит на компьютер снаружи: видит экран и отправляет ввод. Для многих задач такого уровня достаточно, но диагностику блока питания, ошибок памяти или аппаратных событий серверной платы TinyPilot сам не сделает.
Еще один предел связан с питанием целевой машины. Если компьютер полностью выключен и не подает питание на USB, а Raspberry Pi не питается отдельно, доступ пропадет. Если нужно включать или перезапускать машину удаленно, придется добавить умную розетку, управляемый PDU, реле или штатные средства материнской платы вроде Wake-on-LAN. Но Wake-on-LAN тоже не всегда помогает, особенно после сбоя питания или при криво настроенном BIOS.
Безопасность: KVM нельзя выставлять в интернет как веб-камеру
TinyPilot дает доступ к экрану и вводу почти на уровне физического присутствия перед машиной. Поэтому веб-интерфейс нельзя бездумно публиковать наружу через проброс порта на роутере. Такой доступ должен жить в доверенной локальной сети, через VPN, WireGuard, Tailscale, ZeroTier или другой защищенный канал. Пароль, обновления Raspberry Pi OS, ограничение доступа по IP и отдельная административная сеть здесь не паранойя, а нормальная гигиена.
Материал предназначен для легального и ответственного использования на собственных устройствах или системах, где у вас есть явное разрешение на администрирование. Нужно соблюдать законы своей страны, особенно России, правила организации и условия сервисов. TinyPilot и похожие KVM-инструменты нельзя использовать для несанкционированного доступа, слежки, обхода ограничений, вмешательства в чужие системы или скрытого управления компьютерами без согласия владельца.
Типовые ошибки при сборке
Самая частая ошибка — ожидать от дешевого HDMI-захвата качества настоящего серверного KVM. В браузере может быть задержка, мышь иногда ощущается непривычно, картинка зависит от разрешения, а старые BIOS-экраны порой выводят режимы, которые донгл переваривает плохо. Для установки ОС и аварийной диагностики обычно хватает, для ежедневной работы в графической среде TinyPilot подходит хуже.
Вторая ошибка — ставить TinyPilot на произвольную плату, потому что «там тоже Linux». Для KVM мало запустить веб-сервер и видеозахват. Плата должна уметь работать как USB HID-устройство в сторону целевого компьютера. Если USB gadget не поддерживается ядром или конкретным портом, клавиатура и мышь не заработают, даже если видеопоток уже виден.
Третья ошибка — забыть про доступность самого Raspberry Pi. Если устройство получает адрес по DHCP, подключено по слабому Wi-Fi, перегревается и лежит без нормального питания, аварийный KVM превращается в еще одну точку отказа. Минимальная аккуратная сборка включает статический DHCP lease, проводную сеть, нормальное питание, охлаждение и понятную подпись кабелей.
Можно ли использовать TinyPilot вместо монитора для обычной работы?
Можно, но такой сценарий не главный. TinyPilot полезнее как аварийная консоль, средство установки ОС и доступ к BIOS. Для ежедневной работы в графической среде RDP, Parsec, Moonlight, VNC или обычный монитор дадут меньше задержки и больше удобства.
Работает ли TinyPilot до загрузки Windows или Linux?
Да, именно в этом смысл KVM over IP. Если HDMI-захват видит сигнал, а целевая машина принимает USB-клавиатуру до загрузки ОС, TinyPilot позволяет управлять BIOS, UEFI, загрузчиком и установщиком операционной системы.
Можно ли собрать TinyPilot на Raspberry Pi Zero?
В отдельных сценариях энтузиасты экспериментируют с разными платами, но практичный выбор для самодельной сборки — Raspberry Pi 4B. У него хватает ресурсов, нормальная сеть и предсказуемая поддержка нужного USB gadget/HID-режима в Raspberry Pi OS.
Нужна ли платная версия TinyPilot?
Для домашней лаборатории и экспериментов можно начать с открытой версии из GitHub. Готовые устройства TinyPilot Voyager и TinyPilot Pro закрывают другой запрос: меньше возни с железом, аккуратный корпус, поддержка, более предсказуемое качество видеозахвата и функции коммерческой версии. Выбор зависит не от «лучше или хуже», а от цены простоя и готовности чинить сборку самому.
Когда сборка действительно имеет смысл
TinyPilot стоит собирать, если у вас есть хотя бы одна машина, к которой периодически нужен доступ ниже уровня операционной системы. Домашний сервер, NAS, тестовый стенд, рабочая станция в офисе, мини-ПК у родственника, лабораторный стенд разработчика — все эти сценарии быстро окупают вечер сборки. Особенно если альтернативой остается поездка к железке ради одной клавиши в BIOS.
Не стоит ждать от Raspberry Pi с HDMI-донглом промышленной надежности дорогих KVM over IP или серверных BMC. TinyPilot закрывает конкретный слой задач: увидеть экран, нажать клавиши, перезагрузить установщик, выбрать загрузочное устройство, восстановить доступ после сетевой ошибки. Если нужна аппаратная телеметрия, массовое управление парком серверов, виртуальные носители корпоративного уровня и SLA, лучше смотреть в сторону штатного BMC или коммерческих KVM.
Для аккуратного старта берите Raspberry Pi 4B, проводную сеть, нормальный блок питания, простой HDMI-захват, свежую инструкцию из документации и не открывайте веб-интерфейс в интернет. Такой набор не выглядит эффектно, зато дает то, ради чего KVM и нужен: спокойный доступ к машине тогда, когда операционная система уже не помогает.