Итак, о чём это? Сейчас для удалённого управления компьютером есть великое множество программ на любой цвет, вкус и запах. Но что, если мы хотим пойти немного дальше, и наши требования к удалённому управлению становятся немного жёстче:
- Мы хотим иметь возможность не только работать в операционной системе, но и заходить в биос, или вообще эту систему переустановить.
- По тем или иным причинам, компьютер не может быть подключён к сети, но управлять им мы от этого меньше не хотим, а рядом у нас есть компьютер, который в сети находиться может.
Но как это сделать? Вот этим мы тут и будем заниматься...
▍ Как я к этому пришёл
Иногда мне приносят разное железо с просьбами переустановить винду/почистить вирусы и т. д. А я что? Я ж программист простой: мне приносят и просят сделать — я делаю. Но порой не очень удобно подключать к этому всему отдельную мышь/клавиатуру и монитор, а бывает, что там идёт долгий процесс, не требующий особого вмешательства, но периодически надо сделать пару кликов, что я мог бы сделать удалённо с работы, будь у меня такая возможность, и сэкономить кучу времени вечером. Я знаю, что такое удалённое управление бывает на серверных материнских платах, но в последний раз мне приносили сервер, чтобы я переустановил на нём Windows никогда, или даже ещё раньше.
В какой-то момент у меня возникла в голове идея: есть же недорогие устройства видеозахвата USB-HDMI, а ещё есть ESP32 S2/S3, которые умеют эмулировать USB. А что нам ещё надо? Изображение с компьютера мы можем получить, клавиатуру/мышь можем проэмулировать. Может быть, такие проекты даже уже есть, но когда мне в голову приходит идея, которая кажется мне интересной, я:
Ну что ж, проекту быть, и для него нам потребуется следующий минимум:
- HDMI-плата захвата видео
- Плата ESP32 S3 — у неё сразу есть 2 TypeC разъёма, что упростит нам жизнь
- HDMI-кабель
- 2 кабеля USB TypeA — TypeC
- Компьютер с Windows, стоящий рядом
С железом условно всё, и если нам не нужно управлять аппаратной перезагрузкой/включением компьютера, то нам даже не придётся ничего паять. А если нужно, то всему своё время…
Итак, возможно, когда я написал пункт «Компьютер с Windows, стоящий рядом», я кого-то очень сильно огорчил. И я согласен, что решение не самое оптимальное, если бы всё работало под Linux, да ещё выводить всё в Web, то можно было бы взять Малинку/Апельсинку и… Но нет. Хотя, может и да, ведь проект открытый, и если у кого-нибудь будет время, желание и умение, то он может переделать под Линукс мой проект, сделанный на .Net, но пока я всё основное время работаю под осью одной из корпораций зла, проект только под Винду.
▍ Приступаем к работе
Ладно, начинаем. Схема подключения простая:
Теперь, когда у нас всё подключено, что дальше? Дальше пишем ПО.
ПО написано, что делаем дальше? Для начала надо залить прошивку на нашу ESP32 S3. Убеждаемся, что драйверы ком-порта у нас установлены (откуда их брать, обычно указывает продавец этой самой платы). Для заливки прошивки я использовал Arduino IDE, тем более что скетч написан именно в нём. В этой статье я не буду подробно описывать процесс настройки Arduino IDE на работу с платами EST32 и прошивки — его можно найти, например, везде, и он довольно прост. Дальше перейдём непосредственно к ПО для удалённого управления, а тут всё ещё проще:
Подключаем всё, включаем компьютер, которым мы хотим управлять, и в программе нажимаем кнопку подключения. И если все звёзды на небе сошлись, то мы видим изображение с монитора компьютера, у нас есть мышь и клавиатура и они работают.
▍ Немного о коде
Прежде чем продолжить проект, добавив к нему ещё пару крутых фич, я предпочту немного замедлиться и погрузиться в код, который был написан. И если со стороны всё выглядит как вжух и готово, то на деле было не совсем так. Начиная этот проект, я стал искать библиотеки для .Net для работы с устройствами видеозахвата. И первое, что мне попалось, было OpenCvSharp. Я проверил, что эта библиотека работает с веб-камерами и другими подобными устройствами и выдаёт изображение на WinForms. Отказался я от неё потому, что не нашёл у неё возможности нормально перечислить список всех камер с их именами для выбора в меню, а городить это отдельно не очень хотелось, и пока я ещё не сильно привык к этой библиотеке, я стал смотреть другие.
Следующей была AForge. В ней список камер перечислялся нормально, с именами и фамилиями, и, казалось бы, всё было хорошо, но нет. Когда я тестировал программу на реальном устройстве видеозахвата, всё было хорошо, но когда отлаживался на виртуальной веб-камере от OBS Studio, картинку я не получал. При этом ошибку тоже. Я не получал ничего, я был просто проигнорирован и видел, как происходит ничего. Мне не понравилось. Я бы подумал, что что-то не так с самой камерой у OBS, но в OpenCvSharp всё прекрасно работало. И я стал копать… И вот щетина на моём лице уже выросла, вся водка была выпита, медведь доиграл свою арию на балалайке, но ничего по-прежнему не работало. Но вскоре проблема вскрылась. AForge принудительно запрашивает у камеры формат RGB24, и если устройство его поддерживает, то всё ОК. А если нет, тады ой. Камера от OBS поддерживала формат NV12, но AForge не умела его декодировать, как и многие другие форматы. Можно было оставить эту библиотеку и пойти к следующей, но это уже было делом принципа, я потратил на поиск этой особенности слишком много времени, и раз уж исходный код AForge открыт, я решил его поправить. В очередной раз я убедился, насколько ChatGPT (и ему подобные) делают нашу программистскую жизнь легче.
write me c# function that converts YUY2 format pixels (IntPtr buffer, int bufferLen) to Bitmap
Ответ:
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
public class YUY2Converter
{
// Function to convert YUY2 buffer to a Bitmap
public static Bitmap ConvertYUY2ToBitmap(IntPtr buffer, int bufferLen, int width, int height)
{
// Validate buffer length
if (bufferLen != width * height * 2)
throw new ArgumentException("Invalid buffer length for given width and height");
// Create a new Bitmap
Bitmap bitmap = new Bitmap(width, height, PixelFormat.Format24bppRgb);
// Define YUV constants for conversion
float yFactor = 1.164F;
float uFactor = 2.018F;
float vFactorR = 1.596F;
float uFactorG = -0.391F;
float vFactorG = -0.813F;
// Lock bitmap data for direct access
BitmapData bmpData = bitmap.LockBits(new Rectangle(0, 0, width, height),
ImageLockMode.WriteOnly,
bitmap.PixelFormat);
unsafe
{
byte* pYUY2 = (byte*)buffer;
byte* pBmp = (byte*)bmpData.Scan0;
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x += 2)
{
int y0 = pYUY2[0];
int u = pYUY2[1] - 128;
int y1 = pYUY2[2];
int v = pYUY2[3] - 128;
// Convert YUV to RGB for first pixel (x)
byte r = ClampToByte(yFactor * y0 + vFactorR * v);
byte g = ClampToByte(yFactor * y0 + uFactorG * u + vFactorG * v);
byte b = ClampToByte(yFactor * y0 + uFactor * u);
// Set first pixel (x) in bitmap
int idx1 = ((y * width) + x) * 3;
pBmp[idx1 + 2] = r;
pBmp[idx1 + 1] = g;
pBmp[idx1] = b;
// Convert YUV to RGB for second pixel (x + 1)
r = ClampToByte(yFactor * y1 + vFactorR * v);
g = ClampToByte(yFactor * y1 + uFactorG * u + vFactorG * v);
b = ClampToByte(yFactor * y1 + uFactor * u);
// Set second pixel (x + 1) in bitmap
int idx2 = ((y * width) + x + 1) * 3;
pBmp[idx2 + 2] = r;
pBmp[idx2 + 1] = g;
pBmp[idx2] = b;
// Move to the next set of YUYV values (4 bytes)
pYUY2 += 4;
}
}
}
// Unlock the bitmap data
bitmap.UnlockBits(bmpData);
return bitmap;
}
// Helper function to clamp values to byte range
private static byte ClampToByte(float value)
{
return (byte)Math.Max(0, Math.Min(255, (int)value));
}
}
Вот так легко и просто ChatGPT сгенерировал мне функцию перекодировки YUY2 в RGB, также я сделал для NV12, YUYV и I420. Если бы я писал это сам, я бы потратил на это, может быть, весь день, пока разбирался в этих форматах пикселей и отлаживал баги. А тут код написан за минуту и после визуальной проверки на отсутствие явной лажи уже работал в проекте, сразу же после компиляции. Ладно, если нужна бочка дёгтя на вашу ложку мёда, я вам её таки дам: так хорошо бывает не всегда, иногда он генерит нерабочий код, иногда рабочий, но неэффективный. Но можно попросить его ещё раз? и часто у него получается лучше.
▍ Немного про экран
При удалённом управлении часто бывает, что размеры удалённого экрана превышают размеры окна, в котором мы работаем. И самый простой вариант — это обычное пропорциональное растягивание/сжатие картинки под размер рабочей области окна.
Но, бывают ситуации, когда хочется видеть всё в масштабе 1 к 1, а удалённый экран больше нашего. И я отметил для себя 4 разных варианта, один из которых и реализовал:
1. Просто скроллбары по краям, которые нужно скроллить мышкой вручную. Это не очень удобно.
2. Стиль RAdmin — когда мы подводим мышку к краю окна и ведём её дальше, экран начинает скроллиться, а движение мышки блокируется. Уже лучше, но мне не нравится, что в этом случае при проскролливании нужно блокировать движении мыши.
3. Стиль Aspia — когда мы подводим мышку к краю окна, окно начинает само скроллиться, перемещение мышки при этом не блокируется.
4. По мере того, как мы ведём мышью от одного края нашего окна к другому, экран сам проскролливается к этому краю. Поначалу не привычно, но потом вполне удобно. Этот вариант мне понравился больше, и именно его я и реализовал.
▍ Эмуляция устройства ввода
С ESP32 S3 программа взаимодействует через ком порт. Она просто отправляет ей команды (KeyDown, KeyUp, MouseDown, MouseUp, MouseMove). Для мышки была выбрана эмуляция устройства с абсолютным позиционированием курсора, там передаются координаты x и y в пределах от 0 до 32768. Таким образом мне не нужно думать, какое разрешение на удалённом компьютере, всё будет работать само. С клавиатурой оказалось немного сложнее — получаемые коды клавиш нельзя было просто передать один в один в класс USBHIDKeyboard, точнее можно, но со своими приколами, которые местами все портили. Но можно было передавать сырые USBHID-коды, в которые нажатые клавиши надо было сконвертировать. Этот путь я и выбрал. Дальше эти нажатия/отжатия уже отправляются на устройство и эмулируются на конечной системе. Я не стал заморачиваться с перехватом особых спец-клавиш типа CapsLock, но на сегодняшний день у меня нет сценариев, где это могло бы потребоваться.
Переходим к проверке:
Заходим в биос, загружаемся в ОС, проверяем, как работает мышь и клавиатура
▍ А теперь сделаем это ещё лучше!
В процессе создания всего этого безобразия я решил, что его можно сделать ещё безобразней! А именно: мне внезапно может потребоваться перезагрузить компьютер, если он завис наглухо. Или выключить, а то чего он тут работает? А потом включить потому, а то чего это он не работает? Для этого надо замкнуть соответствующие пины на материнской плате. Это разъём Fpanel и нам нужны вот эти ребята:
У меня дома валялось пара реле с управлением от 3 вольт, и я подключил его управление к пинам ESP32 S3, а замыкание к пинам материнской платы и… естественно, ничего не заработало, потому что нельзя подключать реле к пинам ESP32 напрямую, они не дают такой ток, чтобы сработала катушка реле, но:
Дяденька, я, на самом деле, не настоящий электронщик, я этот паяльник нашёл!
Ладно, у меня валялись ещё IFR3205. Не надо на меня так смотреть, я понимаю, что использовать их для включения реле — это дикая дичь, они были рождены летать, а не ползать. Но ничего не выйдет, потому что, я сказал «ползать» и они поползли! Я не буду выкладывать схему подключения этого безобразия, потому что мне стыдно. Проще взять готовые к подключению напрямую реле типа этих и не париться:
Я использовал пины 17 и 18, но если нужны другие, можно поменять это в скетче.
Итак, теперь у меня заработали кнопки перезагрузки и включения удалённого компьютера. Также я добавил возможность ввода текста из буфера обмена эмуляцией нажатия этих клавиш (как в HyperV). Программа даже умеет переключать раскладку, если видит русские буквы в тексте. Главное, чтобы изначально раскладка на удалённой системе всегда была выбрана английской, а то будет всё наоборот. И вроде бы всё было закончено. Но тут мне пришла в голову ещё одна безумная идея…
▍ А как насчёт реальной камеры?
Да, ведь мне могут принести ноутбук или моноблок, у которого может и не быть второго видеовыхода, а если и быть, то не факт, что он будет выводить туда стартовую загрузку. Поэтому я могу просто поставить камеру перед экраном и брать изображение с него. Но! Я же никогда не смогу поставить камеру настолько идеально ровно, чтобы экран был чётко в кадре, не вылезая из него и не оставляя лишнего по краям. А если экран не будет точно заполнять кадр, то собьются и координаты мыши. Поэтому мы будем натягивать
Теперь мы можем натянуть картинку с камеры на наш экран, и мышка ездит от угла к углу достаточно точно. Качество изображения, конечно, прекрасно настолько, что от работы с такой картинкой возникает непременное желание куда-нибудь выйти, например, в какое-нибудь ближайшее окно. Но тут уже всё зависит от качества камеры. Главное, возможность есть.
Готовы поработать так на удалёнке весь день?)
▍ Бонус
Не люблю я, когда устройство не похоже на устройство. У меня давно сложилась простая схема для создания корпусов:
А ещё у меня есть 3D-принтер! Поэтому проектируем такую коробочку:
Я делал под свои реле, но это OpenSCAD и там легко можно задать размеры и количество для своих.
Я всегда делаю корпуса под болтики для компьютерных вентиляторов, они хорошо вкручиваются и крепко держатся в пластике и не нужно вплавлять гайки
Воплощаем это в пластике
Теперь собираем всё вместе
Термоклеем делаем блямбы на проводах, чтобы не оторвать пайку, если дёрнуть за них
А вот и устройство. Во всяком случае похоже на устройство. Если бы я не знал, как выглядят устройства, я бы подумал, что это, возможно, оно.
Кажется, это устройство
▍ Дайте мне это немедленно!
Как обычно, всё, что я сюда выкладываю — MIT, поэтому делайте с этим, что хотите, кроме модифицированной AForge, там GPL/LGPL, но я все исходники выложил и чист перед ними)
Страница проекта: тут.
Но на всякий случай предупреждаю, что я особо не сижу на GitHub, редко туда захожу, не часто там отвечаю, просто выложил и забыл. А сюда пишите, отвечу)
© 2024 ООО «МТ ФИНАНС»
Telegram-канал со скидками, розыгрышами призов и новостями IT ?
Комментарии (62)
Saz_An
01.11.2024 10:10Для тех, кто самостоятельно хочет KVM сделать советую глянуть на PiKVM - можно и самому собрать на Raspberry Pi, можно готовый модуль заказать (это эдакий стандарт KVM любительского уровня). А так есть еще Sipeed NanoKVM (на RISC-V) из готовых и дешевых.
blind_oracle
01.11.2024 10:10Плюсую NanoKVM Lite - по цене, думаю, сравнимо с устройством автора и при этом раз в 5 меньше
CodeName33 Автор
01.11.2024 10:10Не сказал бы я, что по цене сопоставимо) Другое дело, что NanoKVM Lite - это готовое сетевое устройство, в то время, как мое требует компьютера для управления и еще и с виндой на борту. Поэтому на конечную цену влияет следующий фактор: есть ли у вас рядом с целевым устройством постоянно включенный компьютер или нет)
Daddy_Cool
01.11.2024 10:10Очень интересно!
Sipeed NanoKVM стоит порядка 9 тыс. руб., а PiKVM 300-400$.LordKorvin
01.11.2024 10:10Pikvm на малинке pi zero 2w обошелся мне в 9,5 тыс. Впрочем, на али наноквм стоит вообще 3,5к, жаль, что раньше про нее не узнал)
M_AJ
01.11.2024 10:10на али наноквм стоит вообще 3,5к
Странно, я дешевле, чем 7300 + доставка 1500 не нашел.
Vrag
01.11.2024 10:10Откуда такие цифры? =) Меньше 30$ за голые платы или чуть за 50 за версию в корпусе с экраном и управлялкой питания.
Daddy_Cool
01.11.2024 10:10О! За 5000 взял бы сразу! Ссылкой угостите? Лучше без экрана и без питания, чтоб штучка перед глазами не маячила.
Saz_An
01.11.2024 10:10Они так стоят официально, но в РФ не доставляют, а так дороже будет. Может там что-то поменяться успело, конечно. Поищите предложения актуальные.
GuessWho
01.11.2024 10:10У них на сайте заказал в сентябре еще 5 штук за $225 и доставка $20 в Казахстан, пока молчок по доставке, у них там очередь за ними
Vrag
01.11.2024 10:10Вы с офсайта заказывали или из магазина на ali? Просто буквально позавчера с друзьями из РК разговаривали про KVM и сватал им эту железку. А сегодня выяснил, что али считает, что РК входит то ли в состав РФ то ли в США. Короче говоря, в Казахстан тоже не отправляют.
Vrag
01.11.2024 10:10Так пока блоггерам и предзаказ. =))) Я хотел вам сказать, что в их офф. магазине на али - но не увидел, что они не доставляют в рф и, почему-то, сша (хотя тут может быть вопрос в санциях в ту или иную сторону). Хотя амерканские блоггеры их как раз сейчас во всю и PRят.
Saz_An
01.11.2024 10:10Для блогеров уже JetKVM горячая штучка
Vrag
01.11.2024 10:10Больше ipKVM'ов хороших и разных! Но тут на старте хотят с бэкеров $69. Когда и если стрельнёт, то он, очевидно, будет дороже. Мне например такая штука понадобится скорее всего раз в год. Т.е. для меня отсутствие корпуса маловажно, но важна цена и тут 25$ бьют 70$. При условно необходимом и достаточном функционале.
TerAnYu
01.11.2024 10:10Единственный продавец - это магази Sipeed Store, все остальные - барги и перекупы.
Поделюсь секретом, который мне сообщил чувак в их канале в телеге - напишите продавцу в личку, распишите свою ситуацию и желание покупки, он вам напишет предложение, что можно купить взамен (мне написал, что можно минимум 3 штуки купить и предложил вариант покупки какого-то dev кита, у которого суммарная стоимость равна трём nanoKVM).
mbait
01.11.2024 10:10А если чуть вбросить денег, то можно взять BliKVM, которое ещё и эстетично устанавливается в слот PCI-E. Питается, правда, или по USB, или по PoE.
Saz_An
01.11.2024 10:10Там PiKVM насколько помню
mbait
01.11.2024 10:10Ну да, поэтому и написал в эту ветку. Просто вместо обычной малинки используется CM4 и специальная плата под слот PCI-E, в которой уже из коробки есть захват HDMI (в PiKVM DIY нужно докупать модуль) и вывод состояния на микродисплей.
remzalp
01.11.2024 10:10Любопытно, а для захвата изображения, через тот же свисток - мощей esp32 хватит? а то тогда можно вообще самодостаточный гаджет с подключением по вифи реализовать
CodeName33 Автор
01.11.2024 10:10В свое время играл с ESP32S2 (https://habr.com/ru/articles/685768/) и там была проблема в том, что USB - достаточно медленный, WiFi - достаточно меделенный. Не уверен, что она сможет нормально передавать изображение 1080P.
ykira
01.11.2024 10:10https://github.com/nopnop2002/esp-idf-video-streaming
Возможно 640*480 15fps получится превратить в HD 5fps
Stanislavvv
01.11.2024 10:10Даже если хватит для захвата, не хватит полосы для полноценной передачи захваченного видео. А сжатие в mjpeg или что-то более пригодное для вайфая уже не получится. Лучше таки RPi или что-то аналогичное.
Заодно и можно не изобретать велосипед для видео и транслировать через vlc, слегка перекодируя на лету.
V-core
01.11.2024 10:10Простите, KVM-over-IP, я думал, придумали давно.
CodeName33 Автор
01.11.2024 10:10Тут бюджет 450р ESP32S3 + 400р плата HDMI захвата + провода. Т.е. 1000р +/- за все. Эх, если бы IP-KVM столько стоили...
strelkan
01.11.2024 10:10ну тут вроде не по ip передача
CodeName33 Автор
01.11.2024 10:10У меня была задача сделать полное управление компьютером с другого компьютера, где первый не в сети, а второй соответственно уже в сети и может управляться удаленно любыми средствами.
Lordzero
01.11.2024 10:10Идея интересная, но как кейс в реальной жизни очень специфическая, думаю что очень мало вариантов реального применения IRL. Разве что удаленная настройка/переустановка рабочих станций из центра default city где нибудь в дальнем зажопье типа Норильска и т.п.
Да и то, это далеко не единственная возможная реализация
Saz_An
01.11.2024 10:10Для домашнего сервера удобно, на серваках же промышленных есть KVM, типа iDRAC или iLO. Какие то компы удаленно настраивать да, тоже топ
nixtonixto
01.11.2024 10:10Термоклеем делаем блямбы на проводах, чтобы не оторвать пайку, если дёрнуть за них
Проще завязывать на проводах узлы.
serafims
01.11.2024 10:10Я бы в место камеры просто простую камеру с HDMI выходом цеплял бы, или даже через коммутатор HDMI.
Тогда esp32 заменяется на какую-нибудь ерунду типа Arduino Leonardo, но есть тонкости, эмуляция клавиатуры там поддерживается в биосе как-то особенно.
Решение очень прикольное, если реализовать в виде комплекта , который простой пользователь может поставить перед компом, воткнуть флешку (вот прокидывать флешки с разными образами было бы прикольно по сети, либо локально их коммутировать коммутатором. ) , а начинающий сисадмин эникейщик сможет за меньшие деньги удаленно все поставить настроить из любого региона страны. Получаем биржу удаленной помощи, но вот необходимость аренды комплекта доступа конечно усложняет все.
CodeName33 Автор
01.11.2024 10:10Я не помню, умеет ли Leonardo одновременно COM-Порт, для одного компьютера и USB Host для другого или у него все распаяно на один USB, к тому же ESP32S3 стоит 450р и я не скажу, что Leonardo стоит существенно дешевле) А тут даже пать ничего не нужно, если не требуется POWER/RESET. Камеру я и так использовал простую Web-камеру USBшную, ESP32 тут не участвовала.
Прокидывание флешек - я думал об этом, было бы конечно интересно, но, увы, скорость USB на ESP32 оставляет желать лучшего.
AADogov
01.11.2024 10:10Раньше была идея, написать приложение на Android. Камера телефона наводится на монитор а сам телефон подключается по usb и эмулирует клавиатуру. Но потом выяснил что это сделать невозможно.
CodeName33 Автор
01.11.2024 10:10Кстати, это даже возможно, правда не так, что просто поставил приложение и все работает. Либо прошивку надо патчить: https://github.com/pelya/android-keyboard-gadget
Или на новых ядрах такая штука есть: https://github.com/tejado/android-usb-gadget
Ender2012
01.11.2024 10:10По возможности рассмотрите замену реле на оптопары. Условная PC827 (пойдет практически любая самая дешевая с двумя оптопарами в одном корпусе) + 1 резистор позволит вам выкинуть все реле и их обвязку и будет и дешевле, и надежнее, и компактнее, и без проблем с током забираемым от контроллера
, и не так похоже на поделку юного ардуинщика. Единственный минус - нельзя больше будет втыкать в Fpanel провода "как бог пошлет", а надо будет понимать где там плюс, а где земля.
VecH
01.11.2024 10:10Ожидал от статьи результата очень простого (отправил коробку заказчику) он воткнул со своей стороны все необходимые порты, "и ляпота"
а тут очередной HID
firehacker
01.11.2024 10:10Оффтопик
Знакомый ник с форума VBStreets. И аватара всё та же, что и 20 лет над :-)
Javian
С MeshCommander и Intel AMT жизнь намного проще https://habr.com/ru/companies/intel/articles/546650/
Но велосипед - это святое.
CodeName33 Автор
Это надо чтобы удаленный компьютер поддерживал vPro и был подключен к сети, что порой нежелательно) А мое решение может управлять разными устройствами, и даже не только лишь ПК.
Javian
Когда устройств больше одного, начинает давить кошелёк.
CodeName33 Автор
Не обязательно делать это одновременно. Мне, например, принесли "какой-то компьютер", там может вирусов полно, я в сеть его не хочу пускать) Надо поработать на нем, может быть с LiveCD загрузится, почистить или переустановить ОС. В другой раз может понадобится настроить ТВ приставку, или что-то подобное. Я подключаю устройство физически уже к своему компьютеру и дальше безопасно могу работать с ним удаленно. Немного другая задача, нежели управление своим компьютером, всегда находящимся в сети.
DustCn
может быть с LiveCD загрузится
А флешки как втыкать в него удалённо? Непорядок - надо еще роборука и роботизированный магазин для флешек на все случаи жизни!
CodeName33 Автор
Я делаю ReadOnly загрузочный диск (старая карта памяти, на неё записывается Live/установочный образ или все в одном, на карте памяти переключается Write Lock и вставляется в кард-ридер).
action5
На всякий случай. (если вдруг не в курсе, а то я недавно узнал и "был ошарашен" =)) На самом деле этот WriteLOck ПРОГРАМНЫЙ. (говорим именно про защиту SD подобных карт.) Во всяком случае Linux.
Про винду не скажу. Хотя и уних вроде тоже есть програмный Бит снятия\установки ReadOnly - не эксперемиентировал.
khajiit
Network boot )
babilus
А еслиу тебя AMD - что делать?
Javian
"Это не наш клиент". А так можно сделать на Интеле, где его нет https://habr.com/ru/articles/729674/
ABy
Я, кстати, Intel Compute Stick на m5 прикупил. Я думаю что это самый маленький ПК c Intel vPro. Правда он ко мне еще не скоро доедет.