Aplikace na
notebooku
Asi tušíte, že aplikace na notebooku bude velice jednoduchá. Pro
nastavování L a C použijeme posuvníky (sliders). Pro nastavování
konfigurace CL, LC a By Pass (vypnutí ladění) použijeme tlačítka.
Ještě si do programu dáme pár "pamětí", jako máme na kalkulačce. Do
pamětí budeme ukládat naladěné hodnoty, které pak budeme z pamětí číst
kliknutím na jediné tlačítko. Tato filosofie dálkového řízení má jednu
obrovskou výhodu - prvně si ladíme nejlepší přizpůsobení sami a s
maximální pečlivostí (tj. přesností). Opakovaně volíme přizpůsobení
jedník kliknutím na "paměť ". Automatický tuner má výhodu, že sice
nemusíme nastavovat L, C a ani konfiguraci, najde si ji sám. Ale občas
zjistíme, že bychom chtěli doladit přesněji. Občas to zjistí algoritmy
použité v tuneru a začnou nám trtkat s relátky v průběhu vysílání.
Samozřejmě, že si sníží výkon TRXu, ale dopálí vás to. V manuálně
řízeném dálkově ovládaném tuneru vám nic během spojení netrtká a při
přechodu na jiný kmitočet kliknete myší na jedno z tlačítek pamětí.
Aplikace vysílá po síti do tuneru vždy dvacet znaků, např. 0118255004
0119255000. Pokud jste četli v článcích o expandéru a routeru povelů
pečlivě, znáte význam jednotlivých znaků:
0 na začátku každé skupiny znamená, že expandér je strčen do
portu ttyUSB0
118 a 119 na pozici 2 až 4 představuje adresy dvou čipů
v tzv. prambuli protokolu (použil jsem dva čipy PICAXE 20M2 na spínání
SW1 až SW19)
255 je datový bajt čipu 118, rozsah platných hodnot je 000 až
255 a nastavují se jím switche SW1 až SW8
255 je rovněž bajt čipu 119 ve druhé skupině znaků,
rozsah platných hodnot je 000 až 255 a nastavují se jím switche SW9 až
SW16
004 je datový bajt čipu 118, kterým se řídí port C, konkrétně
jen piny C0, C1 a C2, tj. switche SW17, SW18 a SW 19, kterými se řadí
konfigurace CL, LC, ByPass - viz tabulka 1, bajt nabývá hodnot 001,
002, 004.Tak co? Mám tady nechat pauzu dvou
týdnů? Napíšete si aplikaci pro notebook sami? Je to fakt jednoduché.
(Za čtrnáct dní to tu dopíšu ... pro inspiraci, v roce 2012 jsem
používal tento design woken tuneru ve Windows, tenkrát to komunikovalo
po sériovém portu):

Letošní (2019) aplikaci jsem upravil z té původní
(2012).
Aplikace Vypadá takto. V okně ladění jsou tlačítka pro nastavení
konfigurace tuneru (LC nebo CL). Progress bary nejsou programované pro
nastavování hodnot. Jsou vedle nich Numeric Up Down komponenty. Ty
zobrazují číselně hodnoty ( 0 až 255) C a L. Byla upravena pozice
tlačítek ukládání do pamětí. Možná ještě změním rozmístění komponentů
v hlavním wokně. Druhá varianta designu je ještě níže. U třetí
varianty jsem použil komponenty TrackBar (Slider), které jsem našel v
toolboxu.



Odpovědi na několik mailových dotazů
1. Jak jsem už napsal, aplikaci, kterou používám k
testům, mám v následujícím vzhledu a verzi.
Současná (moje finální verze) exe souboru (spíš
portable aplikace) je ke stažení zde. Jde o archiv zip,
velikost asi 22 kB, archiv rozbalíme do pracovního adresáře. Program
vyžaduje, abyste již měli nainstalovaný odpovídající MS Framwork.
2. Vzhled aplikace, uvádím se všemi okny a s
komentářem:

3. Výše popsaná aplikace (Windows) komunikuje s
aplikací (Linux) běžící na jednodeskovém SBC počítači velikosti
kreditky, s tzv. naslouchajícím serverem, který vykonává současně roli
směrovače povelů. Rovněž tato aplikace má grafické rozhraní, jehož
funkcionality jsou popsány přímo na screenu obrazovky:

Na spodním obrázku je spuštěná stejná aplikace pod
TinkerOS na desce Asus Tinker Board:

