Андрей Смирнов
Время чтения: ~18 мин.
Просмотров: 0

Интерфейс bluetooth: разберемся с нюансами

Позвольте мне представиться

PyUSB 1.0PythonUSB

  • На 100% написана на Python:
    В отличии от версий 0.x, которые были написаны на C, версия 1.0 написанна на Python. Это позволяет программистам на Python без опыта работы на C лучше понять как работает PyUSB.
  • Нейтральность платформы:
    Версия 1.0 включает в себя фронтенд-бэкенд схему. Она изолирует API от специфичных с точки зрения системы деталей реализации. Соединяет эти два слоя интерфейс IBackend. PyUSB идет вместе со встроенными бэкендами для libusb 0.1, libusb 1.0 и OpenUSB. Вы можете сами написать свой бэкенд, если хотите.
  • Портативность:
    PyUSB должен запускаться на любой платформе с Python >= 2.4, ctypes и, по крайней мере, одним из поддерживаемых встроенных бэкендов.
  • Простота:
    Взаимодействие с устройством USB никогда не было таким простым! USB — сложный протокол, а у PyUSB есть хорошие предустановки для наиболее распространенных конфигураций.
  • Поддержка изохронных передач:
    PyUSB поддерживает изохронные передачи, если лежащий в основе бэкенд поддерживает их.

«Совершенный USB»«USB Complete»

Технические характеристики [ править | править код ]

DisplayPort поддерживает HDCP версии 1.3 и имеет пропускную способность вдвое большую, чем Dual-Link DVI, низкое напряжение питания и низкие посторонние наводки. Размеры разъёма Mini DisplayPort в 10 раз меньше, чем у стандартного разъёма DVI .

Технология, реализованная в DisplayPort, позволяет передавать одновременно как графические, так и аудиосигналы. Основное отличие от HDMI — чуть более широкий канал для передачи данных (10,8 Гбит/с вместо 10,2 Гбит/с). Максимальная длина кабеля DisplayPort составляет 15 метров . Вместо HDCP, защиты от копирования HDMI, будет реализована технология DPCP (англ. DisplayPort Content Protection ), основанная на 128-битном AES шифровании.

DisplayPort 1.2 имеет максимальную скорость передачи данных 21,6 Гбит/с на расстоянии до 3 метров, что больше, чем HDMI Type B (2×10,2 Гбит/c). Также поддерживает несколько независимых потоков, пропускная способность вспомогательного канала в стандарте увеличена с 1 до 720 Мбит/с.

Таким образом, через интерфейс DisplayPort 1.2 можно подключить до двух мониторов, воспроизводящих картинку размером 2560 х 1600 точек с частотой 60 Гц, либо до четырёх мониторов с разрешением 1920 х 1200 точек. При использовании одиночного монитора поддерживаемое разрешение возрастает до 3840 х 2400 точек с частотой 60 Гц, монитор с поддержкой частоты обновления 120—165 Гц поддерживается при разрешениях до 2560 х 1600 точек. Это позволяет стандарту DisplayPort 1.2 работать с технологиями построения стереоскопического изображения .

Ограничения по частоте и разрешению для DisplayPort

