Jak nastavit Bluetooth spojení
+ konfigurace connect_scheme
link na hlavní stránku connectBlue
Nastavení pomocí programu Serial Port Adapter Toolbox:
pozn.: Program Serial Port Adapter Toolbox (zkráceně SPA Toolbox) lze bezplatně stáhnout ze stránek podpory produktů výrobce connectBlue: http://www.connectblue.com/support/product-support.

1. Client Profile - nastavení profilu
Zde je nutné nastavit požadovaný profil zařízení, typicky to pro většinu aplikací bude SPP - tj. Serial Port Profile.
2. No of Remote Peers - počet současně možných spojení
Jde o číslo udávající počet současně možných spojení (peers), pro typickou konfiguraci spojení mezi dvěma Bluetooth zařízeními, tj. jedna linka (Point-To-Point), to bude 1.
Je-li do modulu nahrán speciální firmware Point-To-Multipoint, lze nastavit až 7 peers.
3. Remote Profile - detailní nastavení Bluetooth spojení - connect_scheme
Peer Id - pořadové číslo Bluetooth peer, v případě základní konfigurace mezi dvěma zařízeními (Point-To-Point) to bude 0.
Address - adresa druhého Bluetooth zařízení sestávající z 12-ti alfanumerických znaků daná z výroby. Velká a malá písmena se nerozlišují (např. 0012f304af96 je to samé jako 0012F304AF96). Neznáme-li adresu druhého zařízení, lze ji snadno zjistit použitím funkce Device Discovery nebo Inquiry - viz krok 4.
Name - jméno druhého Bluetooth zařízení - použití viz dále.
Connect on Data - modul se pokusí navázat spojení v případě, že se na sériové lince objeví jakákoli data.
Always Connected - modul je trvale spojen s druhým Bluetooth zařízením (je-li dostupné)
External Connect - modul se pokusí navázat spojení s dalším Bluetooth zařízením po přivedení externího signálu - tato funkce je závislá na konkrétním provedení, tj. Bluetooth jednotka může být například vybavena tlačítkem.
Connect to Name - po resetu se modul pokusí navázat spojení se zařízením se jménem uvedeným v políčku "Name". Může jít jak o celé jméno, tak i o část jména druhého Bluetooth zařízení.
Modul po resetu provede povel "Inquiry" následovaný povely "Name_Discovery" pro každé zařízení, které bylo během "Inquiry" nalezeno. Je-li nalezena shoda jmen (nebo jejich části), modul se pokusí s dotyčným zařízením navázat spojení. Není-li nalezena shoda, je tato skutečnost signalizována jako LED Error.
4. Search For and Select Remote Peer - vyhledání dalších Bluetooth zařízení
Inquiry - vyhledá všechna Bluetooth zařízení v dosahu, která jsou v režimu "discoverable" a vypíše jejich adresu spolu s třídou zařízení.
Device Discovery - vyhledá všechna Bluetooth zařízení v dosahu, která jsou v režimu "discoverable" a vypíše jejich adresu, třídu a jméno zařízení. Jde vlastně o příkaz "Inquiry" následovaný příkazem "Name_Discovery".
Tip:
Pokud nastavíme Peer Id (např. "0"), tak při kliknutí na zařízení z roletkového menu v sekci "Search For and Select Remote Peer" se přenese příslušná Bluetooth adresa tohoto zařízení do políčka "Address" v sekci "Remote Peer".
Nastavení pomocí AT příkazů:
Výše uvedená nastavení lze samozřejmě zadat i pomocí AT příkazů, navíc jsou zde možná další rozšířená nastavení, která lze konfigurovat jedině pomocí AT příkazů. Kompletní seznam všech AT příkazů je v dokumentu na konci článku.
AT*ADDCP=<role_and_profile>,<store_in_startup_database><CR> - nastavení profilu
<role_and_profile>
0: Serial Port Profile
1: Dial-Up Networking Profile
2: LAN Access Profile
<store_in_startup_database>
0: nastavení je platné pouze do vypnutí napájení
1: nastavení je platné i po opětovném připojení napájení, tj. trvale
<CR>: Enter
AT*ADNRP=<no_of_remote_peers>,<store_in_startup_database><CR> - nastavení počtu remote peers
<no_of_remote_peers> - No of Remote Peers - viz výše
<store_in_startup_database>
0: nastavení je platné pouze do vypnutí napájení
1: nastavení je platné i po opětovném připojení napájení, tj. trvale
<CR>: Enter
5. příkaz AT*ADWDRP ("Write_Default_Remote_Peer")
Příkaz má tuto strukturu:
AT*ADWDRP=<peer_id>,<bd_addr>,
<connect_scheme>, <update_
remote_peer_on_incoming>,
<device_
name>,
<store_in_startup_database><CR>
<peer_id> - viz výše Peer Id
<bd_addr> - viz výše Address
<connect_scheme> - bitové pole (bit 0 má nejnižší platnost) s těmito parametry:
Bit 0: stejný význam jako "Connect on Data"
Bit 1: stejný význam jako "Always Connected"
Bit 2: stejný význam jako "External Connect"
Bit 3: stejný význam jako "Connect to Name"
Bit 4-15: nejsou použity
Bit 16-23: interval mezi pokusy o spojení je-li Always Connected=1 (Bit 1=1). Není-li interval nastaven nebo je-li nastaven jako 0, je použita defaultní perioda 10 sekund. Čas intervalu je uveden v sekundách.
Bit 24-31: doba trvání pokusu o spojení. Čas je uveden v jednotkách po 80 ms. Není-li nastaveno nebo je-li nastaveno jako 0, je použit defaultní čas 5,12 sekund.
<device_
name>
<store_in_startup_database>
<CR> ... vysvětlení viz výše
Příklad konfigurace:
Požadujeme tyto parametry:
Počet peers: 1
Peer Id: 0
Adresa a jméno druhého Bluetooth zařízení: 0012f3047c4d, jméno není použito
Typ spojení: Always Connected - stále spojeno
Trvání pokusu o spojení: 3 sekundy
Interval mezi pokusy o spojení: 1 sekunda
výpočet hodnoty <connect_scheme> je naznačen v tabulce, čas 3 sekundy byl (vzhledem k celistvým násobkům 80 ms) upraven na blízkou hodnotu 2,96 sekundy (2,56+0,32+0,08):
konečná podoba AT příkazu:
AT*ADWDRP=0,0012f3047c4d,620822530,0,"",1
Kompletní konfigurace spojení AT příkazy pak bude vypadat např. takto:
AT*ADDCP=0,1 <CR>
OK
AT*ADNRP=1,1 <CR>
OK
AT*ADWDRP=0,0012f3047c4d,620822530,0,"",1 <CR>
OK
pozn.: <CR> ... Enter, "OK" vypisuje modul po úspěšném akceptování příkazu
Literatura:
Serial Port Adapter AT Commands: Serial_Port_Adapter_AT_Commands.pdf |