Vize
Vize bych měl dvě:
1. Místo jednodeskového SBC typu Asus Tinker Board pouze použít např.
Raspberry Zero. Těch 19 špiček bych na konektoru našel. Ale musel bych
napsat celý program nový. To se mi až tak nechce, očekávám, že to však
brzy bude někdo publikovat.
2. Nechat povelouvý router tak, jak je a používat ho ke všem dalším
účelům - ke spínání anténních přepínačů, spotřebičů v okolí antény,
atd. Ale sloučit VF desku s relátky se sériovým expandérem, který má
jen jeden čip a dostatek pinů (např. PICAXE 40X2). Změny v SW by byly
minimální, ale odpadly by pracné mnohažilové ploché propojovací kabely
mezi deskou expandéru a deskou relátek. To určitě v prototypu
zrealizuji, avšak jen na ručně dělané desce. V žádném případě však
nepočítám s žádnou komerční výrobou tohoto zařízení nebo jeho dílů.
3. Dneska je 9.6.2019 - obě předchozí vize jsou
krásné. Nedostatek času je však realitou. Takže jsem včera namaloval
desku, která obsahuje 2 ks PICAXE 20M2 (jsou laciné a mám jich několik
v zásobě), všechna relátka, všechny indukčnosti i kapacity, všechny
maličké hexfety, dva konektory SO-239 (anténa a TRX), jeden napájecí
konektor a jeden konektor se sériovým rozhraním. Reálný prototyp se
rodí. Ten však patří do tématu antén. Zatím si hraji s funkčním
vzorkem.
Poznámky 1. Uvedený program (řídící
aplikaci) jsem napsal ve
Visual Basic Express 2008. Ten používá runtime CLR verze 2 (.NET
Framework 3.5). Všechny programy na tomto webu lze importovat do vyšší
verze Visual Studio 2010. Nějaké informace o .NET
Framework jsem stáhnul a popsal také zde. Řídící
aplikaci lze napsat snadno ve vývojových prostředcích Visual Studia
(pro desktop Windows) nebo v Gambasu (pro Linux).
2. Zamýšlím se, zda má smysl mít řídící program spuštěný na maličkém
SBC velikosti kreditky. Asus Tinker Board s operačním systéme Tinker
OS zvládá monitor s rozlišením 1920 x 1080 pixlů. SBC s monitorem lze
pořídit v ceně do 4 tis. Kč a pracovní plocha s úhlopříčkou 22 nebo 24
palců je už velmi dobrou plochou pro malý bezdrátový řídící dispečink.
3. Serverovou část (Linuxový program) jsem
subjektivně zkoušel program na 32 bitovém Asus
Eee (Atom, 1 jádro, 2G RAM) a na mini SBC Asus TinkerBoard, velikost
kreditky (cílový počítač, ARM, 4 jádra). Na obou platformách program
fungoval bez problémů. Asus Tinker Board je velice výkonný, svižně
zvládá běžné práce s Internetem (prohlížeč Chromium), takže aplikace
tuneru s TCP Socketem a směrovačem povelů je bezproblémová.
Závěr
1. Přestože jsem funkční vzorek tohoto tuneru
realizoval na třech deskách (1. VF deska s kondíky, indukčnostmi,
relátky a spínacími hexfety relátek,
2. SBC Povelový router,
3. Sériový expandér) a všechno zavřel do plastové krabice
rozvaděče, tuner funguje slušně. Prototyp - viz Vize, bod 3. ho během
několika dní nahradí.
2. Asi bych měl uvést celkovou dobu návrhu všech přístrojů -
desktopové části, serverové části a expandéru. Odmakané hodiny jsem si
nepsal, ale určitě jsem aplikacím pro desktop a server nevěnoval více,
než 20 hodin a aplikaci expandéru jen několik hodin (deska 4 hodiny,
program 4 hodiny, zkoušení ??). Asi nejdéle mi trvalo hraní si s
tunerem u rádia, psaní webových stránek.
3. Zajímavá je rovněž doba učení se konkrétním dovednostem. Pokud bych
každý článeček o psaní jednoduchých aplikací nazval začátečnickou
lekcí, jeho prostudování odhadl na jednu hodinu, praktické psaní úkolu
na PC odhadl také na
jednu hodinu, pak je vidlácké programování koncentrováno asi do
20 lekcí a 10 doporučených odkazů. Učení mi tedy vychází asi na 50
hodin. Když k tomu přidáme neproduktivní dohledání některých detailů
na Internetu, přidáme rezervu 20 hodin na stáří 60+ a uvědomování si
souvislostí, i tak bychom měli být schopni potřebné dovednosti
vstřebat během nějakých 80 hodin. To by odpovídalo pracovní době
poloviny měsíce. Tak jo. To už bych se mohl považovat za mírně
pokročilého začátečníka. Ale pořád se mi zdá, že to je doba
srovnatelná s časem, který jsem věnoval učení se zámečnickým
dovednostem, obrábění materiálu a výrobě prototypů přístrojů klasickým
způsobem.
|