На практике необходимость совпадения профилей обоих устройств не налагает столь сильных ограничений, как могло бы показаться на первый взгляд, по следующим двум причинам: 1) профили распространенных типов устройств, которые от возможности обмениваться между собой информацией могли бы только выиграть, обычно перекрываются друг с другом, и 2) несмотря на существование множества различных профилей, на практике лишь немногие из них доминируют в тех областях, которые представляют интерес с точки зрения использования мобильных устройств. Существуют распространенные профили для синхронизации информации, с которой работают PDA-устройства, а также профили для использования мобильного телефона в качестве сетевого концентратора.

Что немаловажно, существует также профиль, позволяющий использовать Bluetooth-устройство в качестве последовательного порта RS-232; название этого профиля соответствует его назначению — "Serial Port Profile". Благодаря этому такие устройства Bluetooth воспринимаются как СОМ-порты и могут поддерживать старые протоколы последовательной передачи данных. Многие устаревшие источники информации поддерживают традиционную связь через последовательный порт RS-232, и на протяжении ряда лет последовательные протоколы получили широкое распространение. 

Обычным средством подключения этих устройств к компьютеру служил кабель RS-232. В качестве показательного примера, имеющего отношения к мобильным средствам связи, можно привести приемные устройства глобальной системы навигации и определения положения (Global Positioning System — GPS). В этой системе для передачи информации о глобальном местоположении от датчиков положения на вычислительное устройство в течение многих лет использовался последовательный протокол NMEA (National Marine Electronics Association — Национальная ассоциация судовой электроники). Теперь связь с этими устройствами является беспроводной, и вместо того чтобы изобретать совершенно новые протоколы, для многих последующих поколений этих устройств было решено по-прежнему использовать проверенные протоколы последовательной передачи данных, но осуществлять это посредством беспроводных соединений Bluetooth.

Программирование с использованием Bluetooth следует той же схеме, которая применяется при работе с перечисленными выше профилями. Разработчик, применяющий Bluetooth, может работать либо с низкоуровневыми API-интерфейсами Bluetooth, — возможно, посредством сокетов, если устройство поддерживает отображение данных между сокетами и Bluetooth, — либо с API-интерфейсами, специфичными для профилей. Например, если доступ к устройству Bluetooth осуществляется посредством профиля Serial Port Profile, то разработчик может вообще забыть о Bluetooth и просто работать с API-интерфейсами СОМ-порта. Выбор остается за вами, однако, как ранее уже отмечалось в данной главе, работать с более абстрактными высокоуровневыми API-интерфейсами почти всегда проще. Может даже оказаться, что использовать API- интерфейсы последовательного порта вам будет гораздо проще, чем углубляться во все детали обмена данными посредством протокола Bluetooth. При малейшей возможности упрощайте себе задачу и используйте более абстрактные API-интерфейсы.

Если вы программируете с использованием .NET Compact Framework версии 1.1, то для доступа к функциональным возможностям Bluetooth вам надо будет использовать собственный код (native code), если только независимыми производителями программного обеспечения уже не предусмотрены специальные встроенные интерфейсные оболочки, которые вы сможете использовать в управляемом коде (managed code). В NET Compact Framework версии 1.1 встроенная поддержка для работы как с Bluetooth, так и с последовательным СОМ-портом отсутствует. Вместе с тем, по адресу www.gotdotnet вы найдете образец кода, демонстрирующий, каким образом можно использовать вызовы собственного кода для решения таких низкоуровневых коммуникационных задач, как доступ к последовательному порту.

Перейти на страницу:

Похожие книги