Video Format DisplayPort Version / Maximum Data Rate
Shorthand Resolution RefreshRate (Hz) Data RateRequired 1.0-1.1a 1.2-1.2a 1.3 1.4
8.64 Gbit/s 17.28 Gbit/s 25.92 Gbit/s 25.92 Gbit/s
1080p 1920 × 1080 30 1.58 Gbit/s Да Да
60 3.20 Gbit/s Да Да
120 6.59 Gbit/s Да Да
144 8.00 Gbit/s Да Да
240 14.00 Gbit/s Да Да
1440p 2560 × 1440 30 2.78 Gbit/s Да Да
60 5.63 Gbit/s Да Да
75 7.09 Gbit/s Да Да
120 11.59 Gbit/s Да Да
144 14.08 Gbit/s Да Да
165 16.30 Gbit/s Да Да
240 24.62 Gbit/s Нет Да
4K 3840 × 2160 30 6.18 Gbit/s Да Да
60 12.54 Gbit/s Да Да
75 15.79 Gbit/s Да Да
120 25.82 Gbit/s Нет Да
144 31.35 Gbit/s Нет Compressed
240 54.84 Gbit/s Нет Compressed
5K 5120 × 2880 30 10.94 Gbit/s Да Да
60 22.18 Gbit/s Нет Да
120 45.66 Gbit/s Нет Compressed
8K 7680 × 4320 30 24.48 Gbit/s Нет Да
60 49.65 Gbit/s Нет Compressed
1.0-1.1a 1.2-1.2a 1.3 1.4
DisplayPort Version
  1. ↑ Uncompressed 8 bpc (24 bit/px) color depth with RGB or YCBCR 4:4:4 color format and CVT-R2 timing are used to calculate these data rates. Uncompressed data rate for RGB images in bits per second is calculated as bits per pixel × pixels per frame × frames per second. Pixels per frame includes blanking intervals as defined by CVT-R2
  2. 1234 Transmission bandwidths of 10.8, 21.6, 32.4 Gbit/s using 8b/10b encoding results in maximum data rates of 8.64, 17.28, and 25.92 Gbit/s
  3. 1234 Requires the use of Display Stream Compression (DSC)

Описание дескриптора на Си

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

#include <stdint.h>

/* Определения макросов нашего
   HID Report Descriptor DSL */
#include "hid_def.h"

static const uint8_t hid_report_descriptor[] = {
  HID_USAGE_PAGE (GENERIC_DESKTOP),
  HID_USAGE (MOUSE),
  HID_COLLECTION (APPLICATION),
    HID_USAGE (POINTER),
    HID_COLLECTION (PHYSICAL),
      HID_USAGE_PAGE (BUTTONS),
      HID_USAGE_MINIMUM (1, 1),
      HID_USAGE_MAXIMUM (1, 3),
      HID_LOGICAL_MINIMUM (1, 0),
      HID_LOGICAL_MAXIMUM (1, 1),
      HID_REPORT_COUNT (3),
      HID_REPORT_SIZE (1),
      HID_INPUT (DATA, VARIABLE, ABSOLUTE),
      HID_REPORT_COUNT (1),
      HID_REPORT_SIZE (5),
      HID_INPUT (CONSTANT),
      HID_USAGE_PAGE (GENERIC_DESKTOP),
      HID_USAGE (X),
      HID_USAGE (Y),
      HID_LOGICAL_MINIMUM (1, -127),
      HID_LOGICAL_MAXIMUM (1, 127),
      HID_REPORT_SIZE (8),
      HID_REPORT_COUNT (2),
      HID_INPUT (DATA, VARIABLE, RELATIVE),
    HID_END_COLLECTION (PHYSICAL),
  HID_END_COLLECTION (APPLICATION),
};

Как видим, описание максимально приближено к примеру из спецификации, но есть несколько отличий, связанных с реализацией макросов препроцессора, описывающих элементы. Поскольку размер данных некоторых элементов не фиксированный, то нам понадобилось как-то указать этот размер. Поэтому первым параметром у элементов, задающие границы minimum/maximum, идёт размер значения в байтах, а вторым само значение. Макросы, задающие главные элементы Input, Output, Feature, устроены так, что могут принимать на вход любое количество флагов, в том числе и ни одного, поэтому флаги Data и Absolute на самом деле не обязательны, поскольку установлены по-умолчанию.

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

Присоединяйтесь к вечеринке

Не буду скрывать, макро-определения для нашего предметно-ориентированного языка в файле hid_def.h содержат изрядную дозу препроцессорной магии, которая определена в другом заголовочном файле macro.h.

Driver Guidance

