Skip Navigation Links.
Skip Navigation Links.

.net student

microsoft

Vyhledávání v obsahu portálu


Přihlášení uživatele

Přihlášení uživatele

Členové:
  • Poslední nový uživatel Poslední: vavel
  • Nový dnes Dnes nových 2
  • Nový včera Včera nových: 6
  • Počet uživatelů: Celkem: 4413
Lidé online:
  • Návštěvníci: Návštěvníků: 29
  • Registrovaných Členů: 1
  • Celkem Celkem: 30
Mapa Stranek

Jak na Bluetooth v .NET Compact Frameworku

Vývoj aplikací pro mobilní zařízení jako jsou PDA či smartphony není vůbec težký, pokud již máte nějakou znalost .NETu. Tak jednoduché to už ale není, pokud chcete touto aplikací ovládat i bluetooth. NET CF bluetooth nejen že nepodporuje bluetooth, ale celou situaci navíc komplikují různé typy nekompatibilních bluetooth modulů, různé placené či neplacené knihovny a také nedostatek informací na Internetu o celé situaci s bluetooth na PDA zařízeních.

Bluetooth je bezdrátová technologie široce využívaná pro bezdrátový přenos dat zejména v malých zařízeních, jako jsou například PDA. Pro uživatele není většinou žádný problém Bluetooth používat, ale z pohledu vývojáře se může stát vývoj aplikace využívající Bluetooth celkem frustrující záležitostí.


Hned prvním důvodem je, že .NET Compact Framework nepodporuje Bluetooth, “naštěstí“ je ale na Internetu několik knihoven, které tuto situaci řeší. Dříve než se ale začnu zabývat jednotlivými knihovnami, bude potřeba krátký přehled toho, jak Bluetooth vlastně funguje.

Dnes můžeme najít mnoho Bluetooth zařízení, každé ale používající jiný typ Bluetooth modulu. Funkcionalita Bluetooth modulu je přístupná přes tzv. Bluetooth stack, což je rozhraní, přes které s Bluetooth modulem uvnitř zařízení systém komunikuje. Bohužel, těchto rozhraní je hned několik druhů, co znamená, že aplikace napsaná pro jeden Bluetooth stack nebude fungovat pro jiný. Proto si programátor musí buď vybrat, která zařízení bude podporovat a nebo naimplementovat různé verze pro jiná rozhraní. Zde je seznam těchto Bluetooh stacks (rozhraní):

  1. Widcomm stack
  2. Microsoft stack
  3. Jiná jako například Toshiba stack, …


Naštěstí, v naprosté většině zařízení najdeme buď Widcomm Bluetooth stack nebo Microsoft Bluetooth stack, proto se dále zaměřím pouze na tyto dvě nejrozšířenejší rozhraní. Více informací o jednotlivých Bluetooth stack můžete najít na http://en.wikipedia.org/wiki/Bluetooth_stack ^.

Widcomm stack

* Někdy se také můžete setkat s označením Broadcom stack

Implementace firmy Broadcom

Situace s rozhraním od firmy Widcomm, jejiž moduly jsou nejrozšířenější, byla velice špatná. Když ale v roce 2004 byla firma zakoupena firmou Broadcom, situace se změnila. Broadcom vydal oficiální knihovu pro ovládání Widcomm stacku, bohužel se ale jedná pouze o unmanaged C++ verzi. Tu můžete nalézt zde http://www.broadcom.com/products/Bluetooth/Bluetooth-RF-Silicon-and-Software-Solutions ^.

  • - pouze Widcomm stack
  • - C++ verze
  • + zdarma

Knihovna BTAccess od firmy High-Point software

Zde se jedná už o managed .NET verzi pro Widcomm Bluetooth stack, která ale není zdarma. Ceny můžete nalézt zde http://www.high-point.com/purchase.htm ^. Na stránkách je také k dispozici plná zkušební verze bez časového omezení, pouze při každé inicializaci připojení k Bluetooth v zařízení se otevře okno s informací, že se jedná pouze o zkušební verzi. Tuto verzi můžete stáhnout na http://www.high-point.com/downloads.htm ^.

Tuto knihovnu jsem měl možnost odzkoušet a setkal jsem se zde s několika, celkem, závažnými problémy. Celá interakce s Bluetooth je víceméně uskutečněna přes události, kde ale některé nebyly volány správně. Navíc aplikace nakonec fungovala pouze na jednom ze tří testovaných PDA, všechny s Widcomm Bluetooth:

HP iPAQ hx2790 - ano
HP iPAQ 214 -ne 
Asus MyPal A639 -ne

  • - pouze Widcomm Bluetooth stack
  • - pouze placená verze
  • + managed .NET CF knihovna

Microsoft Bluetooth stack

Knihovna firmy Microsoft

Z pohledu programátora je u tohoto rozhraní situace o mnoho jednodušší, bohužel ale Microsoft Bluetooth stack zase není tolik rozšířený jako Widcomm. Microsoft poskytuje na svých stránkách zdarma .NET CF knihovnu Windows Embedded Source Tools for Bluetooth Technology. Knihovnu můžete stáhnout na http://msdn2.microsoft.com/en-us/embedded/aa714533.aspx ^. Několik tutoriálů a příkladů použítí této knihovny můžete najít na http://channel9.msdn.com/wiki/default.aspx/Channel9.BluetoothDevelopment ^.

  • - pouze Microsoft Bluetooth stack
  • + managed .NET CF
  • + zdarma

