Pull to refresh

Comments 52

Удачно подобрали название для внутреннего сервиса :) Обычно из таких внутренних разработок компании рождается полноценный продукт.

Квоты можно переименовать в трудодни

Полки в свинарники, лотки в стойла

Расскажите как решили проблему постоянно висящих на зарядке устройств и их вздувшихся аккумуляторов

привет, отвечу, как человек, который непосредственно эту проблему решает. каждый раз, в комментариях к статьям про мобильные фермы задаётся этот вопрос, и иногда мне самому хочется его задать, потому что серебряной пули мы не нашли. знаю, что наши коллеги в своё время придумали подключать внешний источник питания непосредственно к контроллеру батареи, удаляя родной элемент питания. к сожалению, мы не смогли придумать как нам отмасштабировать это решение до объёмов фермы. потому что во-первых - это сразу x2 проводов к каждому устройству, а проводов, как можно видеть на фото к посту и так довольно много, а во-вторых нужно дополнительно придумывать, как синхронизировать рабочее напряжение на разных моделях устройств (либо подключать каждое к отдельному источнику питания), в итоге это дополнительно усложнит нашу и без того непростую жизнь. в общем, конечно, хотелось бы воплотить возможность работы девайсов без аккумулятора, но пока мы поступаем, как и большинство наших коллег - производим визуальный осмотр фермы и меняем вздутые батареи.

а зачем синхронизировать питание? везде литиевые аккумы, так что любой девайс от 3.7 вольта работать будет. Нет, конечно у ноутбуков могут и 2 и 3 элемента последовательно соединяться.... но это всё равно только 3 варианта напряжений.

я наверное неправильно выразился, но девайсы будут пытаться заряжать внешний блок питания и друг друга. просто параллельно все на одну шину посадить нельзя. ну и в последнее время свежие андроиды пытаются умную зарядку делать и не заряжают больше 80% (а поскольку мы их с зарядки никогда не снимаем) они никогда и не пытаются больше 80 зарядить). короче, сходу кажется, что можно сделать легко, но когда начинаешь о всех нюансах думать, как-то сразу начинает меньше хотеться, пока справляемся просто меняя аккумуляторы. как только поймём, что перестали, будем придумывать что-то новое.

но девайсы будут пытаться заряжать внешний блок питания и друг друга. просто параллельно все на одну шину посадить нельзя

Чего они будут пытаться делать?
Суть предложения вот в чем — удаляем аккум, на его контакты вешаем внешний БП на ~4 вольта, шнурок из USB выдёргиваем. Всё. У девайса бесконечная батарея заряженная на ~85%.

Аааа…. Вон оно что… девайсы без юсб не будут управляться. Юсб не для зарядки им нужен, а как раз для управления.

Ну хорошо, дополняем систему USB-шкой с разомкнутой линией 5v — дата есть, земля есть, управляйтесь.
Если сделать кастомные шнурки, то и мешанины проводов не будет.

Выглядит, как хорошая тема для исследований, особенно интересно, как по таким кастомным кабелям будут эппловские девайсы работать (вангую, что не будут). Не думай, что я сразу отметаю идею, но простой она только кажется, а на деле это будет бесконечная ходьба по граблям, и в итоге окажется, что проще было пару мастеров посадить, чтоб они сидели и круглые сутки батарейки меняли.

А это скорее всего так и есть, примеры китайских ферм это доказывают.

В комменте ниже pbw дал ссылку на статью, в которой раскрываются некоторые офигенно неочевидные нюансы работы контроллера заряда мобильника.

А как насчет источников питания с пониженным током? Пока устройство тестируется - он разряжается. Лежит в покое - заряжается. Возможно это продлило бы ресурс АКБ, относительно текущего положения.

тут есть риск, что девайс совсем разрядится и выключится раньше, чем тестировщик закончит тестировать. в результате, он в лучшем случае потеряет время, а в худшем - ещё и деньги.

так не работает, нет питания — нет USB. Мы когда решали эту задачу для тестирования энергопотребления (выше кидали ссылку), делали ограничитель тока, который в линию питания встраивали.

Вытаскивание и "переделка" батарей - большой объем работ и проблемы с гарантией

Когда ковырялся в этой теме пару лет назад, то заметил, что андроид устройства могут работать(подключаться) по USB с минимальным током на +5В.
Оставалось сделать: софтовое решение отдающее процент батареи на сервер и "железный" USB хаб подающий на нужный порт с севшим аппаратом +5В с нормальным током для зарядки

ну к слову сказать, девайсы, которые ещё на гарантии, пока ни разу не вздувались.

Чуть ли не единственная правильная статья на эту тему, автор реально умен.

Эта статья - не то, что нужно. Но вот комменты к ней стоит внимательно почитать.

Это заработает не всегда и не со всем подряд. Копья об конденсаторы до сих пор ломают.

благодарю. очень полезный материал.

Красавы ваще, нечто подобное часто видел у китайцев, там правда не ради тестирования своих приложений, а ради создания иллюзии жизни для чужих, способных распознавать не только виртуализацию, но и особо топорные костыли на физических устройствах ;-)