Microsoft provides the following guidance for IHVs writing drivers:

  1. Driver developers are allowed to add additional drivers in the form of a filter driver or a new HID Client driver. The criteria are described below:

    1. Filters Drivers: Driver developers should ensure that their value-add driver is a filter driver and does not replace (or be used in place of) existing Windows HID drivers in the input stack.

      • Filter drivers are allowed in the following scenarios:
        • As an upper filter to kbdhid/mouhid
        • As an upper filter to kbdclass/mouclass
      • Filter drivers are not recommended as a filter between HIDCLASS and HID Transport minidriver
    2. Function Drivers: Alternatively vendors can create a function driver (instead of a filter driver) but only for vendor specific HID PDOs (with a user mode service if necessary).

      Function drivers are allowed in the following scenarios:

      Only load on the specific vendor’s hardware

    3. Transport Drivers: Windows team does not recommend creating additional HID Transport minidriver as they are complex drivers to write/maintain. If a partner is creating a new HID Transport minidriver, especially on SoC systems, we recommend a detailed architectural review to understand the reasoning and ensure that the driver is developed correctly.

  2. Driver developers should leverage driver Frameworks (KMDF or UMDF) and not rely on WDM for their filter drivers.

  3. Driver developers should reduce the number of kernel-user transitions between their service and the driver stack.

  4. Driver developers should ensure ability to wake the system via both keyboard and touchpad functionality (adjustable by the end user (device manager) or the PC manufacturer). In addition on SoC systems, these devices must be able to wake themselves from a lower powered state while the system is in a working S0 state.

  5. Driver developers should ensure that their hardware is power managed efficiently.

    • Device can go into its lowest power state when the device is idle.
    • Device is in the lowest power state when the system is in a low power state (for example, standby (S3) or connected standby).

Ртутные лампы (Mercury Vapor Lamps)

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

UV излучение опасно для глаз (очень
и очень опасно — вызывает повреждения сетчатки и катаракту) и кожи, поэтому никогда
нельзя использовать лампу без внешней колбы. Не говоря уже о том, что эффективность
ее будет ниже, за счет неправильного температурного режима внутренней колбы. Многие
современные лампы имеют предохранитель, который отключает лампу в случае, когда
внешняя колба сломана (safety lifeguard mercury lamps). Лучше всего иметь дополнительную
защиту против UV излучения — защитное стекло и т.д.

Цоколь у этих ламп обычно вкручивающийся (mogul base),
но он сделан так, что в обычный патрон для лампочки он не вкручивается (или вкручивается,
но не достает до центрального контакта)

Architecture and overview

The following figure illustrates the system-supplied driver stacks for USB keyboard and mouse/touchpad devices.

The figure above includes the following components:

  • KBDHID.sys – HID client mapper driver for keyboards. Converts HID usages into scancodes to interface with the existing keyboard class driver.
  • MOUHID.sys – HID client mapper driver for mice/touchpads. Converts HID usages into mouse commands (X/Y, buttons, wheel) to interface with the existing keyboard class driver.
  • KBDCLASS.sys – The keyboard class driver maintains functionality for all keyboards and keypads on the system in a secure manner.
  • MOUCLASS.sys – The mouse class driver maintains functionality for all mice / touchpads on the system. The driver does support both absolute and relative pointing devices. This is not the driver for touchscreens as that is managed by a different driver in Windows.

The system builds the driver stack as follows:

  • The transport stack creates a physical device object (PDO) for each HID device attached and loads the appropriate HID transport driver which in turn loads the HID Class Driver.
  • The HID class driver creates a PDO for each keyboard or mouse TLC. Complex HID devices (more than 1 TLC) are exposed as multiple PDOs created by HID class driver. For example, a keyboard with an integrated mouse might have one collection for the standard keyboard controls and a different collection for the mouse.
  • The keyboard or mouse hid client mapper drivers are loaded on the appropriate FDO.
  • The HID mapper drivers create FDOs for keyboard and mouse, and load the class drivers.

Important notes:

  • Vendor drivers are not required for keyboards and mice that are compliant with the supported HID Usages and top level collections.
  • Vendors may optionally provide filter drivers in the HID stack to alter/enhance the functionality of these specific TLC.
  • Vendors should create separate TLCs, that are vendor specific, to exchange vendor proprietary data between their hid client and the device. Avoid using filter drivers unless critical.
  • The system opens all keyboard and mouse collections for its exclusive use.
  • The system prevents disable/enabling a keyboard.
  • The system provides support for horizontal/vertical wheels with smooth scrolling capabilities.