32feet.NET

Další bezplatnou knihovnou pro Windows Bluetooth stack je 32feet.NET, kterou můžete stáhnout na http://inthehand.com/content/32feet.aspx ^.

  • - Pouze Microsoft Bluetooth stack
  • + managed .NET CF
  • + zdarma

Widcomm i Microsoft stack

Franson BlueTools

Poslední zde uvedená knihovna je od firmy Franson. Tato knihovna umí jak Microsoft Bluetooth stack, tak Windcomm Bluetooth stack. Rozlišení typu Bluetooth rozhraní se děje na úrovni knihovny a odlišnosti mezi rozhraními jsou před programátorem skryty. Aplikace pak tedy funguje na obou typech Bluetooth zařízení. Tato knihovna není zdarma, standardní verze stojí 99 €. Na stránkách si také můžete stáhnout 14ti denní trial verzi, stačí se zaregistrovat na http://franson.com ^ a získáte sériové číslo, které je potřeba pro inicializaci knihovny. Knihovnu můžete stáhnout na http://franson.com/bluetools ^.

S touto knihovnou jsem pracoval a vyskytlo se jen několik menších problémů, kdy některé události nebyly volány ve správném pořadí. Při testování aplikace fungovala bez problémů na všech třech zmíněných PDA.

  • - není zdarma
  • + podporuje oba typy, jak Microsoft tak Widcomm Bluetooth stack
  • + managed .NET CF

Jak poznám, jaká verze Bluetooth stacku se v zařízení nachází?

Bohužel zjistit o jaký Bluetooth stack se jedná v daném PDA je velice problematické. Jedna možnost je - podívat se do registrů a hledat složku „Widcomm“, pokud se zde nenachází, pak se pravděpodobně jedná o Microsoft Bluetooth stack. Druhá možnost je - pokusit se vyhledat tuto informaci na Internetu. Bohužel není možné si to vyhledat na stránkách výrobce, protože ti tuto informaci většinou vůbec neposkytují.

Závěr

Cílem tohoto článku bylo uvést čtenáře do problematiky vývoje pro Bluetooth v .Net CF. Bohužel na Internetu se nachází velice málo informací o celé situaci s Bluetooth, která je přinejmenším mírně komplikovaná. Ukázky zdrojových kódů zde nenalaznete, protože použití jednotlivých knihoven se liší, nicméně příklady použítí poskytuje každá firma ze zde zmíněných knihoven na jejich stránkách.

blog: http://www.unitedstatesof.net

Ales Sturala :: 30. května 2008 :: 883 shlédnutí :: 0 komentářů
kategorie: Vývoj Windows aplikací

Comments

Nyní zde nejsou žádné kometáře. Buďte první!
Musíte být přihlášen pro posílání komentářů. Přihlásit se můžete zde
Přehled posledních diskuzí

Přehled posledních diskuzí

  1. Nekultura výlepu plakátů [11.21.2008 8:00 dop.]
    Proč proboha je na FEL ČVUT na Karláku budova polepena plakáty na zdech, přímo na omítce? Vrcholnou ukázkou je zeď před ...
  2. RE: SQL server 2008 MSDN AA [11.11.2008 7:26 odp.]
    Diky, ale tim to bohuzel neni.
  3. Dotaz na organizátory MS Festu [11.10.2008 4:31 odp.]
    Ahoj MSP,rád bych se zeptal jednoho z organizátorů MS Festu na jeden nestandardní dotaz, který se mi nechce psát na veře...
  4. RE: SQL server 2008 MSDN AA [11.08.2008 1:51 odp.]
    Dobrý den,pro spuštění instalace SQL Serveru 2008 je třeba mít nainstalován .NET Framework 3.5 Service Pack 1 - je to uv...
Novinky z klubů

Novinky z klubů

  1. Programátorské večery: Tipy a triky pro Visual Studio 13. listopadu 2008
    S Visual Studiem pracujeme každý den, ale málokdo zná šechny užitečné klávesov...
  2. Programátorské večery: PowerShell 12. listopadu 2008
    Platformu PowerShell již netřeba představovat. Co ovšem přináší pro .NET programátory...
  3. Programátorské večery: Entity Framework 30. října 2008
    Na této akci bude představena technologie Entity Framework. Podíváme se na tato témata: ...
  4. Programátorské večery: LINQ 26. října 2008
    LINQ je nový revoluční přístup pro práci s daty, který přichází s .NET ...
Co se píše jinde

Co se píše jinde

Řešení problémů s identitou webu u Personal Information Cards

Téměř přesně před rokem jsem si v článku Jak se zjišťuje identita webu u Personal Information Cards? stěžoval na to, ...

TechEd Developers 2008: Den druhý až čtvrtý

Konečně jsem získal dostatek času, abych sepsal zážitky z druhého až čtvrtého dne TechEdu.

TechEd Developers 2008: Den první

První den TechEdu je vždycky takový nanečisto, ostatně jsou v něm jenom dva přednáškové sloty. A keynote. Na co že se...

Výběr serveru

Výběr vhodného serveru představuje volbu při níž musíme přihlédnout k mnoha kritériím, které lze shrnout do následují...

Podívejte se své cache na zoubek

Robustní cacheovací mechanismus je jedna z nejužitečnějších technologií, jaké ASP.NET nabízí. Při vhodném použití můž...