Úvod
Sériový port se stal základem komunikace pro velké množství aplikací z
oblasti dálkového ovládání a telemetrie (DO a TM). Realizace takové
komunikace je pro programátora rychlá a jednoduchá. Abychom docílili
přenosu informací po Internetu, síti WAN, LAN, včetně WiFi,
použijeme SW třetích stran, pomocí kterého vytvoříme virtuální sériové
porty, které budou komunikovat pomocí TCP/IP protokolu se serverem
Elfin (IP adresa a port). Problematika a realizace irtuálních
sériových portů je předmětem tohoto článku.
V navazujícím článku budou zmíněné aplikace, které přímo komunikují
pomocí TCP/IP protokolu se serverem Elfin EW10.
V dalším souvisejícím článku bude popsán malý webový server, který
umožní komunikaci aplikace z mobilních zařízení, které jsou vybavené
pouze moderním browserem (Edge, Chromium, Chrome, Opera, ...)
|
 |
Virtuální sériové porty v operačním systému Windows
Řešení s jedním virtuálním sériovým portem
|
Na stránkách
HW group najdete a můžete si stáhnout
freewarový program, který jednoduše nainstalujete. Jeho obrovskou
výhodou je, že jednoduše vytvoříte virtuální sériový port. Například
COM9, jako na obrázku vpravo. Jediné, co musíte udělat, tak je vybrat
číslo COM (zde COM9) a vyplnit správně IP adresu a číslo portu, kde
naslouchá server, který umí směrovat bajty přijaté z virtuálního portu
do fyzického portu, který má. Můj server na druhé straně je Elfin EW10.
Ve své aplikaci, např. v ovládacím
programu stanice, pouze zvolíte číslo portu COM9,
nastavíte obvyklé parametry, např. baudovou rychlost,
počet bitů, stopbitů a paritu. A je hotovo. Aplikace si
virtuální port otevře, posílá do portu bajt po bajtu, tedy
svůj protokol a přijímá na tomtéž portu bajt za bajtem z
druhého konce relace.
Výhody
HW VSP3 single je zadarmo. Jednoduše se
instaluje, jednoduše se nastavuje a spolehlivě funguje.
Funguje i ve spolupráci s programy nakreslenými např.
pomocí prostředků Profilab Expert. Zde příklad přepínače
antén:
 |
 |
Program není rovněž vázán na žádný
HW. Stačí mu vyplnit IP adresu a port naslouchajícího
serveru! Dovolím si upozornit na nesmyslný mýtus,
že virtuální sériový port je jen ovladač, vztažený ke
konkrétnímu HW. Ne, opravdu, NENÍ to tak. Ovladač HW je
úplně jinde, na jiném zařízení, které má fyzický sériový
port.
|
Poznámky:
1. Na obrázku vpravo jsem
ukázal, kde a jak je vidět ve Správci zařízení virtuální
sériový port. Není mezi porty (COM a LPT), ale objeví se
jako samostatná položka Virtual Serial Port (Eltima
Software).
2. Stáhnul jsem
též verzi programu, která umí více virtuálních portů. Šla
nainstalovat. Verze je však určená jen pro propietární
řešení HW group s konkrétním HW. Protože žádné takové
zařízení nemám, nezkoušel jsem ani ten SW. Hlavní důvod
však vidím v tom, že předpokládám, že výrobce bude
šifrovat IP komunikaci a přenos nebude transparentní.
Lidově - ze vzdáleného fyzického portu nepoleze nic nebo
pouze jen jakási posloupnost nesmyslných bajtů.
3. Před
instalací víceportové verze musíte odinstalovat původní jednoportovou
verzi. Obdobně, před další instalací single COM verze musíte odtsranit
multi COM verzi.
4. Při opětovné instalaci single COM se vyskytly při
instalaci problémy. Nicméně, instalaci jsem dokončil, poté
SW odinstaloval pomocí Revo Uninstaler, a to s hloubkovým
prohledáním na všechny soubory, adresáře a záznamy v
registru. Následně proběhla opětovná instalace korektně.
|
 |
