Вопрос или проблема
Старые компьютеры и устройства не поддерживают USB, поэтому они могут выводить данные только через LPT или последовательный порт.
Новые принтеры либо беспроводные, либо используют USB и требуют компьютера для перевода данных, поступающих со старых компьютеров. Таким образом, если у вас есть много старых компьютеров и вы хотите использовать что-то вроде принтера этикеток только для текста или простых графиков, у вас не получится это сделать без множества ухищрений.
Конечно, самый простой способ — сохранить файл(ы) для печати и перенести их на современное устройство, но это потребует множества уловок для сохранения вывода с старых устройств, и в некоторых случаях у вас есть только вывод в виде последовательного порта или дискеты.
Изученные возможные решения:
- LPT to USB: чтобы подключить напрямую USB-принтер к LPT. Проблема в том, что эти устройства не очень распространены, и даже если вы найдете одно, оно будет работать только с определенными принтерами.
- Сервер печати: Подключить принтер к Windows/Mac/Linux машине и получать данные для печати на неё. Проблема в том, что вам нужно найти способ отправить эти данные с старых компьютеров, которые имеют только последовательный или параллельный порт.
Я пытаюсь решить проблему и получить что-то, что могло бы работать с любым принтером, например, маленький RPI Nano или Pi или другие маленькие платы, чтобы систему было легко настроить, но мне не удалось найти такой проект. Есть ли лучший способ добиться этого, который не требует использования множества решений, связанных вместе, чтобы позволить, например, старым DOS-машинам или портативным КПК печатать на usb/Bluetooth/WiFi принтер?
Идеальным было бы что-то автономное; но если единственный способ сделать это — иметь что-то, требующее, чтобы принтер был подключен к компьютеру 24/7, это тоже приемлемо.
Если вам просто нужен принтер этикеток, купите новый RS232/DB9 последовательный принтер этикеток.
Например
или
https://www.alibaba.com/product-detail/YHDAA-High-Speed-Printing-Usb-Lan_1601221989390.html
Компьютеры для точек продаж все еще (в 2025 году) продаются с портами RS232/DB9, для подключения к денежным ящикам или принтерам чеков, и денежные ящики и принтеры чеков все еще продаются для использования с существующим оборудованием точек продаж.
Большинство этих принтеров довольно типичны (из-за открытого характера обычной китайской электроники), но вам нужно отправить управляющие коды и, возможно, придется отправлять растровые изображения.
Так как вы дали только общую информацию, мы можем дать только общие принципы для ответа. Вот общие принципы, которые здесь применяются:
Вам нужно общее соединение или цепь соединений (по сути, адаптер, серия адаптеров или адаптирующих устройств) между различными устройствами.
Общее соединение будет самым простым и надежным методом и должно быть вашей основной целью.
Если в вашем компьютере действительно нет сетевого порта, вам следует открыть его и посмотреть, есть ли внутри точка подключения, такая как слот PCI, который позволяет установить совместимое общее соединение.
Если вы исчерпали возможные опции для достижения общего соединения, вашим последним вариантом будет адаптация между устройствами. Адаптеры известны своей своенравностью и имеют странные, недокументированные и неожиданные проблемы совместимости, поэтому они — отдаленный второй выбор и должны использоваться только если невозможно достичь общего соединения. Но основы просты: найдите адаптер или адаптеры, которые приведут к соединению между устройствами.
Я это не проверял, но вы должны суметь конвертировать последовательное соединение (RS232) в USB-соединение, ПРИ УСЛОВИИ, ЧТО ВЫ ПОЛУЧИТЕ ПРАВИЛЬНЫЙ ТИП (то есть вам нужен USB в режиме хоста).
Поиск в Google по запросу “rs232 to USB host” дал несколько подсказок, и я нашел продукт, который утверждает, что делает то, что вам нужно, но он не дешевый.
https://microcontrollershop.com/product_info.php?products_id=5031 -
Дальнейший поиск “SER2USB” раскрыл некоторые другие источники для того же устройства –
https://www.digikey.com/en/products/detail/ak-nord-gmbh/SER2USB/7621809
https://www.ak-nord.de/product-75.html?language=en
Менее определенные спецификации/заявления, но теоретически это должно работать для конвертации RS232 в Ethernet значительно дешевле.
https://www.aliexpress.com/item/1005006252276846.html
Затем, если вам нужно что-то более сложное, чем простой текст, вам нужно будет решить задачу с драйверами…
Вы не сообщили нам, какие старые компьютеры у вас есть. Я думаю, будет ли проще и дешевле получить какую-то дополнительную карту для них, чтобы вывести их через ethernet или USB – и, конечно, вам нужно что-то достаточно современное, чтобы оно поддерживало набор протоколов TCP/IP – поэтому я предполагаю, что устройства старше 386 следует исключить.
Интересно, можно ли вместо этого приобрести дешевый интерфейс FTDI на USB (они повсеместны и дешевые) и затем установить перекрестное соединение с устройством, таким как Raspberry Pi – превращая это в программную задачу (насколько большой может быть программная задача, снова зависит от вашего ПК. Я думаю о том, чтобы заставить его говорить TCP/IP через PPP соединение – что снова предполагает, что ваш компьютер способен управлять PPP соединением – так что Windows 3.1 или около того. Кроме того, вы, возможно, сможете возиться с эмулятором терминала и перенаправить это на порт с помощью Netcat или аналогичного.
До сих пор не упоминалось. Я всегда использую сетевые принтеры. Не WiFi, а проводные.
- Если у вас есть проводной Ethernet к вашему компьютеру, следуйте этому пути.
- Если у вас только WiFi, то ищите принтеры с поддержкой WiFi.
Некоторые принтеры могут делать и то, и другое (так же как USB).
Ответ или решение
Напечатать на современных принтерах, подключая их к старым компьютерам с интерфейсами исключительно LPT или COM-портами, можно, но задача эта нелегкая и требует креативного подхода, а иногда даже использования промежуточных устройств. Следуя методологии TEA (Теория, Пример, Применение), давайте рассмотрим все возможные варианты решения этой проблемы.
Теория
Многие старые компьютеры, особенно те, которые использовались в конце 1980-х и начале 1990-х годов, не имеют USB-портов или поддержки современных сетевых протоколов. Вместе с тем, новые принтеры все чаще используют USB или беспроводные интерфейсы, такие как Wi-Fi или Bluetooth. Следовательно, для обеспечения совместимости требуется устройство, которое преобразует вывод старого компьютера в сигнал, понятный новому принтеру.
Наиболее простые решения включают в себя использование переходников или специальных контроллеров, которые могут преобразовывать сигнал. Однако эти аппаратные устройства могут иметь различные ограничения относительно совместимости и функциональности. Поскольку речь идёт о печати с устройств без нативной поддержки USB, необходимо принимать во внимание также драйверы и программное обеспечение.
Пример
-
Переходники LPT или COM в USB: Это наиболее очевидный путь, но таких устройств на рынке немного, и они часто ограничены в совместимости с принтерами. Одним из возможных вариантов может быть использование USB-хост контроллеров, которые способны принимать информацию по LPT или RS232 и передавать ее на USB-устройство.
-
Печатные серверы (Print Servers): Использование печатного сервера может быть отличным решением, если удается соединить старый ПК с современным устройством через сеть. Однако это потребует дополнительной настройки и проверки совместимости сетевых протоколов.
-
Использование микроконтроллеров или одноплатных компьютеров, таких как Raspberry Pi: Эти устройства могут служить промежуточным звеном. Написание скрипта или программы, которая будет принимать данные через последовательный или параллельный порт и перенаправлять их на принтер, подключенный по USB или через сеть, может стать отличным решением. Raspberry Pi, к примеру, предлагает широкие возможности для программирования и имеет доступ к множеству периферийных устройств.
Применение
Для внедрения одного из решений необходимо учитывать специфику старого оборудования:
-
Определение доступных портов и возможностей ПК. Это фундаминтальная часть, так как разные ПК могут иметь разные ограничения. Откройте корпус, если это необходимо, и проверьте наличие возможных дополнительных разъемов, таких как PCI или ISA, на случай возможной установки сетевой или USB-карты.
-
Выбор адаптера или контроллера. После определения возможностей оборудования, выберите адаптер, который сможет превратить выведенные сигналы в понятные для нового принтера. Убедитесь, что выбранное устройство поддерживает необходимый режим работы, например, USB-хостинг.
-
Конфигурация и настройка. Если вы выбрали вариант с микрокомпьютером, установите необходимое программное обеспечение. Pi может использоваться для реализации сетевого принтера либо локального устройства, если установлены необходимые драйвера и программное обеспечение для обработки данных с COM или LPT. Организация сети может потребовать дополнительных знаний о сетевых конфигурациях и управлении драйверами.
-
Тестирование и оптимизация. После настройки устройства проведите всестороннее тестирование, чтобы убедиться в стабильности работы. Протестируйте различные форматы файлов, чтобы удостовериться в корректной печати как текста, так и графики. Если есть доступ к нескольким старым ПК, проверьте каждый, чтобы исключить возможность несовместимостей.
Подводя итог, стоит отметить, что задача интеграции старых компьютеров с современными принтерами требует комплексного подхода и глубокого понимания как аппаратной, так и программной части. Тем не менее, с правильным оборудованием и должной настройкой можно добиться успешного решения данной проблемы, удовлетворяющего все технические требования.