Moufiltr sample

Moufiltr is designed to be used with Mouclass, the system class driver for mouse devices used with Windows 2000 and later versions, and I8042prt, the function driver for a PS/2-style mouse used with Windows 2000 and later. Moufiltr demonstrates how to filter I/O requests and add callback routines that modify the operation of Mouclass and I8042prt.

Moufiltr control codes

IOCTL_INTERNAL_I8042_HOOK_MOUSE

The IOCTL_INTERNAL_I8042_HOOK_MOUSE request adds an ISR callback routine to the I8042prt mouse ISR. The ISR callback is optional and is provided by an upper-level mouse filter driver.

I8042prt sends this request after it receives an IOCTL_INTERNAL_MOUSE_CONNECT request. I8042prt sends a synchronous IOCTL_INTERNAL_I8042_HOOK_MOUSE request to the top of the mouse device stack.

After Moufiltr receives the hook mouse request, it filters the request in the following way:

  • Saves the upper-level information passed to Moufiltr, which includes the context of an upper-level device object and a pointer to an ISR callback.
  • Replaces the upper-level information with its own.
  • Saves the context of I8042prt and pointers to callbacks that the Moufiltr ISR callbacks can use.

Moufiltr Callback Routines

IOCTL_INTERNAL_MOUSE_DISCONNECT

The IOCTL_INTERNAL_MOUSE_DISCONNECT request is completed by Moufiltr with an error status of STATUS_NOT_IMPLEMENTED.

For all other requests, Moufiltr skips the current IRP stack and sends the request down the device stack without further processing.

Callback routines

MouFilter_IsrHook

See PI8042_MOUSE_ISR.

A MouFilter_IsrHook callback is not needed if the default operation of I8042prt is sufficient.

The I8042prt mouse ISR calls MouFilter_IsrHook after it validates the interrupt.

To reset a mouse, I8042prt goes through a sequence of operational substates, each one of which is identified by an MOUSE_RESET_SUBSTATE enumeration value. For more information about how I8042prt resets a mouse and the corresponding mouse reset substates, see the documentation of MOUSE_RESET_SUBSTATE in ntdd8042.h.

MouFilter_IsrHook runs in kernel mode at the IRQL of the I8042prt mouse ISR.

Версии Bluetooth и их различия

Первая версия спецификации (Bluetooth 1.0) была утверждена в 1999 году. Вскоре после промежуточной спецификации (Bluetooth 1.0В) была утверждена Bluetooth 1.1 — в ней исправлены ошибки и устранены многие недостатки первой версии.

В 2003 году была утверждена базовая спецификация Bluetooth 1.2. Одним из ее ключевых новшеств стало внедрение метода адаптивной перенастройки рабочей частоты (Adaptive frequency-hopping spread spectrum, AFH), благодаря которому беспроводное соединение стало гораздо более устойчивым к воздействию электромагнитных помех. Кроме того, удалось сократить время, затрачиваемое на выполнение процедур обнаружения и подключения устройств.

Еще одним важным улучшением версии 1.2 стало повышение скорости обмена данными до 433,9 Кбит/с в каждую сторону при использовании асинхронной связи по симметричному каналу. В случае асимметричного канала пропускная способность составляла 723,2 Кбит/с в одну сторону и 57,6 Кбит/с — в другую.

Также был добавлен усовершенствованный вариант технологии синхронной связи с установлением соединения (Extended Synchronous Connections, eSCO), который позволил улучшить качество передачи потокового звука за счет применения механизма повторной отправки пакетов, поврежденных в процессе передачи.

В конце 2004 года была утверждена базовая спецификация Bluetooth 2.0 + EDR. Наиболее важным новшеством второй версии стала технология Enhanced Data Rate (EDR), благодаря внедрению которой удалось значительно (в несколько раз) увеличить пропускную способность интерфейса. Теоретически использование EDR позволяет достичь скорости передачи данных 3 Мбит/с, однако на практике этот показатель обычно не превышает 2 Мбит/с.

