Как узнать com порт устройства bluetooth
Bluetooth является беспроводной технологией для создания персональных сетей на расстоянии не более 10 метров, работающей на частоте 2.4 ГГц, которая не подлежащит лицензированию. Обычно такие сети формируются из портативных устройств, таких, как сотовые телефоны, КПК и лаптопы. В отличие от Wi-Fi, другой популярной беспроводной технологии, Bluetooth предоставляет более высокий уровень сервиса, например, файловые серверы типа FTP, передачу файлов, голоса, эмуляцию последовательного порта и другие.
По умолчанию драйверы устройств Bluetooth поставляются в виде модулей ядра. Перед подключением устройства вам необходимо подгрузить драйвер в ядро.
Если Bluetooth-устройство в момент запуска системы подключено, то загружайте модуль из файла /boot/loader.conf .
ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2 ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3, wMaxPacketSize=49, nframes=6, buffer size=294
Host Controller Interface (HCI) предоставляет интерфейс для управления контроллером передатчика и менеджером соединений, а также доступ к данным о состоянии оборудования и его управляющим регистрам. Этот интерфейс предоставляет унифицированный метод доступа к передающим возможностям Bluetooth. Уровень HCI на управляющей машине обменивается данными и командами с микрокодом HCI в оборудовании Bluetooth. Драйвер для Host Controller Transport Layer (то есть физической шины) предоставляет обоим слоям HCI возможность обмениваться данными друг с другом.
Для одного Bluetooth-устройства создаётся один узел Netgraph типа hci . HCI-узел обычно подключается к узлу драйвера устройства Bluetooth (входящий поток) и к узлу L2CAP (исходящий поток). Все операции с HCI должны выполняться на узле HCI, но не на узле драйвера устройства. В качестве имени по умолчанию для узла HCI используется ``devicehci''. Дополнительные подробности можно найти на справочной странице ng_hci (4) .
BD_ADDR является уникальным адресом устройства Bluetooth, вроде MAC-адресов сетевых адаптеров. Этот адрес необходим для дальнейшей работы с устройством. Адресу BD_ADDR можно присвоить удобное для чтения имя. Файл /etc/bluetooth/hosts содержит информацию об известных хостах Bluetooth. В следующем примере показано, как получить имя, назначенное удалённому устройству.
% hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4 BD_ADDR: 00:80:37:29:19:a4 Name: Pav's T39
Если вы выполните опрос на другом Bluetooth-устройстве, но ваш компьютер будет опознан как ``your.host.name (ubt0)''. Имя, назначаемое локальному устройству, может быть в любой момент изменено.
Система Bluetooth предоставляет услуги по соединениям типа точка-точка (при этом задействованы только два устройства Bluetooth) или точка-ко-многим-точкам. В последнем случае соединение используется совместно несколькими устройствам Bluetooth. В следующем примере показывается, как получить список активных для локального устройства соединений.
% hccontrol -n ubt0hci read_connection_list Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State 00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN
Идентификатор соединения ( connection handle ) полезен, когда необходимо прекратить соединение. Заметьте, что обычно нет нужды делать это вручную. Стек будет автоматически разрывать неактивные соединения.
Обратитесь к помощи посредством hccontrol help для получения полного списка доступных HCI-команд. Большинство команд HCI для выполнения не требуют прав администратора системы.
Протокол L2CAP (Logical Link Control and Adaptation Protocol) предоставляет услуги по работе с данными, как ориентированные на соединения, так и без ориентации на них, протоколам более высокого уровня с возможностями мультиплексирования и обеспечением операций по сегментации и обратной сборке. L2CAP позволяет протоколам более высокого уровня и приложениям передавать и получать пакеты данных L2CAP длиной до 64 Кбайт.
L2CAP основан на концепции каналов . Каналом является логическое соединение поверх соединения по радиоканалу. Каждый канал привязан к некоторому протоколу по принципу многие-к-одному. Несколько каналов могут быть привязаны к одному и тому же протоколу, но канал не может быть привязан к нескольким протоколам. Каждый пакет L2CAP, получаемый каналом, перенаправляется к соответствующему протоколу более высокого уровня. Несколько каналов могут совместно использовать одно и то же радиосоединение.
Для одного Bluetooth-устройства создается один узел Netgraph типа l2cap . Узел L2CAP обычно подключается к узлу Bluetooth HCI (нижестоящий) и узлам Bluetooth-сокетов (вышестоящие). По умолчанию для узла L2CAP используется имя ``devicel2cap''. Для получения дополнительной информации обратитесь к справочной странице по ng_l2cap (4) .
% l2control -a 00:02:72:00:d4:1a read_channel_list L2CAP channels: Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State 00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN % l2control -a 00:02:72:00:d4:1a read_connection_list L2CAP connections: Remote BD_ADDR Handle Flags Pending State 00:07:e0:00:0b:ca 41 O 0 OPEN
% btsockstat Active L2CAP sockets PCB Recv-Q Send-Q Local address/PSM Foreign address CID State c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN Active RFCOMM sessions L2PCB PCB Flag MTU Out-Q DLCs State c2afe900 c2b53380 1 127 0 Yes OPEN Active RFCOMM sockets PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN
Протокол RFCOMM эмулирует последовательные порты поверх протокола L2CAP. Он основан на ETSI-стандарте TS 07.10. RFCOMM представляет собой простой транспортный протокол, с дополнительными возможностями по эмуляции 9 цепей последовательных портов RS-232 (EIATIA-232-E). Протокол RFCOMM поддерживает одновременно до 60 соединений (каналов RFCOMM) между двумя устройствами Bluetooth.
В рамках RFCOMM полный коммуникационный маршрут включает два приложения, работающие на разных устройствах (конечные коммуникационные точки) с коммуникационным сегментом между ними. RFCOMM предназначен для сокрытия приложений, использующих последовательные порты устройств, в которых они расположены. Коммуникационный сегмент по сути является Bluetooth-связью от одного устройства к другому (прямое соединение).
RFCOMM имеет дело с соединением между устройствами в случае прямого соединения, или между устройством и модемом в сетевом случае. RFCOMM может поддерживать и другие конфигурации, такие, как модули, работающие через беспроводную технологию Bluetooth с одной стороны и предоставляющие проводное соединение с другой стороны.
Во FreeBSD протокол RFCOMM реализован на уровне сокетов Bluetooth.
По умолчанию связь Bluetooth не аутентифицируется, поэтому любое устройство может общаться с любым другим. Устройство Bluetooth (например, сотовый телефон) может задать обязательность аутентификации для предоставления определённого сервиса (в частности, услугу доступа по коммутируемой линии). Bluetooth-аутентификация обычно выполняется через PIN-коды . PIN-код представляет из себя ASCII-строку длиной до 16 символов. Пользователь обязан ввести один и тот же PIN-код на обоих устройствах. Как только он введёт PIN-код, оба устройства сгенерируют ключ связи . После этого ключ может быть сохранён либо в самом устройстве, либо на постоянном носителе. В следующий раз оба устройства будут использовать ранее сгенерированный ключ соединения. Процедура, описанная выше, носит название подгонки пары (pairing). Заметьте, что если ключ связи потерян любой из сторон, то подбор пары должен быть повторен.
hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
Протокол обнаружения сервисов SDP даёт возможность клиентским приложениям осуществлять поиск услуг, предоставляемых серверными приложениями, а также характеристик этих услуг. В перечень атрибутов сервиса включается тип класса предлагаемого сервиса и информация о механизме или протоколе, требуемом для использования сервиса.
SDP подразумевает коммуникации между SDP-сервером и SDP-клиентом. Сервер поддерживает список сервисов, в котором описываются параметры сервисов, связанных с сервером. Каждая запись об услуге содержит информацию об одном сервисе. Клиент может запросить информацию об опеределённом сервисе, обслуживаемом SDP-сервером, выдавая SDP-запрос. Если клиент или приложение, связанное с клиентом, решат воспользоваться сервисом, то для его использования необходимо открыть отдельное соединение к устройству, предоставляющему сервис. SDP предоставляет механизм обнаружения услуг и их параметров, но не даёт механизма использования этих сервисов.
Обычно SDP-клиент выполняет поиск услуг на основе некоторых желаемых характеристик услуг. Однако иногда возникает необходимость выяснить полный перечень типов услуг, предоставляемых SDP-сервером, не имея никакой информации об имеющихся сервисах. Такой процесс всех предлагаемых сервисов называется обзором (browsing).
Существующие на данный момент серверы и клиенты SDP реализованы в пакете стороннего разработчика sdp-1.5 , который можно сгрузить здесь . Утилита sdptool является SDP-клиентом, управляемым из командной строки. В следующем примере показано, как выполнять запрос на SDP-обзор.
. и так далее. Заметьте, что каждый сервис имеет перечень атрибутов (например, канал RFCOMM). В зависимости от сервиса вам может потребоваться где-то сохранить эти атрибуты. Некоторые реализации Bluetooth не поддерживают просмотр сервисов и могут возвращать пустой список. В этом случае возможен поиск конкретной услуги. В примере ниже показано, как выполнить поиск службы OBEX Object Push (OPUSH).
Во FreeBSD предоставление сервисов клиентам Bluetooth осуществляется сервером sdpd .
Для регистрации сервиса в локальном SDP-сервере также применяется утилита sdptool . В примере ниже показывается, как зарегистрировать Network Access с услугой PPP (LAN). Заметьте, что некоторые сервисы требуют указания их атрибутов (например, канала RFCOMM).
Модуль работы с коммутируемым доступом к сети (DUN - Dial-Up Networking) в большинстве случаев используется с модемами и сотовыми телефонами. Этот модуль покрывает следующие случаи:
сотовый телефон или модем используется вместе с компьютером в качестве беспроводного модема для подключения к серверу коммутируемого доступа в Интернет, или другой коммутируемой услуге;
сотовый телефон или модем используется компьютером для приёма входящих соединений.
Модуль доступа к сети по протоколу PPP (Network Access with PPP - LAN) может использоваться в следующих ситуациях:
доступ к ЛВС для одного Bluetooth-устройства;
доступ к ЛВС для нескольких Bluetooth-устройств;
связь между двумя ПК (при помощи протокола PPP поверх эмулируемого последовательного канала связи).
OBEX является широкоиспользуемым протоколом для простой передачи файлов между мобильными устройствами. В основном он используется в коммуникациях через инфракрасный порт для передачи файлов между ноутбуками или КПК компании Palm, а также для пересылки визитных карточек или календарных планов между сотовыми телефонами и другими устройствами с персональными информационными менеджерами.
Клиент OBEX используется для посылки или приёма объектов с сервера OBEX. Объектом, к примеру, может быть визитная карточка или указание. Клиент OBEX может получить номер RFCOMM-канала, указав вместо него имя сервиса. Поддерживаются следующие имена сервиса: IrMC, FTRN и OPUSH. Канал RFCOMM можно задать его номером. Ниже даётся пример сеанса OBEX, где с сотового телефона забирается объект с информацией об устройстве, а новый объект (визитная карточка) передаётся в каталог сотового телефона.
% obexapp -a 00:80:37:29:19:a4 -C IrMC obex> get get: remote file> telecom/devinfo.txt get: local file> devinfo-t39.txt Success, response: OK, Success (0x20) obex> put put: local file> new.vcf put: remote file> new.vcf Success, response: OK, Success (0x20) obex> di Success, response: OK, Success (0x20)
Модуль последовательного порта (SP - Serial Port) позволяет Bluetooth-устройству осуществлять эмуляцию последовательного порта RS232 (или подобного). Этот модуль покрывает случаи, касающиеся работы унаследованных приложений с Bluetooth в качестве замены кабельному соединению, при это используется абстракция виртуального последовательного порта.
После подключения псевдотерминал можно использовать как последовательный порт.
Некоторые старые Bluetooth-устройства не поддерживают переключение ролей. По умолчанию, когда FreeBSD подтверждает новое соединение, она пытается выполнить переключение роли и стать ведущим устройством. Устройства, которые это не поддерживают, не смогут подключиться. Заметьте, что переключение ролей выполняется при установлении нового соединения, поэтому невозможно выяснить, поддерживает ли удалённое устройство переключение ролей. На локальной машине имеется возможность отключить переключение ролей при помощи HCI-параметра.
Для правильного подключения оборудования, необходимо определить номер COM порта.
Проверка проводится при условии, что сервер полностью развернут, и работает заведомо правильно.
Windows
Для определения номера COM порта на ОС Windows необходимо:
- Убедиться в том, что многожильный кабель подключен к COM-порту
- Перейти в "Диспетчер устройств", расположенный в: Панель управления\Оборудование и звук\Диспетчер устройств (необходимы права администратора)
- Раскрыть дерево "Порты (COM и LPT)"
- Отсоединить многожильный кабель
- Запомнить изменения в дереве устройств "Порты (COM и LPT)"
- Присоединить многожильный кабель обратно к COM-порту
- Найти новый порт в дереве устройств "Порты (COM и LPT)"
8. После того, как номер COM-порта определен его необходимо указать в схеме SCADA, для устройства, подключенного многожильным кабелем.
Linux
Для определения номера COM порта на ОС Linux необходимо:
- Обладать правами Root либо пользователь должен входить в группу dialout
- Убедиться в том, что многожильный кабель подключен к COM-порту
- Проверить наличие COM портов в системе, введя в командную строку следующую команду:
4. После выполнения команды отобразится список всех доступных COM-портов
dev/ttyS0 - первый COM порт
/dev/ttyS1 - второй COM порт
/dev/ttyUSB0 - специальный кабель-переходник из USB в COM (Gembird UAS111)
5. Установить программу minicom. Для этого вводим следующую команду:
6. Найти многожильный кабель в оплётке длиной 4-6 см.
7. Соединить 2 и 3 выводы COM порта перемычкой из кусочка многожильного провода. Оплётка будет удерживать провод на контактах, а металлические жилы внутри будут проводниками.
8. Настроить программу minicom. Для этого вводим следующую команду:
9. Выбрать "Настройка последовательного порта"
10. Нажимая А поочередно выбираем порты (если используется кабель-переходник из USB в COM то выбрать /dev/ttyUSB0)
11. Отключить аппаратное управление потоком, нажав «F»
12. Выйти из настроек нажав «Enter»
13. Сохранить настройки по умолчанию «Сохранить настройки как dfl»
14. Выйти из minicom
15. Запустить minicom выполнив команду:
16. Нажать на любую клавишу на клавиатуре
В случае, если символы не вводятся с клавиатуры, необходимо вернуться к пункту 10, и выбрать другой COM-порт
Если вводимые символы отображаются - значит COM-порт определен верно
17. После того, как номер COM-порта определен его необходимо указать в схеме SCADA, для устройства, подключенного многожильным кабелем.
Для взаимодействия с устройствами, поддерживающими Bluetooth, некоторым программам требуется COM-порт (также называемый последовательным портом). Примеры:
· Программа, синхронизирующая список контактов с мобильным телефоном.
· Программа, получающая GPS-координаты от GPS-приемника.
О том, как выбрать нужный COM-порт, можно узнать из документации к программе или устройству с поддержкой Bluetooth либо на веб-сайте изготовителя. Обычно устройства с поддержкой Bluetooth автоматически выбирают используемый COM-порт, поэтому пользователю не нужно этого делать. Узнать, использует ли устройство COM-порт, можно на вкладке «COM-порты» в окне «Параметры Bluetooth». Инструкции по отображению этой вкладки приведены ниже.
Если нужный COM-порт неизвестен, выбирайте каждый COM-порт поочередно и используйте тот, который позволяет программе и устройству успешно взаимодействовать.
Изменение COM-порта, используемого компьютером для взаимодействия с устройствами с поддержкой Bluetooth
1. Щелкните здесь, чтобы открыть Панель управления.
2. В поле поиска Панели управления введите Bluetooth и выберите пункт Изменение параметров Bluetooth.
3. В диалоговом окне Параметры Bluetooth выберите вкладку COM-порты, выберите порт, а затем нажмите кнопку ОК.
Если список COM-портов пуст, то данное устройство с поддержкой Bluetooth не использует COM-порт. Чтобы добавить COM-порт, который должно использовать устройство, нажмите кнопку Добавить.
Что такое драйвер?
Драйвер - это программа, обеспечивающая взаимодействие компьютера с оборудованием и устройствами. Без драйверов невозможна нормальная работа подключенного к ПК оборудования, например видеоадаптера или принтера.
В большинстве случаев драйверы поставляются вместе с Windows, или их можно найти, перейдя в центр обновления Windows на панели управления и проверив наличие обновлений. Если в Windows отсутствует нужный драйвер, то обычно его можно найти на диске в комплекте поставки оборудования или устройства либо на веб-сайте производителя.
Дополнительные сведения см. в разделе Обновление драйвера для оборудования, которое работает неправильно.
Автоматическое получение рекомендуемых драйверов и обновлений для имеющихся устройств
- Драйверы и сведения
- Настройка ОС Windows на автоматическую загрузку рекомендуемых драйверов и значков
- Включение и настройка центра обновления Windows
- Установка драйверов и других необязательных обновлений из центра обновления Windows
- Если Windows не может найти драйвер для имеющегося устройства
- Если Windows не может найти сведения об устройстве в окне Device Stage
Windows может автоматически загружать рекомендуемые драйверы и подробные сведения для имеющихся устройств. Это хороший способ обеспечения правильной работы всего оборудования.
Драйверы и сведения
Windows может находить и загружать два вида обновлений для устройств, подключенных к компьютеру.
Драйвер - это программа, обеспечивающая взаимодействие компьютера с оборудованием и устройствами. Без драйверов устройства, подключенные к компьютеру, например мышь или внешний жесткий диск, не будут работать должным образом. Windows может автоматически проверять наличие доступных драйверов для новых устройств, подключенных к компьютеру.
Для оборудования, ранее подключенного к компьютеру, обновленные драйверы могут стать доступными позднее, но такие драйверы не устанавливаются автоматически. Чтобы установить эти необязательные обновления, перейдите в центр обновления Windows в панели управления, проверьте наличие обновлений, а затем просмотрите и установите обновления драйверов, доступные для конкретного компьютера.
Windows может загружать значки высокого разрешения для множества устройств, подключенных к компьютеру, наряду с подробными сведениями о них, такими как название продукта, производитель и номер модели, а также сведениями о возможностях синхронизации устройства. Эти сведения помогают различать похожие устройства, подключенные к компьютеру, например разные мобильные телефоны.
Папка «Устройства и принтеры» в панели управления предоставляет быстрый обзор устройств, подключенных к компьютеру.
COM-порты - общие компоненты диспетчера устройств. Пользователи Windows могут легко их увидеть, открыв диспетчер устройств. Однако могут возникнуть проблемы, из-за которых COM-порты будут потеряны из диспетчера устройств. Если вы столкнулись с этой проблемой, прочтите методы, упомянутые ниже, чтобы попытаться решить проблему самостоятельно.
COM означает порт связи, и на самом деле это оригинальное название интерфейса последовательного порта. COM может использоваться для ссылки как на физические, так и на эмулируемые порты, которые создаются через адаптеры Bluetooth или USB-последовательный порт. Ну а COM-порты отсутствуют в диспетчере устройств проблема случается время от времени.
Как получить доступ к портам диспетчера устройств Windows 10?
- Щелкните правой кнопкой мыши на Этот ПК значок на рабочем столе.
- выберите Управлять из контекстного меню.
- Выбрать Диспетчер устройств в Системных инструментах. (Вы также можете нажать Start + X, чтобы выбрать Диспетчер устройств .)
- выберите Посмотреть из строки меню.
- выберите Показать скрытые устройства из подменю.
- Найдите Порты (COM и LPT) из списка на правой панели.
- Разверните его, чтобы найти Коммуникационный порт (COM) .
COM-порты отсутствуют в диспетчере устройств
Однако многие люди говорят, что не могут найти порты в диспетчере устройств и им отчаянно нужно решение этой проблемы.
COM-порты, не отображаемые в диспетчере устройств: все случаи
Первый: Com-порт отсутствует / опция портов недоступна в диспетчере устройств.
Два: в диспетчере устройств не отображаются порты (даже скрытые) Win 7 Pro 64 бит.
Я не могу заставить работать внешний модем (даже если он отображается в окне устройств и принтеров. Я также не могу заставить работать конвертер USB-последовательного порта. Было бы полезно, если бы у меня была информация из окна диспетчера устройств, но ничего не отображается, хотя я включил отображение скрытых устройств. Есть идеи? Спасибо. - спросил Пол Саке на форуме Microsoft.
Три: COM-ПОРТ исчез в диспетчере устройств.
Когда я открыл диспетчер устройств в то время, я обнаружил, что параметр COM-порта портативных устройств исчез из диспетчера устройств. Что мне нужно сделать, чтобы решить эту проблему? - сказал SAY014 на форуме HP.
Итак, как решить проблему и найти COM-порты Windows 10? Продолжайте читать!
Как добавить COM-порт в диспетчер устройств
Некоторые пользователи жаловались, что их COM-порты Widows 10 исчезли из диспетчера устройств после того, как они обновили свои платформы Windows. Какой бы ни была причина, пользователи в первую очередь заботятся о том, как восстановить недостающие COM-порты. Об этом я и расскажу в этом разделе.
Метод 1. Показать скрытые устройства.
Как я уже упоминал в начале этой статьи, пользователи не могут видеть COM-порты напрямую. Вместо этого им нужно открыть Диспетчер устройств -> выбрать Посмотреть вкладка -> выбрать Показать скрытые устройства . После этого они увидят Порты (COM и LPT) вариант, и им нужно только расширить его до COM-портов плавников.
Способ 2: добавить COM-порты вручную.
- Откройте Диспетчер устройств на своем компьютере с Windows 10.
- Нажми на Действие вариант из строки меню.
- выберите Добавить устаревшее оборудование из подменю, чтобы открыть окно «Добавить оборудование».
- Нажми на следующий кнопку, чтобы двигаться дальше.
- Проверьте Установите оборудование, которое я выбираю вручную из списка (Дополнительно) и нажмите следующий .
- Выбрать Порты (COM и LPT) из данного списка и нажмите следующий кнопка.
- выберите Стандартные типы портов вариант или производитель портов; затем щелкните следующий .
- Нажми на Конец кнопку для завершения.
Способ 3: обновите драйверы материнской платы.
Если драйверы материнской платы слишком устарели, это также приведет к отсутствию COM-портов в диспетчере устройств. Поэтому вам рекомендуется обновить драйверы материнской платы вручную и посмотреть, работает ли это.
Читайте также: