Изолента + беговая дорожка + дешевая камера = конвейер
Решали мы вчера интересную инженерную задачу.
Есть принтер на конвейере - на реальном производстве. Конвейер быстрый и хороший, но он - в почти 1000 км от нас. Можно конечно слетать туда, но как-то не очень хочется. А задачу-то нужно решить.
Не суть что именно печатает принтер - это в сущности и не важно - допустим некий штрихкод, который уникален для каждого экземпляра. Данные очевидно есть - на серваке, и прямо в принтере.
Но! Даже если прилететь на производство, то подключиться все-равно нельзя: защита принтера и сервера на уровне банковской: видеонаблюдение 24/7, пломбы на серваке и принтере, регулярные визиты живых персонажей для визуального осмотра. Вот спасибо им кстати, что собаки злые и голодные не бегают, охранников на вышке с пулеметами не поставили, и колючей проволоки под напряжением вокруг сервака нет.
Задача при этом ни о чём: собрать лог кодов партии в обычный текстовый файл. Но доступа нет, как уже понятно. А производитель, как настоящий капиталист, назвал семизначную цифру. Вероятно, это был номер телефона, по которому можно узнать цену - я лично не уточнял.
И вот мы с Максимом сидим вчера у меня дома. Что у нас было? У меня - комп и моток красной изоленты. У моей супруги - беговая дорожка. У дочки - настольная лампа и тренога для фотоаппарата. У Максима - древний мини-ноут лохматого года с сишным кодом и камера за 1500 рублей. Бюджетненько. С мира, как говорится, по нитке - производству решение.
А конвейер, надо отметить, в реальности движется со скоростью 140 метров в минуту. Это не "замер на фоне заката и сказал cheese". Это прямо-таки быстро-быстро.
Итак. С миру по нике. Ставим дорожку. Сверху - треногу. Снизу подвешиваем камеру и фиксируем изолентой. Лампу - на ручку беговой дорожки.
Старый ноут пишет видео как storage-сервер. Дальше всё по сети на мой комп, куда благополучно воткнули Qt (ага! эта странная субстанция теперь живет у меня - придумать бы что с ней теперь сделать).
Сели мы на пол около беговой. Максим кидает лист с распечаткой нескольких кодов. Я с другой стороны ловлю вылетающую бумаженцию и возвращаю в руки запускающего. Такое вот производство в домашних условиях. Конвейер на минималках!
И не поверите: на скорости 8.4 км/ч - это те самые 140 метров в минуту - эта конструкция из г...на и палок успешно читала коды и сохраняла в лог.
Я понимаю конечно, что доступа нет не потому, что кто-то там злой. Просто это риск. Почти банковская защита - это не жадность, а цена. Более того она оправдана: утечка данных может стать крайне дорогой.
Поэтому задача меняется. Не "получить данные", а "воспроизвести условия, в которых данные появляются". Принтер печатает? Значит, печатать можно дома. Конвейер движется? Значит, двигаться можно и на дорожке. Этого достаточно, чтобы проверить распознавание. Не систему целиком, а только ту точку, которая нужна.
Распознаванию всё равно, откуда код - с принтера за миллион или с распечатки на домашнем. Ему важно увидеть и сохранить. Если видит на 8,4 км/ч на беговой - увидит и на конвейере потому, что условие воспроизведено: скорость, код, свет, фокус.
Тест не обязан быть похожим на реальность. Он может быть даже забавным как "конструкторское решение". Он лишь обязан ловить то, что нужно. Если знаешь, что нужно, не нужен непосредственный доступ. Нужно только построить модель.
Я сфоткал "это" и отправил заказчику. Он, к слову, хорошо так посмеялся когда увидел дорожку.
Но вот потом... Спросил - а можно ли сделать автоматическую выбраковку изделий с нарушениями по этому же принципу?
Вообще теперь я думаю - использовать скалку или молоток для отбивания мяса? Надо ж как-то эмулировать пневмоцилиндр, выбивающий с беговой дорожки конвейера брак! :)
P.S. Да, я в курсе, что с синей изолентой дело пошло бы значительно лучше, но сын её куда-то использовал, потому пришлось быть не концептуальным. :)
· 22.10
Кулибины )
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 22.10
Пришлось выкручиваться! :))))
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён