Historie
Stránky o dálkovém ovládání a telemetrii jsem začal psát, když mi bylo
více než 62 let. A tak jsem trochu zavzpomínal:
- Asi před 50 léty jsem si stavěl první radiopřijímače (a za nedlouho
také vysílače, na černo, jak jinak tenkrát).
- Asi před 47 léty jsem potřeboval jeden z vysílačů dálkově ovládat,
jak jinak, bezdrátově, také po rádiu. V té době již začínali používát
dálkové RC ovládání modelů lodiček i letadel nejen bohatší kamarádi,
ale hlavně ti technicky zdatnější.
- V 80 létech jsem zjistil, že jsou na světě čipy UART (8251) pro
sériovou komunikaci. Moje první mikropočítače byly v krabičce, měly
sériový přenos dat a na větší vzdálenosti kolem domu uměly přenášet
data po drátech a s využitím proudové smyčky. Taková zařízení neměla
ani náhodou displeje, vystačil jsem si s tlačítky, přepínači, LED
diodami a s relé.
- V 90 létech (myslím, že to byl rok 1992) jsem měl první PC, na něm
Visual Basic verze 1 a komponenty třetích stran pro možnost sériové
komunikace po RS-232.
- V roce 2020 existuje mnoho vývojových nástrojů, celá řada
komunikačních protokolů, počítačové sítě, WiFi, Internet a stále
aktuální asynchronní sériový přenos dat.
Později z PC zmizela sériová rozhraní s konektorem Canon. Objevila se
USB rozhraní. Každou chvíli s novými parametry i s novými konektory.
Ale sériový přenos zůstává. Autoři mnohých přístrojů až tak
nepřemýšleli o dálkovém využití svých přístrojů. Ty profesionální byly
vybaveny ethernetem, ta amatérské často konektorem, z jedné strany
USB, s druhé například USB-C. Právě v této době se pro amatérské a
domácí použití náramně hodí dvě věci:
1. Virtuální sériový port.
2. Sdílení USB zařízení mezi počítači.
Případně pojednání zde.
Škoda, že obě uvedené služby nejsou standardními službami moderních
operačních systémů. Třeba, jako sdílení plochy desktopu (Remote
Desktop Protokcol)..
Současnost
V dnešní době existuje velké množství různých programovacích jazyků,
nástrojů a prostředí. Jako neprogramátor jsem si vybíral prostředí,
která se tvářila být nejméně nepřátelská. Můj cíl nespočíval v tom,
aby mě věci pohltily. Mým cílem vždycky bylo, abych stroj
donutil dělat to, co potřebuji. Tedy i dálkově řídit, dálkově měřit, v
nezbytné míře zpracovávat a zobrazovat data. A tak se stalo, že že
používám, několik nástrojů, které se mi osvědčily. V roce 2020 se ve
své koncepci držím tohoto pojetí desktopu - viz obrázek:
|
 |
Používám spolehlivý HW s perifériemi, přesné polohovací zařízení (myši
Logitech), operační systém Windows 10 (některé funkcionality lze
realizovat s pomocí Wine v Linuxu) a několik služeb třetích stran
(virtuální sériové porty, ProfiLab Web Server), případně
USB over
Ethernet, pro sdílení periférií, případně služby RDP (Remote
Desktop Protocol).
Aplikace
1. V minulosti jsem tvořil aplikace pomocí standardních nástrojů
(Visual Basic, Visual C#, obecně Visual
Studio, pro Linux Gambas, pro více platforem Xojo).
A popsal
jsem velice vidláckou metodou úvod k těmto činnostem. Včetně
komunikace přes sériový port, s TCP klientem, atd.
2. V současnosti používám placený
ProfiLab Expert s webovým serverem
ProfiLab Web Server. A jsem nesmírně spokojený, protože jsem
dosáhl svého cíle - mít komunikující aplikace pro dálkové řízení a
telemetrii se všemi potřebnými funkcionalitami. A to třeba za večer.
Jako single návrhář se mohu soustředit na technickou podstatu řízení
nebo měření a vývoj aplikace pro mě představuje nepatrnou zátěž, která
mi neužírá tolik potřebnou energii.
Běžící aplikace na desktopu (notebook) - příklad
|
 |
|
Základní vlastnosti ProfiLab Expert
ProfiLab Expert má mnoho zajímavých vlastností. Určitě si nevzpomenu
teď, když píšu článek na všechny užitečné.
1. Kompilátor - kliknutím na
jednu ikonu vytvoříte samostatně stojící spustitelnou aplikaci pro
Windows 10. Respektive, jde o tzv. Portable aplikaci, kterou nikam
neinstalujete.
2. Zkompilované aplikace - Portable aplikace v cílovém
počítači běží bez instalace prostředí ProfiLab Expert. Vše se
zkompiluje do jediného adresáře, který obsahuje též konfigurační
soubory, např. čísla COM xx, adresy TCP a další parametry, které jsou
závislé na HW konfiguraci. V konfiguračních souborech je snadno
upravíte textovým editorem (např. přepíšete čísla portů z COM 9 na COM
10). Příklad adresáře s několika projekty (vlevo) a příklad
adresáře Portable aplikace (vpravo):
|
 |
