Úvod
Předchozí dva články byly o
základech komunikace skrz sériový
port z počítače do zařízení a o
smysluplnosti využívání
TCP komunikace mezi počítači. Blokové schéma TCP serverů a
klientů bylo rovněž ukázáno. V tomto článku je jednoduchá
praktická ukázka, kterou lze naprogramovat a nakonfigurovat v
moderních vývojových prostředcích během několika minut. Program
byl skutečně nakreslen bez použití jediné psané instrukce,
ale o tom je článeček v základech programování pro mladé kluky 60+
...
Serverová aplikace
Serverová
aplikace je spustitelná ve Windows (od XP po Win10) a v Linuxu s
Wine. Server naslouchá klientům. Pokud je alespoň jeden
připojený, rozsvítí se LED. Server také ukazuje přenášené bajty
do mikropočítače na sériovém portu. Server je schopen běžet na
stařičkém HW. Používám na to notebooky, které už se dneska k
ničemu nehodí. Z nových levných zařízení s Windows 10 to běží
např. na Lenovo Idea-Center Stick 300 (hračka za 1.800,- Kč,
která dělá z tupých TV smart TV). Na Asusu to vypadá takto:
|
|
|
|
|
Klientská aplikace na notebooku, ze kterého tuner
dálkově řídíme
Klientská aplikace je fakt
jednoduchá. Komunikuje se serverem pomocí TCP. Čísla portů
jsem nastavil natvrdo. IP adresu serveru nastavíme s ohledem
na IP adresu stroje, na kterém běží server. Dole je obrázek,
jak to vypadá na obrazovce. Nejdřív pustíme server. Ten
obvykle běží trvale. Jakmile pustíme klienta, sestaví se TCP
spojení a to je signalizováno svícením zelených LED.
Současně se rozsvítí i LED na serveru. Pokud potřebujeme
ovládat tuner místně, pustíme tutéž aplikaci na stejném
stroji, kde běží server.
Aplikace má dva slidery pro
nastavování L a C, jeden přepínač pro přepínání konfigurace
LC nebo CL (ovládání relé, bajty mají hodnotu 000 nebo 255).
Vpravo jsou LEDky, které svítí, když klientu naslouchá
server. Dole jsou okénka s nastavenými hodnotami L, C a
stavu relé. |
|
|
Závěr
Program je jednoduchý. Lze ho
nakreslit doslova během minut (určitě do hodiny). Funguje
spolehlivě a svižně pod Windows (zkoušeno na Win XP a Win
10) a na Linuxech s runtimem Wine (zkoušeno na verzi 1.6 a
4). Jako server lze využít moderní maličké a levné počítače
velikosti Stick, tak i staré vysloužilé stroje, které bychom
vyhodili (např. HP 6110). Aplikace nám běží na stroji, který
máme v hamovně.
Aplikaci jsem uvedl jako typický
příklad ovládání přes WiFi. Základ, který využívá uvedených
principů TCP a RS232 komunikace. Používám ty principy hlavně
u řídících a měřících aparátů. |
|
|
|
|