OK1UFC
Aplikace pro DO a TM | srpen 2020
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.
TU 73, Mira, ok1ufc