Что имеете ввиду? Объясните, пожалуйста

увидел кучу макбуков, подумал «вот это дичь», прочитал про 1 айфон - 1 макбук, подумал что «дичь конечно, но теперь понятно почему». потом сразу подумал - а не пробовали виртуализировать macos и пробрасывать usb порты в виртуалки? macos легально запускать в виртуалке на другой макос (хардваре эппл), не пробовали поставить макмини помощнее, запустить на нем пяток виртуалок и пробросить в каждую 1 usb порт?

а в целом нереальный респект за очевидный «колхоз», но без снобизма объяснённый зачем так сделано и почему. нестандартные задачи требуют нестандартных решений!

В Яндексе 10К сотрудников и у 90% макбук, кажется, что у них есть достаточный запас макбуков возрастом 3-4 года, которые не стали выкупать их пользователи, после списания.

С одной стороны да, но с другой 50 макбуков занимают сильно меньше места чем 200 макбуков. По 6 на полку, получается 10 полок против 50-и полок.

по поводу виртуалок - поскольку мы используем в основном б/у макбуки, у них не особо хватает вычислительной мощности, чтоб запустить рядом ещё одну макось с нашим приложением, поэтому мы даже особо не тестировали на них. захват видеопотока с экрана устройства потребляет достаточно много cpu (в процессе работы наблюдается 100% загрузка одного из ядер). так что по моим прикидкам, даже если взять 6-ядерный макмини, то это даст нам не пяток виртуалок а всего одну (потому что помимо захвата, поток надо ещё обрабатывать и передавать пользователю, выполнять приложение, которое пробрасывает жесты пользователя на устройство), в довесок к хостовой системе получим 1 девайс в виртуалке и 1 в хостовой ОС, профит небольшой, а система усложняется. но благодаря некоторому избытку хостов, мы можем использовать недоутилизированные мощности, например в статье упоминалось про видеозапись пользовательских сессий, их мы перекодируем как раз на этих же самых макбуках, на встроенной Iris Graphics. часть макбуков выделено для использования в качестве билдагентов для нашего приложения, и ещё часть используется для запуска автотестов в Safari.

Пробовали стоящие на боку раскрытые ноуты, но "вложенные" друг в друга? Как минимум для маков такое бы обеспечило достаточно высокую плотность размещения...

Правда доставать неудобно было бы... Если речь не про верхнюю полку )

И да, решение с лотками как минимум удобнее - тестовое устройство в одном лотке с маком.

Пробовали и "вложенные на боку" и "вальтом на боку", но кроме ноутбука нужно ещё куда-то разместить и сам девайс и вот уже для девайсов нужна отдельная полка над ноутами, а потом по проводам найти какой девайс к какому ноуту относится, а ещё хочется уметь взять девайс в руки, ничего не отключая и т.д. В общем обслуживать устройства в такой конфигурации гораздо сложнее, размещение в лотках пока побеждает. :)

кроме ноутбука нужно ещё куда-то разместить и сам девайс

Скотчем к корпусу?

надо тогда на магнит ))) чтобы когда тебе надо взять в руки телефон, не приходилось ещё и макбук брать. ну и про мешанину проводов упоминали уже вроде. когда они вложены, постоянно, вытягивая один, зацепляешь соседние в частности - отключаются разъёмы магсэйф. ну и чтоб добить - вентиляция у вложенных друг в друга ноутов сильно хуже. лотки, которые мы используем, хороши тем, что они очень хорошо продуваются.

занятно.
При этом вход в аккаунт, через главную страницу яндекса, тот еще квест (возможно уже починили). После обращения в ТП наверное еще с месяц проблема оставалась.
Может стоит заставить всех сотрудников пользоваться собственными сервисами? =)

Оффтоп: что там с датацентром в Финляндии?

Может точнее будет "Совхоз"?

"колхоз"- это объединение работников со своими средствами производства.

Под это определение "Колхоза" мы тоже можем подойти - например, разные внутренние команды Яндекса стали отдавать свои тестовые устройства к нам в сервис, чтобы они были доступны для удалённого использования, но вместе с этим устройства становятся доступны ещё и другим командам - таким образом увеличивается разнообразие устройств доступных всем.

На одном из скриншотов "Новенькие, закупленные на ферму Яндекс Станции" видно что у вас там без костылей не обходится. Поделитесь пожалуйста в чём они заключаются, ну или на каком из них обнулился счётчик?

Так вся статья же как раз о костылях, а новые проблемы плодят всё больше костылей)

Очень круто, где исходники колхоза скачать-то?

Что в итоге из оригинального OpenSTF у вас осталось, а что переписали? Не планируете выложить в opensource?

