. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Bluetooth I/O - Ovládání z PC
5. února 2010 - 9:30 | Pandatron | Bluetooth I/O - Ovládání z PC | Komentářů: 1  

Bluetooth I/O - Ovládání z PC

Popis řízení a monitorování I/O pinů Bluetooth modulů firmy ConnectBlue a využití v jednoduchém ovládací software pro PC, dostupném včetně zdrojových kódů.

Článek navazuje na popis hardware Bluetooth modulů firmy ConnectBlue, použitých v aplikaci bezdrátového Bluetooth I/O rozhraní (BT I/O). Na následujících řádcích je přiblížen způsob ovládání jednotlivých vstupně/výstupních pinů pomocí dostupných povelů a závěr článku patří jednoduchému ovládacímu programu, dostupného včetně zdrojových kódů.

Konfigurace I/O pinů:
Hardwarová konfigurace modulů byla podrobně popsána již v článku Bluetooth I/O - Hardware. Ve zkratce je potřeba připojit modul k počítači a to například prostřednictvím libovolného USB / RS232 (TTL) převodníku. Následně se aplikací Flash Loader nahraje do modulu speciální firmware s označením BT IO. Vše je po jednoduché registraci dostupné na webových stránkách ConnectBlue.

V další kroku je potřeba z webu výrobce stáhnou aplikaci Serial Port Adapter Toolbox, s jejíž pomocí je možné provést konfiguraci zvolených I/O pinů modulu. V ukázkové aplikaci bylo kupříkladu zvoleno použití devíti pinů výstupních a dvou vstupních. Jejich poměr a rozmístění je však prakticky libovolné a záleží vždy na konkrétních požadavcích. Na následujícím obrázku je příklad uvedené konfigurace.


Obr. 1: Aktivace I/O pinů včetně určení jejich směru a výchozí hodnoty

Po provedení takto jednoduché konfigurace je Bluetooth modul připraven k navázání spojení a použití v aplikaci.

Řízení a čtení I/O pinů:
Řízení výstupních a čtení vstupních I/O pinů Bluetooth modulů ConnectOne je řešeno celkem třemi jednoduchými povely. S jejich pomocí je možné změnit hodnotu libovolných výstupních pinů či požádat o zaslání aktuálního stavu všech pinů, což je následně zajištěno třetím povelem (zprávou), vyslaným z modulu do aplikace.

Struktura všech dostupných povelů je jednotná, podle následujícího obrázku:


Obr. 2: Struktura povelů

Jako první je vysílán start byte, který má vždy hodnotu A5h. Následován je zvoleným povelem a ID koncového modulu. Dále následují vlastní data, lišící se již zvoleným povelem a jednoduchý kontrolní součet, počítaný ze všech bytů zprávy.

Dostupnými povely jsou:

Status Event (Id = 0x01)
Jedná se o zprávu, která je vysílána vždy pouze z Bluetooth modulu a to buď automaticky, nebo na vyžádání. K automatickému odeslání dochází vždy po navázání nového spojení s dalším Bluetooth zařízením, nebo po změně stavu některého ze vstupních I/O pinů. Vyžádání zaslání zprávy je možné pomocí dále uvedeného povelu Read Request.

Struktury zprávy Status Event a význam jednotlivých bytů je uveden v následující tabulce.


Obr. 3: Status Event

Read Request (Id = 0x02)
Jednoduchý povel bez dalších doplňujících informací, určený jako požadavek pro zaslání zprávy o aktuálním stavu všech I/O pinů (Status Event).

Struktury povelu Read Request a význam jednotlivých bytů je uveden v následující tabulce.


Obr. 4: Read Request

Write Request (Id = 0x03)
Poslední ze tří základních povelů je určen pro změnu stavu výstupních pinů. Pomocí dvou bytů masky a dvou bytů vlastní hodnoty je tak možné měnit hodnotu jak všech pinů naráz, tak i jediného zvoleného pinu. Po provedení povelu modul do zařízení nevrací žádnou odpověď.

Struktury povelu Write Request a význam jednotlivých bytů je uveden v následující tabulce.