Необходимо отметить, что EDR не является обязательной функцией для приемопередатчиков, соответствующих спецификации Bluetooth 2.0.

Устройства, оборудованные приемопередатчиками Bluetooth 2.0, обратно совместимы с модулями предыдущих версий (1.x). Естественно, что скорость передачи данных ограничивается возможностями более медленного устройства.

В 2007 году была утверждена базовая спецификация Bluetooth 2.1 + EDR. Одним из реализованных в ней новшеств стала энергосберегающая технология Sniff Subrating, позволившая значительно (от трех до десяти раз) увеличить продолжительность автономной работы мобильных устройств. Также была существенно упрощена процедура установления связи между двумя устройствами.

В августе 2008-го были утверждены базовые дополнения (Core Specification Addendum, CSA) к спецификациям Bluetooth 2.0 + EDR и Bluetooth 2.1 + EDR. Внесенные изменения направлены на снижение уровня энергопотребления, повышение уровня защиты передаваемых данных и оптимизацию процедур идентификации и соединения Bluetooth-устройств.

В апреле 2009 года была утверждена базовая спецификация Bluetooth 3.0 + HS. Аббревиатура HS в данном случае расшифровывается как High Speed (высокая скорость). Ее главное новшество — реализация технологии Generic Alternate MAC/PHY, обеспечивающей возможность передачи данных со скоростью до 24 Мбит/с. Кроме того, предусматривается использование двух модулей приемопередатчиков: низкоскоростного (с невысоким энергопотреблением) и высокоскоростного. В зависимости от ширины потока транслируемых данных (или размера передаваемого файла) задействуется либо низкоскоростной (до 3 Мбит/с), либо высокоскоростной приемопередатчик. Это позволяет снизить уровень энергопотребления в ситуациях, когда не требуется высокая скорость передачи данных.

Базовая спецификация Bluetooth 4.0 была утверждена в июне 2010 года. Ключевая особенность этой версии — применение технологии передачи данных с низким энергопотреблением (low energy technology). Снижение энергопотребления достигается как за счет ограничения скорости передачи данных (не более 1 Мбит/с), так и за счет того, что приемопередатчик не работает постоянно, а включается только на время обмена данными. Вопреки распространенному заблуждению, интерфейс Bluetooth 4.0 не обеспечивает более высокую скорость передачи данных по сравнению с версией Bluetooth 3.0 + HS.

Функциональные особенности устройств

функцию «абсолютной регулировки громкости»должно бытьподключение двух устройств одновременноФункция AVDTP 1.3 Delay Reporting

Двунаправленная связь через Bluetooth. Передача голоса.

mSBC

Пример записи в этом кодеке

FastStream

Пример записи в этом кодекезвук с микрофона, такой же, как у mSBCв виде патча для Linux’ового PulseAudio

aptX Low Latency

Проблемы устройств, сертификации и логотипов Bluetooth

  1. Отсутствует слово «Bluetooth» на коробке и устройстве, чаще всего используется «Wireless» и «BT»
  2. Отсутствует логотип Bluetooth на коробке или устройстве
  3. Нет синего мигающего светодиода

Модифицируем Bluetooth-стек для улучшения звука на наушниках без кодеков AAC, aptX и LDACSoundGuysSoundExpertБонус:референсный энкодер SBC, информация о битстриме A2DP и тестовые файлы

Расширенный профиль распространения звука (A2DP)

Этот профиль определяет, как мультимедийный звук может передаваться с одного устройства на другое через соединение Bluetooth (это также называется потоковой передачей аудио по Bluetooth). Например, музыку можно передавать в потоковом режиме с мобильного телефона на беспроводную гарнитуру , стример для слухового аппарата / кохлеарного имплантата или автомобильную аудиосистему; поочередно с ноутбука / настольного компьютера на беспроводную гарнитуру; Кроме того, голос может передаваться с микрофона на диктофон на ПК. Профиль дистанционного управления аудио / видео (AVRCP) часто используется в сочетании с A2DP для дистанционного управления такими устройствами, как наушники, автомобильные аудиосистемы или автономные динамики. Эти системы часто также реализуют профили (HSP) или (HFP) для телефонных звонков, которые можно использовать отдельно.