По опыту работы с даже небольшим парком телефонов (20-30шт): из коробки получается система, которая постоянно требует ручного обслуживания. На вашем парке имеет смысл держать отдельного сотрудника, при небольшом числе устройств ферма превращается в головную боль кого-то из сотрудников, который не очень горит этим заниматься. Телефоны, особенно китайские, регулярно отваливаются, требуется вручную отключать-подключать, чтобы заново определились, что-то нажимать на экране (разрешения, изменения режимов зарядки - у некоторых китайцев так и не разобрались как включить на постоянку то, что нужно, при каждом подключении режим слетает или отключаются галки отладки по usb и другие, на некоторых решили, на некоторых нет), вручную перезапускать контейнеры с adb. Более-менее нормально и беспроблемно подключаются и работают самсунги. В самом STF из коробки часть функций и пунктов меню вообще не работает. Связка mcloud-ios с STF - еще более проблемное поделие. Ну и стандартные жалобы пользоваталей - тормозит, подвисает интерфейс и т.п. За неимением альтернативы, конечно, пользуемся, но нам не нравится.

Как решили вопрос с разблокировкой ios удаленно? Через STF свайпы для разблокировки не срабатывают нормально, приходится отключать блокировку (и рано или поздно идти к айфону и разблокировать вручную).

По поводу OpenSTF - на самом деле всё что отвечает за управление android-устройством у нас осталось нетронутым, мы просто точечно вырезали все места где была какая-либо авторизация или проверка (прав / stf-брони), чтобы вебсокет-соединение для управления девайсом всегда устанавливалось и информация об устройстве и всех его портах для управления и захвата картинки всегда была доступна, тк перед stf-инстансом у нас собственный фронтед и бэкенд со всеми нужными нам проверками.

Про разблокировку iOS я может не совсем правильно понял, но есть возможность программно нажимать кнопку "Home" (даже если на самом телефоне такой физической уже нет), и она успешно справляется с включением экрана + мы умеем детектить что картинка пропала и выполняем это действие автоматически.

А про обслуживание всего парка устройств - вы абсолютно правы, как только мы вышли в продакшен, потребовался специально выделенный сотрудник, чтобы решать проблемы возникающие в ходе эксплуатации устройств и всей инфраструктуры вокруг.

Спасибо за статью! Интересно как у вас выглядит тестирование Яндекс станций, как-то удаётся передавать звук с микрофонов пользователей на удалённую станцию?

Тут нам помогли сами разработчики из команды умных устройств, сделав специально для нас возможность передавать звук в "виртуальный микрофон" по сети, а не в настоящий. В качестве альтернативы ещё рассматривали возможность как-то припаиваться к настоящему микрофону и дотаскивать сигнал проводами от специальных звуковых карт, но это всё оказалось сложнее и менее надежно :)

Но справедливости ради - в последнее время тестирование Яндекс Станций в Колхозе больше ушло в сторону автотестов и Колхоз тут выступает как площадка где их можно прогонять.

Прочитала не отрываясь про костылизацию костылей, и это комплимент. Смекалочка с лотками — пять баллов. Коллективные устройства — название «Колхоз» в тему) Квоты тогда надо было назвать трудоднями)
1. Но есть уточняющий вопрос — есть служба поддержки. Но не понятно — это выделенная служба только для Колхоза?
2. Возникали ли мысли «расшарить» сервис на внешних пользователей? Яндекс.Колхоз или что-то такое?)

  1. В компании есть специальное подразделение которое занимается поддержкой пользователей, как внешних, так и внутренних. И у отдельно выделенных сотрудников поддержки есть специализация заточенная под конкретные сервисы, такая появилась и для нашего Колхоза.

  2. Мысли такие конечно же возникали, но пока большую часть времени мы уделяли именно внутренним потребностям. :)

  1. Спасибо, теперь понятнее)

  2. Будем ждать масштабирования, удаленный доступ почти ко всему списку мобильных устройств сильно бы упростило жизнь)

Есть ли в планах сделать рейтинг устройств публичным?

Честно говоря, не думали об этом, но спасибо за идею :)

Просто наш рейтинг, который мы учитываем при ранжировании устройств, привязан к конкретному устройству, а не к его модели. Поэтому утверждать что переносить его на другие устройства тех же моделей будет справедливо - нельзя. Но какая-то корреляция наверное есть.

Откуда берете редкие устройства? Алиэкспресс? Интересно про это было бы почитать. Где брать батареи под старые устройства?

Покупаете ли редкие устройства на Авито/Юле, пока они еще есть? Или все же не настолько они нужны?

В основном закупка происходит у официальных ритейлеров и чаще это именно новые модели устройств или просто "ещё не снятые с продажи". Старые модели устройств у нас либо накапливаются естественным путём (устаревает то что мы сами купили), либо нам иногда отдают то что было когда-то куплено в компании для сотрудников, ещё до существования нашего сервиса.

Отдельное внимание мы уделяем версии ОС которая предустановлена на устройство и если это не та которая нам нужна - такие устройства стараемся не покупать, тк откатиться на более старую версию зачастую нельзя.

Батареи покупаем в основном в обычных сервисных центрах и проблем с этим особо не возникало, но тут может меня поправят. :)

Как устроиться в Яндекс и заниматься такими задачами? Хочу

Sign up to leave a comment.