Obr. 5: Write Request

Příklad povelů:
V následující tabulce je pro lepší orientaci uveden příklad několika povelů, spolu s informací o jejich činnosti.

Povel Popis
0x A5 03 FF 00 01 00 03 AB Nastavení hodnoty výstupních pinů: IO0=1, IO1=0, ostatní beze změny
0x A5 02 FF A6 Dotaz na stav pinů
0x A5 01 FF 01 00 03 00 A9 Odpověď na předchozí dotaz: IO8=1, IO9=0, ostatní ignorovány

Software:
Pro základní použití Bluetooth I/O i jako základ s možností úprav a doplnění byl vytvořen jednoduchý program, dostupný včetně zdrojových kódů pod licencí GNU/GPL v.3, uvedených ke stažení na konci článku.


Obr. 6: Jednoduchý ovládací program pro Bluetooth I/O

Program je napsán v moderním jazyce C# s použitím volně dostupného vývojového prostředí Microsoft Visual C# 2010. Pro svou činnost vyžaduje .NET Framework, který je již součástí většiny moderních operačních systémů.

Prostřednictvím jednoduchých zaškrtávacích políček je k dispozici všech šestnáct vstupně/výstupních pinů přesně tak, jak jsou uvedeny v jednotlivých výše uvedených povelech. Je tedy jasné, že v uveřejněné ukázkové aplikaci je využita pouze část - 11 políček/pinů. Ostatní však mohou být využity v jiné aplikaci s moduly ConnectOne.

Pro komunikaci s moduly je využit klasický virtuální sériový port. Samotná funkce programu je následně složena především ze dvou funkcí. První z nich zachytává klik myší na libovolné políčko, druhá reaguje při příjmu nových dat z modulu. Při změně stavu myší některého z pinů dojde k sestavení povelu Write Request v bytovém poly dataout[], což je v programu přehledně realizováno rozepsáním zhruba od řádku č. 46 zdrojového souboru Form1.cs.
Pro aktualizaci zobrazeného stavu vstupních pinů je v aplikaci využit Timer, který v pravidelných intervalech (nyní nastaveno 2000 ms) odesílá do modulu povel Read Request, na který modul odpovídá zprávou o stavu všech I/O pinů.


Obr. 7: Vzájemný přenos stavu mezi dvěma moduly - viz. článek Dálkové ovládání s Bluetooth

Závěr:
Uvedená jednoduchá aplikace a přehled základních povelů pro práci s I/O piny modulů Bluetooth ConnectOne má sloužit jako základ pro realizaci libovolných, dálkově ovládaných bezdrátových aplikací. Kompletní zdrojové kódy aplikace jsou uvedeny volně ke stažení pod článkem a uživatelská konfigurace modulů byla podrobně popsána v článku Bluetooth I/O - Hardware. Příště bude představena podobně jednoduchá aplikace pro mobilní telefony, umožňující nejen ovládání I/O pinů uvedeného modulu, ale i řízení libovolné aplikace pomocí uživatelských povelů.

Moduly OEMSPA-311i a další produkty firmy ConnectBlue je možné získat u jejich distributora, firmy Spezial Electronic.

Odkazy & Download:
Domovská stránka výrobce
Domovská stránka Spezial Electronic
Další praktické rady a příklady na webu Spezial Electronic

OEM Bluetooth Serial Port Adapter - OEMSPA311/331
Dálkové ovládání s Bluetooth
Uvedená aplikace ConnectBlue I/O - DOWNLOAD







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk
Příbuzné články:
Bluetooth I/O - Hardware
Bluetooth I/O - Ovládání z PC

Komentáře (1):

Zobrazit starší 30 dnů (1)...

Příspěvků: 268
Město: Opava CZ
Členem od:
28. 11. 2008
1. Dne 05. 02. 2010 v 20:10 zaslal adamh.cz
Bez titulku
...povedlo se s mobilem?
Více na www.adamh.cz


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
WIZ107SR-RS232
Převodník TCP/IP <-> RS232 s RJ45 konektorem.
Skladem od 600 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007