Каждая служба A2DP, а возможно, и многие из них, предназначена для однонаправленной передачи аудиопотока в двухканальном стереофоническом режиме либо на хост Bluetooth, либо от него. Этот профиль опирается на AVDTP и GAVDP . Он включает обязательную поддержку кодека SBC низкой сложности (не путать с кодеками голосового сигнала Bluetooth, такими как CVSDM ) и дополнительно поддерживает / MPEG-2 Part 3 ( MP2 и MP3 ), MPEG-2. Part 7 / MPEG-4 Part 3 ( AAC и HE-AAC ) и ATRAC , а также расширяемый для поддержки кодеков , определенных производителем , таких как aptX .

Некоторые стеки Bluetooth применяют схему управления цифровыми правами SCMS-T (DRM). В этих случаях невозможно подключить определенные наушники A2DP для получения высококачественного звука.

Логические спецификации

Функциональные характеристики

Класс USB-устройства с интерфейсом пользователя можно использовать для описания классов устройств и интерфейсов. Класс интерфейса используется, когда USB-устройство может содержать более одной функции. Следовательно, можно иметь USB-устройства с двумя разными интерфейсами одновременно (например, USB-телефон может использовать клавиатуру, относящуюся к классу HID, и динамик, относящийся к классу устройств связи USB ).

Интерфейсные устройства также определяются дескрипторами подкласса. Дескриптор подкласса используется для объявления устройства загрузочным. Загрузочное устройство отвечает минимальное соблюдение базового протокола и будет признано компьютером BIOS .

Каждый интерфейс USB HID взаимодействует с хостом с помощью канала управления или канала прерывания . Изохронные и насыпные трубы не используются в устройствах класса HID. Для перечисления требуются управляющие передачи IN и OUT; для отчетов HID требуется только передача прерывания IN. Передача прерывания OUT не является обязательной в устройствах HID-класса.

Отчеты

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

Хост периодически опрашивает конечную точку прерывания IN устройства во время работы. Когда у устройства есть данные для отправки, оно формирует отчет и отправляет его в качестве ответа на токен опроса. Обычные устройства, такие как клавиатуры и мыши, отправляют отчеты, которые соответствуют стандартам, установленным Форумом разработчиков USB (USB-IF). Когда поставщик создает пользовательское устройство класса USB HID, отчеты, формируемые устройством, должны соответствовать описанию отчета, приведенному во время перечисления, и драйверу, установленному в хост-системе. Таким образом, класс USB HID может быть чрезвычайно гибким.

Keyboard layout

A keyboard layout fully describes a keyboard’s input characteristics for Microsoft Windows 2000 and later versions. For example, a keyboard layout specifies the language, keyboard type and version, modifiers, scan codes, and so on.

See the following for information about keyboard layouts:

  • Keyboard header file, kdb.h, in the Windows Driver Development Kit (DDK), which documents general information about keyboard layouts.

  • Sample keyboard layouts.

To visualize the layout of a specific keyboard, see Windows Keyboard Layouts.

For additional details around the keyboard layout, visit Control Panel\Clock, Language, and Region\Language.

Сфера применения

Беспроводной интерфейс с небольшим радиусом действия, получивший название Bluetooth, был разработан в 1994 году инженерами шведской компании Ericsson. Начиная с 1998-го развитием и продвижением данной технологии занимается организация Bluetooth Special Interest Group (Bluetooth SIG), основанная компаниями Ericsson, IBM, Intel, Nokia и Toshiba. К настоящему времени список членов Bluetooth SIG включает более 13 тыс. компаний.

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

Основной функцией Bluetooth является создание так называемых персональных сетей (Private Area Networks, PAN), которые обеспечивают возможность обмена данными между расположенными поблизости (внутри одного дома, помещения, транспортного средства и т.д.) настольными и портативными ПК, периферийными и мобильными устройствами и пр.

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

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации