Введение
Виртуальный последовательный порт — это программное представление последовательного порта, которое либо не связано с физическим последовательным портом, либо расширяет функциональность физического последовательного порта с помощью программного обеспечения.
A virtual serial port is a software representation of a serial port that either does not connect to a real serial port, or adds functionality to a real serial port through software extension.
Виртуальные порты программного обеспечения
Виртуальный последовательный порт, реализованный программным обеспечением, предоставляет на ПК один или несколько идентификаторов виртуальных последовательных портов, которые другие приложения могут видеть и использовать, как если бы это были реальные аппаратные порты. Однако данные, отправляемые и принимаемые этими виртуальными устройствами, обрабатываются программным обеспечением, которое манипулирует передаваемыми и принимаемыми данными для расширения функциональности. Операционные системы, как правило, не предоставляют возможности создания виртуальных последовательных портов. Эту возможность могут добавить сторонние приложения, такие как com0com с открытым исходным кодом, бесплатная программа HW VSP3 или коммерческий драйвер Virtual Serial Port Driver. Некоторые виртуальные последовательные порты полностью эмулируют функциональность аппаратных последовательных портов, включая все состояния сигнальных линий, и позволяют использовать большое количество виртуальных портов в любой желаемой конфигурации. Другие предоставляют ограниченный набор функций и не осуществляют полную эмуляцию аппаратного обеспечения. Этот метод можно использовать для расширения возможностей программного обеспечения, которое нельзя обновить для работы с новыми технологиями связи, например, для передачи последовательных данных по современным сетям, или для реализации потоков данных, которые обычно невозможны из-за ограничений программного обеспечения, например, для разделения выходного потока последовательного порта.
Обмен портами
Обычно последовательный порт может контролироваться или использоваться для передачи данных только одним устройством одновременно из-за ограничений большинства операционных систем, но программа для создания виртуальных последовательных портов может создать два виртуальных порта, позволяя двум разным приложениям отслеживать одни и те же данные. Например, GPS-устройство, выводящее данные о местоположении в последовательный порт компьютера, может быть интересно сразу нескольким приложениям.
Сетевая передача
Другой вариант — взаимодействовать с другим последовательным устройством через Интернет или локальную сеть, как если бы оно было подключено локально, используя технологию Serial over LAN. Это позволяет программному обеспечению, разработанному для работы с устройством через локальный физический последовательный порт, осуществлять связь на больших расстояниях.
Блютуз
Bluetooth реализует виртуальные последовательные порты посредством профиля последовательного порта. Это стандартный способ получения данных, например, от GPS-модулей с поддержкой Bluetooth.
Модемы
Драйверы программно реализованного модема создают виртуальный последовательный порт для связи с хост-операционной системой, поскольку модем полностью реализован в драйвере устройства и, следовательно, отсутствует физическая карта, на которую могли бы быть отправлены последовательные данные.