5. Při prvním spuštění a vytváření portu jsem
pravděpodobně někde udělal chybu. Doporučuji po prvním spuštění
dodržet tento postup:
- Otevřít záložku Settings,
provést login a uložit nastavení do ini souboru. -
Potom lze jít na záložku Virtual Serial Port a vytvořit
tam virtuální port. To znamená vybrat COM (já jsem vybral
COM9) a vyplnit IP adresu (moje je 192.168.1.5) a nastavit
port (8899). Zařízení s IP adresou nemusí být při
vytváření virtuálního portu spuštěné. - Port se
vytvoří, program napíše Created a port se objeví ve
Správci zařízení. Domníval jsem se, že vždy tak, jak jsem
ukázal v tomto článku. Nemusí to však být pravda vždy.
Teď, když píšu tento odstavec, tak vše zkouším s Win 10,
build 1903, který jsem nedávno instaloval a virtuální port
se mi objevuje mezi Porty (COM a LPT). Proč je to jednou
tak a podruhé jinak, to netuším.
6. S jedním virtuálním sériovým portem vystačíme v mnoha případech
dálkového ovládání a telemetrie, protože naše zařízení s čipy PICAXE
jsou navržena tak, aby umožňovala adresaci zařízení na jedné sériové
lince. Pokud tedy v jenom místě, např. u antény, potřebujeme ovládat
přepínač antén, anténní tuner a měřiče přímého a odraženého výkonu,
pak v tom místě vystačíme s jedním modulem Elfin EW 10 a na PC
desktopu s jením virtuálním portem.
Řešení s více virtuálními sériovými porty
|
Řešení s mnoha virtuálními porty použijeme v případě, kdy měříme a
ovládáme na mnoha geograficky různých místech. Rozumějme tomu tak, že
pokud máme i na zahradě několik pracovišť, tak nebudeme do
jednotlivých míst pokládat sdělovací a ovládací kabely. V každém místě
použijeme modul Elfin EW10 s rozdílnou IP adresou v síti. Běžný domácí
router umí pracovat s desítkami IP adres pro různá zařízení.
Pokud potřebujeme komunikovat s více zařízeními Elfin, bude nám
výbormě fungovat placený program - emulátor sériových portů (cca 25
Euro) od malé společnosti Eterlogic.
Práce s programem je jednoduchá. Na následujících obrázcích je zadokumentován
postup instalace v krocích a spuštění programu.
Postup
1. V ukázce jsem použil jeden port COM10 a jeden TCP/IP klient
(připojuje se k TCP/IP serveru Elfin EW10).
2. Program VSPE lze vyzkoušet v neplacené demoverzi. V demoverzi
jsme omezeni pouze tím, že musíme po spuštění odkliknout, že
právě teď nebudeme vkládat licenční klíč, ale chceme program
pouze vyzkoušet.
3. První krok - vytvoříme tzv. konektor. Na konektor se nám
budou připojovat naše aplikace (napsané např. ve Visual Studiu,
Profi Lab expertu, atd.) a taky se k němu připojí TCP Klient. Takto vytvořený COM se nám však
nezobrazí
ve správci zařízení Windows, jako v předchozím řešení. To však nijak nevadí,
vše funguje.
4. Druhý krok - vytvoříme TCP klienta a spojíme ho se serverem
Elfin. Podmínkou je správně nakonfigurovaný Elfin v režimu STA a musíme znát
jeho IP
adresu a port. Klient se spojí také s konektorem COM10.
5. Nezapomeneme si konfiguraci uložit.
6. Spustíme simulaci portu. Naše aplikace se mohou připojovat k
emulovanému COM10 a sériová data budou na fyzickém rozhraní RS232
serveru Elfin EW10.
7. Simulace portu i komunikace funguje, pokud je aplikace VSPE
spuštěná.
8. Pokud máme licenci (registrovanou verzi), lze si nastavit
spuštění aplikace při startu Windows. Takto to používám na
maličkém serveru, který jsem realizoval z tabletu PiPo. V případě
aplikací, které jsem si napsal sám, startuji VSPE pomocí metody
shell execute. To znamená, že aplikace, která potřebuje
komunikovat po sériové lince si ve vhodný okamžik sama spustí VSPE
a později začne komunikovat přes emulované virtuální sériové
porty.
Dokumentace postupů (obrazovek):
|
Spuštění VSPE: |
 |
Vytvoření virtuálního konektoru: |
 |
Vybrání (volba) čísla portu COM (zde COM10): |
 |
Napojení konektoru COM10 na TCP klienta: |
 |
Nastavení IP adresy a portu:
|
 |
Nastavení parametrů sériového rozhraní (baudová rychlost, počet
bitů, počet stopbitů, atd.):
|
 |
Spuštění emulace portu. Po spuštění je port k dispozici aplikacím
a fyzicky jsou data na konektoru modulu Elfin EW10: |
 |
|
 |
Uložení jedné z konfigurací do souboru:
|
 |
Načtení konfigurace při dalším spuštění:
|
 |
Ukázka emulace sériové linky mezi emulovaným COM10 a fyzickým
konektorem na Elfin EW10 (IP: 192.168.1.104, port: 8899): |
 |
Závěr
Není co dodat. Oba programy na emulaci sériových portů fungují. Takže
obrovské poděkování všem autorům. Virtualizací sériových portů zcela
určitě posunuli možnosti desktopů o mílové kroky směrem k jejich
využití pro bezdrátové dálkové ovládání a telemetrii. |
|
|