Spezial Electronic

Bluetooth I/O - MultiPoint konfigurace, dálkový přenos (sběr) statických dat přes Bluetooth

link na hlavní stránku connectBlue

Bluetooth I/O - MultiPoint konfigurace Bluetooth I/O - MultiPoint konfigurace
Bluetooth I/O - MultiPoint konfigurace Bluetooth I/O - MultiPoint konfigurace
(na obrázku jsou pro přehlednost nakresleny spínače i Tx výstup na jiných pinech než ve skutečnosti)

Je-li potřeba navrhnout systém pro dálkový sběr statických dat (nebo dat s maximální frekvencí do několika stovek Hz), je možné použít výše uvedenou konfiguraci.
Ve výše uvedené podobě lze, po doplnění napájení 3-6V, realizovat požadované zapojení - žádné další součástky nejsou potřeba!

Client

Jednotlivé Bluetooth jednotky (zde v podobě modulů Serial Port Adapter OEMSPA311i) obsahují speciální firmware Bluetooth IO, kdy Bluetooth modul přenáší stav jeho logických vstupů (přesně řečeno přenáší se změna stavu vstupu), v případě zde použitého OEMSPA311i to může být až 12 těchto vstupů.

Modul posílá změnu úrovně svých logických vstupů na svojí sériovou linku a rovněž přes Bluetooth. V konfiguraci BT IO každého modulu je využita možnost přiřazení identifikace jednotlivých modulů pomocí Byte Node Id, je možné použít čísla 0-254. Tato skutečnost potom umožní na straně centrální jednotky jednoznačně určit, z kterého vzdáleného modulu pochází přijatá data.

Není samozřejmě nutné využívat max. počtu vstupů, časté je naopak použití jen jediného, na který je připojeno například tlačítko nebo dvoustavový snímač.

Vzdálené moduly jsou z hlediska způsobu navázání spojení konfigurovány jako Client, tzn. mají nastavenou 1 Remote Peer s BT adresou Serveru a aktivně se pokouší o spojení. Pro maximální zkrácení zpoždění na celé trase jsou moduly nastaveny jako Always Connected a doba samplování vstupů je nastavena na nejnižší možnou - 2 ms. Tím se dosáhne celkového zpoždění od aktivace vstupu po výstup dat na Serveru asi 5 ms.

Server

Centrální Bluetooth jednotka (zde v podobě modulu Serial Port Adapter OEMSPA311i) je vybavena speciálním firmware MultiPoint umožňujícím současnou komunikaci až se 7 dalšími jednotkami. Z hlediska způsobu navázání spojení je konfigurována jako Server, tj. čeká na příchozí spojení od Clientů.

Data přijatá přes Bluetooth od jednotlivých Clientů jsou posílána na Tx výstup sériové linky. Jejich podoba je naznačená na obrázku.

Význam jednotlivých Byte:

Byte 0:  Start, pevná hodnota A5
Byte 1:  Packet identity, pevná hodnota 01
Byte 2:  Node Id (0-254)
Byte 3:  Hodnota MSB. Stav pinů 8 až 15
Byte 4:  Hodnota LSB. Stav pinů 0 až 7
Byte 5:  Maska MSB. Platnost pinů 8 až 15; 1 znamená platnost, 0 znamená ignorování stavu
Byte 6:  Maska LSB. Platnost pinů 0 až 7; 1 znamená platnost, 0 znamená ignorování stavu
Byte 7:  Kontrolní součet - součet všech Byte kromě součtu samotného

Data na výstupu Serveru jsou vysílána v tom pořadí, v jakém přišla přes Bluetooth. I v případě současné aktivace několika vstupů najednou jsou na výstupu Serveru k dispozici platná data, ve skutečnosti totiž data nemohou být vyslána současně vzhledem k samotnému principu Bluetooth, tj. data budou k dispozici postupně tak, jak byla rádiovou cestou odeslána.

Více než 7 Clientů

Přestože specifikace Bluetooth dovoluje maximálně 8 zařízení v jedné síti (tzv. piconet), lze použít trik, jak toto omezení obejít. Použije-li se totiž namísto některého z Clientů modul s Point-To-Multipoint, lze zvýšit počet současně připojených Clientů, v případě jednoho dalšího Point-To-Multipoint na maximálně 13 (6 + 7). Tímto způsobem lze prakticky libovolně řozšiřovat síť na požadovaný počet Clientů.

Takové řešení však všeobecně není doporučeno, jednak narůstá zpoždění dat a dále jde o snižování spolehlivosti a robustnosti (v případě byť krátkého výpadku úseku takové sítě dojde k odpojení všech Clientů pod tímto místem).

Další možnosti

Na obrázku naznačená konfigurace představuje nejjednoduší možné provedení pro jednosměrný přenos dat.

Ve skutečnosti lze však využít množství dalších možností - Server samozřejmě dokáže také data odesílat, takže lze poslat určitá data i opačným směrem, tj. ze Serveru na Clienta. Pokud má Client kromě vstupů nakonfigurovány i výstupy (součet všech vstupů a výstupů je v případě zde použitých modulů 12), lze dálkově změnit stav těchto výstupů.
Tímto způsobem lze např. rozsvěcovat LED připojené na výstupy Clientů apod.

Přenos dat ze Serveru na Clienty je možný jak pro určité Clienty - použitím příslušného Node Id, tak pro všechny Clienty najednou (=broadcast), a to bude-li Node Id nastaven na 255.

I ve výše uvedeném případě použití modulů pro přenos logických signálů zůstává funkční sériová linka, kterou lze normálně používat.

Literatura:

pdf  Serial Port Adapter AT Commands:  Serial_Port_Adapter_AT_Commands.pdf
pdf  Multipoint AT Commands:  Multipoint_AT_Commands.pdf
pdf  BT IO Description:  I/O AT Commands Specification & Functional Description.pdf
pdf  Data Sheet OEMSPA311 i/x:  OEMSPA311

Produkty |  Novinky |  Aplikační poznámky |  Technická podpora |  Obchodní podmínky |  Kontakt |  Home