|
3. Vývojové prostředí - ergonomické a přehledné vývojové
prostředí je nezbytné pro programátory a pro neprogramátory o to víc.
Bez přehledného prostředí, ve kterém můžete po každém důležitém kroku
program ladit, jde práce velice, velice těžko. Všechna čest patří
vynikajícím inženýrům z firmy
ABACOM, odvedli dokonalou práci. Integrované prostředí je
přehledné, jednoduché, vypadá takto. Nahoře základní menu, vlevo lišta
základních nástrojů, hned vedle toolbox s obrovským množstvím
zapouzdřených, jednoduše aplikovatelných objektů (komponent). Program
se v ProfiLab Expert nepíše, ale kreslí. Návrh programu
provádíme ve dvou oknech.
Základní funkcionality vznikají propojením schématických značek
objektů. Objekty se musí pro plnění funkcí parametrizovat.
Vzhled (grafický design) se edituje v samostatném okně. Každý
objekt, který má grafickou reprezentaci (tlačítko, měřák, slider,
grafický plotter, ...) se v tomto okně zobrazí a umožňuje
parametrizovat mnoho vzhledových vlastností. Okno grafického designu
je vidět v pravé dolní části obrazovky.
|
 |
Okno základních funkcionalit s návrhem dálkově řízeného tuneru
protokolem TCP/IP je na dalším obrázku (okno grafického designu je
skryté):
|
 |
Zkompilovaná spuštěná aplikace
|
 |
|
Funkcionality, které lze realizovat pomocí objektů ProfiLab Expert
ProfiLab Expert obsahuje obrovské množství objektů (komponent).
Nechybějí objekty pro zobrazování stavů (např. LED, signální
lampy), měřáky, další prvky od displejů po web browser, či plotter.
Součástí jsou samozřejmě prvky pro řízení (controls), od
tlačítek, spínačů, přepínačů, posuvných sliderů, až po různá kolečka,
joystick apod. ProfiLab Expert má rovněž spoustu komponentů pro
vysoký výpočetní výkon. Lze snadno realizovat algoritmy od
matematických funkcí, přes korekční tabulky až po výpočty aproximací
pomocí polynomů s koeficienty C0 až Cn.
Neměl bych zapomenout na objekty, které relizují propojení s
různými HW přístroji, jako jsou multimetry, zařízení Modbus/RTU
(Modbus TCP), různé reléové desky, zařízení s porty RS-232. Na obrázku
vpravo je ukázka z menu knihoven. Komunikační vybavení ProfiLab
Expert je bohaté.
Samozřejmě nechybí i standardní služby, pomocí kterých se realizují
přístupy k souborům, spouštění dalších aplikací, odeslání e-mailu,
atd.
Bohaté vybavení slouží ke generování různých signálů, časových
intervalů a k řešení časových funkcionalit.
Možná jsem zapomněl na spoustu věcí. Nejjednodušší metodou začátků
učení spočívají ve stažení demoverze s mnoha příklady. Sice si žádný
projekt neuložíte a ani nevytvoříte spustitelný soubor, ale
funkcionality si vyzkoušíte, naučíte se základním dovednostem a můžete
si prozkoumat bohatý a přehledný systém nápovědy.
Ten dávám ke stažení (soubor s příponou .CHM)
zde. Otevře se ve Windows. Jde o standardní nápovědu, jejíž
otevřené okno ukazuji pod textem (dole přes celou stránku).
Závěr
Pokud budu mít čas, chuť a sílu, popíšu v několika dalších
kratičkých článečcích některé konkrétní příklady řešení. Za uplynulý
rok, co ProfiLab Expert používám jsem si snadno a rychle vyrobil
desítky aplikací pro dálkové řízení a telemetrii. Jeden článeček budu
určitě věnovat problematice propojení aplikace s ProfiLab Web
Serverem.
Popsal jsem řešení jednoduché, spolehlivé, dostupné, ale hlavně snadno
pochopitelné a snadno realizovatelné jedním člověkem. |
 |
|
 |
|
Jak dál?
V této maličké publikaci jsem popsal základní principy a prvky velice
otevřeného systému, který používám pro dálkové měření a telemetrii. Je
postavený na:
1. Vývojovém prostředí a kompilátoru ProfiLab Expert.
2. Na ProfiLab Web Serveru pro použití s tablety a mobilními telefony.
3. Na zařízení Elfin EW10, které realizuje komunikaci v sítích TCP s
WiFi zařízením a převod na UART.
4. Na vlastních přístrojích, které jsou osazeny mikrokontroléry PICAXE
(jednoduše programovatelné vyšším a velmi přehledným programovacím jazykem Basic, bez
nutnosti mít HW programátor. Čipy velmi dobře plní funkce sériové
komunikace a též všechny potřebné vstupní a výstupní funkce pro telemetrii a
ovládání. Umí pracovat s protokolem, který umožňuje adresaci. Řešení
je vhodné pro větší množství zpracovávaných vstupů a výstupů.
Jak jsem slíbil, možná doplním příklady aplikací. Také se věnuji
problematice sdílení USB portů mezi počítači. Neprogramuji, ale
dostupná zařízení jsou za dlouhý peníz. A asi bych se mohl někdy
zastavit u módního Remote Desktop Protokolu. |
|
|