JMRI‎ > ‎

01 GenLI-BT

Propojení centrály NanoX-S88 prostřednictvím komunikačního rozhraní GenLI Bluetooth s počítačem

Důrazně upozorňuji, že nepopisuji systém Lenz, a že jiné systémy mohou mít stejné nebo podobné jen dílčí části.

V tomto článku je popsáno připojení centrály NanoX-S88 DIGI-CZ prostřednictvím komunikačního rozhraní GenLI Bluetooth DIGI-CZ s počítačem. Na počítači je operační systém Linux a systémem pro řízení modelové železnice JMRI. V článku je použita distribuce Ubuntu verze 12.04. Systémová nastavení se mohou u jiných verzí a distribucí mírně lišit.

Nastavení systému

Počítač má základní nástroje pro práci s Bluetooth nainstalovány. Pro naše potřeby je vhodné doinstalovat nástroj Správce Bluetooth Blueman. To se provede z Centra software výběrem aplikace blueman.



Blueman nám umožní spravovat bluetooth zařízení. Abychom mohli k našemu komunikačnímu rozhraní GenLI-BT přistupovat, tak si ještě musíme nastavit oprávnění. To se provede přidáním souboru 50-udev.rules do adresáře /etc/udev/rules.d/ Obsah souboru je následující:

# /etc/udev/rules.d/50-udev.rules

# bluetooth GenLI-BT
KERNEL=="rfcomm[0-9]*", MODE="0666", GROUP="dialout"

Přidat uživatele do skupiny dialout následujícím příkazem:


sudo usermod -a -G dialout username

Kde za username dosadíme login uživatele.

Po změně nastavení doporučuji provést restart systému.

Párování zařízení bluetooth

Spustíme centrálu NanoX-S88 a do konektoru XpressNet připojíme GenLI-BT. Na krabičce svítí zelená kontrolka napájení.



Spustíme Blueman. Tlačítkem Vyhledávání vyhledáme dostupná zařízení v našem okolí.



Během hledání bude nalezeno zařízení GenLI-BT, které bude mít v seznamu označení WMC-999999, kde číslo 999999 bude číslo přidělené výrobcem. Vybereme řádek označený WMC-999999 a tlačítkem Nastavení... provedeme párování. V prvním okně průvodce zadáme heslo k zařízení, heslo nám dodal výrobce.



V dalším kroku zvolíme typ připojení sériový port.



Tím je párování ukončeno.



Na karbičce GenLI-BT se rozsvítí modrá kontrolka potvrzující navázání spojení s počítačem.



Na závěr ještě označíme naše zařízení jako důvěryhodné, abychom při dalším připojování nemuseli zadávat heslo.



Připojení a odpojení

Odpojení zařízení se provede z místní nabídky volbou Odpojit: SPP Dev.



Opětovné připojení se provede z místní nabídky volbou Připojit k: SPP Dev.



Obejití chyby

Po spuštění počítače a při prvním připojení GenLI-BT k počítači dochází s velkou pravděpodobností k chybě. Zařízení se tváří jako připojené, ale program JMRI s ním nemůže komunikovat. Proto provádím při prvním připojení po zapnutí počítače sekvenci Připojit SPP DevOdpojit SPP DevPřipojit SPP Dev. Po druhém a jakémkoliv dalším připojení funguje všechno normálně. Pravou příčinu této poruchy se mi nepodařilo odhalit.

Připojení k JMRI

JMRI – Java Model Railroad Interface – je program pro řízení modelové železnice. Program je volně stažitelný ze stránek projektu http://jmri.org/

Po instalaci je k dispozici několik spouštěčů. Pro první seznámení se s programem doporučuji spustit DecoderPro.



Po spuštění se program zeptá který profil má být použit.



Tlačítkem New... si můžeme založit vlastní profil.



Při otvírání nového profilu se nám otevře okno Předvolby.



Jsme dotázáni na parametry Připojení. Ty vyplníme takto:

System manufacturer:
Lenz
System connection:
Lenz LI100F
Serial port:
/dev/rfcomm0
Connection Prefix
X
Connection Name
XPressnet

Stiskem tlačítka Uložit se nastavení uloží a jste vyzváni k restartu aplikace.



Po restartu je nastavení připojení kompletní a aplikaci je možné používat.



Připojení k GenLI-BT z aplikace

Pokud je pro nás otravné spouštět připojení bluetooth z aplikace blueman, můžeme provést připojení přímo ze spouštěče aplikace JMRI.

Napřed připojíme aplikaci JMRI známým způsobem. Potom spustíme z terminálu jako administrátor příkaz rfcomm -a



Zapíšeme si výsledek dotazu. V mém případě to je:

Zařízení: rfcomm0
MAC adresa:
00:1A:6B:28:BA:31
Kanál:
1

Na jiném počítači budou hodnoty jiné.

Potom nastavíme oprávnění programu rfcomm na práva spouštět komukoliv s právy vlastníka – nastavíme úroveň oprávnění SUID. To provedeme příkazem chmod u+s /usr/bin/rfcomm Zároveň zkontrolujeme, že se operace povedla.



Nakonec provedeme editaci spouštěcího skriptu DecoderPro aplikace JMRI. Já mám instalovanou aplikaci v adresáři /usr/local/JMRI/ Zde jsou spouštěcí skripty aplikace. Skript DecoderPro zeditujeme (např. příkazem sudo gedit /usr/local/JMRI/DecoderPro). Do skriptu přidáme následující řádky:

#! /bin/bash
#
# Script to start a JMRI 3.8.0 application
#
...
...
...
...

...
#
# $Revision: 24759 $ (SVN maintains this line, do not edit please)
#

# připojení GenLI-BT
rfcomm connect rfcomm0 00:12:6F:60:9B:B1 1 &
sleep 6
rfcomm release rfcomm0
sleep 1
rfcomm connect rfcomm0 00:12:6F:60:9B:B1 1 &


# get the script's location as an absolute path
SCRIPTDIR=$(cd "$( dirname "${0}" )" && pwd)
...
...
...
...

...
done

# odpojení GenLI-BT
rfcomm release rfcomm0

exit $EXIT_STATUS

Za úvodní komentáře a před první příkazy skriptu vložíme připojení k bluetooth rfcomm connect (u mě je to řádek 35). Použijeme parametry zařízení, MAC adresa a kanál které jsme si dříve poznamenali. Abychom obešli chybu prvního připojení, tak je připojení provedeno dvakrát. Pauzy sleep mezi příkazy jsou důležité a jejich délka se může na jiných počítačích lišit.

Před poslední příkaz exit je vloženo odpojení bluetooth rfcomm release (u mě je to řádek 358).

Abychom ještě více zrychlili start aplikace, tak můžeme nastavit volbu profilu Automatický start aplikace s posledním použitým profilem. Tím se odstraní 10 vteřinová prodleva aplikace nabízející volbu profilu.



Xubuntu 16.04

Na Xubuntu 16.04 se mi nepodařilo připojení rozchodit.


aktualizace 14. 9. 2016
aktualizace 5. 9. 2016
vytvořeno 19. 4. 2015

Comments