Boxy (DVB-S2/T2/C) , ktoré sú založené na operačnom systéme Linux Enigma2 je možné okrem priameho ovládania cez diaľkový ovládač, ovládať aj cez webové rozhranie OpenWebif, ale aj cez príkazový riadok (CMD). Podmienkou nie je dokonca ani prihlásenie sa do boxu napr. cez SSH. Ovládanie je možné aj z lokálneho terminálu.
Strašne veľa ľudí ani len netuší, že drvivá väčšina elektronických zariadení ako sú napr. smartphony, tablety, televízory, mediálne boxy a koniec koncov aj DVB boxy sú založené na operačnom systéme linux. Niektoré zariadenia fungujú na Closed Linux (uzavretý linux) a niektoré na Open Linux (otvorený linux). Operačné systémy založené na Linux Enigma2 fungujú ako Open Linux. Kto takéto zariadenie nainštaluje a spravuje, stáva sa rootom v tomto zariadení. Root je v OS Linux správca a môže všetko (narozdiel od Closed Linux, kde je systém RO (Read Only)). Ospravedlňujem sa, ale trocha som odbočil od témy, ďalej sa budem snažiť písať k téme.
Môj najobľúbenejší Linux Enigma2 pre DVB-S2 boxy je OpenPLi, ktorý podporuje množstvo zariadení. Predpokladám, že OpenPLi IMG už máš v boxe nainštalovaný a prešiel si základnou konfiguráciu. Box musí byť pripojený do LAN siete. Ako som už spomenul, tak Enigma2 obsahuje aj modul OpenWebif (t.j. manažment zariadenia cez webové rozhranie). Keď chceme box ovládať cez terminal, tak OpenWebif k tomu nepotrebujeme, ale z OpenWebif sa jednoducho dajú vyčítať kódy z virtuálneho DO (Diaľkový Ovládač). Predpokladám, že IP adresu satelitného boxu už máme zistenú. Teraz stači do nášho obľúbeného webového prehliadača zadať IP adresu boxu. V oblasti DO klikneme pravou myšou a vyberieme možnosť preskúmať. Otvorí sa okno kde v elemente vidíme ktorému buttonu prislúcha ktorý kód. Ja som na obrázku vyznačil button menu, ktorému prislúcha kod 139.

Box cez terminál môžeme ovládať lokálne, alebo vzdialene. Ak by sme chceli ovládať box lokálne (lokálne je myslené tak, že sme cez terminál prihlásený v boxe a IP adresa boxu je v tomto prípade localhost), tak sa na box musíme prihlásiť cez SSH tunel.
ssh root@ip_adresa_boxu
Teraz keď sme prihlásený môžeme rovno zadávať príkazy v terminály. Ako som uviedol vyššie, každému buttonu na DO, prislúcha konkrétny kód. Ak by sme chceli prepnúť kanál , tak napr. buttonu „1“ prisluchá kód 2, pre button „2“ je to kód 3, pre button „menu“ kod 139 atď… Tak poďme si prepnúť kanál. Od čísla 1 po číslo 9 nevidím problém, ale ako prepnúť na kanál napr. 27? Nie je to nič zložité, káždý kanál ma tzv. „service reference“ a to je známe pod určitým ID. Čiže cez OpenWebif zistíme pre každý kanál „service reference“. Vo webovom prehliadači zadáme túto adresu
http://ip_adresa_boxu/web/getallservices
a výsledkom je vygenerovaný xml súbor, kde môžeme vidieť „service reference“ pre všetky kanály. Vyselektoval som prve 4 kanály.
<e2service>
<e2servicereference>1:0:19:1329:CA2:3:EB0000:0:0:0 </e2servicereference>
<e2servicename>Jednotka</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:19:132A:CA2:3:EB0000:0:0:0:</e2servicereference>
<e2servicename>Dvojka</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:16:132F:CA2:3:EB0000:0:0:0:</e2servicereference>
<e2servicename>Trojka</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:0:19:3731:C8E:3:EB0000:0:0:0:</e2servicereference>
<e2servicename>Markiza HD</e2servicename>
</e2service>
Jednotka 1:0:19:1329:CA2:3:EB0000:0:0:0:
Dvojka 1:0:19:132A:CA2:3:EB0000:0:0:0:
Trojka 1:0:16:132F:CA2:3:EB0000:0:0:0:
Markiza HD 1:0:19:3731:C8E:3:EB0000:0:0:0:
Ak budeme chcieť prepnúť napr. na Trojku, tak príkaz bude následovný
wget -q -O - http://127.0.0.1/web/zap?sRef=1:0:16:132F:CA2:3:EB0000:0:0:0:
Terminálový príkaz wget je obdoba kliku na virtuálnom DO na webe. Tak isto je možné použiť aj príkaz curl. Nástroj curl, ale nie je v Enigma2 nainštalovaný, čiže je potrebné ho najprv nainštalovať. Ešte pred inštaláciou preveríme či skutočne nie je nainštalovaný a ak nie je, tak ho nainštalujeme
curl -V
opkg update
opkg list | grep curl
opkg install curl
Teraz namiesto wget použijeme curl, plus pridáme výstup, ktorý smeruje do /dev/null a pomocou prepínača silent nebudeme zobrazovať výstup. Druhy príkaz spraví to isté, ale vyzerá trochu elegantnejšie ako prvý.
curl --silent http://127.0.0.1/web/zap?sRef=1:0:16:132F:CA2:3:EB0000:0:0:0: > /dev/null
curl --silent --output /dev/null http://127.0.0.1/web/zap?sRef=1:0:16:132F:CA2:3:EB0000:0:0:0:
Ďalší príkaz zobrazí v boxe menu
curl --silent http://127.0.0.1/web/remotecontrol?command=139 > /dev/null
Takto by sme mohli pokračovať ďalej a vyskúšať všetky príkazy. Niekto si ale položí otázku, načo je dobré ovládať box cez terminál? Veď programy sa prepínajú keď TV pozerám a teda som pri boxe a mám v ruke fyzický DO. Čo ale vtedy, keď užívateľ boxu zistí, že do ponuky pribudol nový program, ale nie je schopný si daný transponder (frekvenčne pásmo) sám preskénovať.
- Použije FastScan? Ten rozhodí programy, ktoré už mal poukladané.
- Zavolá technika ? Technik si vypýta veľkú sumu už len za cestu
- Jednoducho to spraví cez terminál
Samozrejme sa odporúča aby bol užívateľ aspoň trocha technicky zdatný a vedel používať terminál. Ak to nevie a nemá čas, alebo snahu učiť sa nové veci, tak zavolá technikovy, ktorý to vie spraviť na diaľku a rýchlo, keďže užívateľ chce TV sledovať. Silno sa odporúča aby bol box v šifrovanej VPN sieti a môže sa použiť aj vzdialený prístup z lokálneho terminálu. Príkazy je možne zadávať týmto štýlom:
curl --silent --user meno:heslo http://10.8.0.100/web/samotny_prikaz > /dev/null
Či už sa použije wget, alebo curl je jedno. Ak budeme niekedy manažovať box cez terminál, odporúčam prihlásiť sa priamo do boxu cez bezpečný, šifrovaný SSH tunel a príkazy vytvárať na localhoste. Napr. pre skénovanie frekvenčného pásma v IMG OpenPli 6.2 z jednou družicou v satellites.xml použijeme túto sekvenciu príkazov. Do terminálu je ich možné nakopírovať spolu. Upozorňujem, že príkazy nemusia fungovať v každom OpenPLi rovnako. Stačí že v satellites.xml je viac družic ako jedna a začnú sa skénovať iné transpondery aké by sa mali skénovať. Sada príkazov sa musí pripraviť pre konkrétnu konfiguráciu IMG.
wget -q -O - http://127.0.0.1/web/remotecontrol?command=139
wget -q -O - http://127.0.0.1/web/remotecontrol?command=103
wget -q -O - http://127.0.0.1/web/remotecontrol?command=103
wget -q -O - http://127.0.0.1/web/remotecontrol?command=352
wget -q -O - http://127.0.0.1/web/remotecontrol?command=108
wget -q -O - http://127.0.0.1/web/remotecontrol?command=352
wget -q -O - http://127.0.0.1/web/remotecontrol?command=108
wget -q -O - http://127.0.0.1/web/remotecontrol?command=108
wget -q -O - http://127.0.0.1/web/remotecontrol?command=352
wget -q -O - http://127.0.0.1/web/remotecontrol?command=108
wget -q -O - http://127.0.0.1/web/remotecontrol?command=106
wget -q -O - http://127.0.0.1/web/remotecontrol?command=108
wget -q -O - http://127.0.0.1/web/remotecontrol?command=108
wget -q -O - http://127.0.0.1/web/remotecontrol?command=106
wget -q -O - http://127.0.0.1/web/remotecontrol?command=108
wget -q -O - http://127.0.0.1/web/remotecontrol?command=106
wget -q -O - http://127.0.0.1/web/remotecontrol?command=352
sleep 20
wget -q -O - http://127.0.0.1/web/remotecontrol?command=174
wget -q -O - http://127.0.0.1/web/remotecontrol?command=174
wget -q -O - http://127.0.0.1/web/remotecontrol?command=174
wget -q -O - http://127.0.0.1/web/remotecontrol?command=174
wget -q -O - http://127.0.0.1/web/remotecontrol?command=174
Po príkaze v riadku 17, nasleduje príkaz „sleep 20„, ktorý počká 20 sekúnd, pokiaľ sa nepreskenuje frekvenčné pásmo a ďalšími príkazmi vystúpime z menu na pôvodnú obrazovku ako to bolo pred skénovaním. Ja mám pripravený satellites.xml len pre toľko transponderov, koľko potrebujem. Obyčajne je ich tam len 10-15, preto 20 sekúnd postačuje na skénovanie. Ak by sa však skénovalo viac transponderov, je potrebne nastaviť sleep na viac sekúnd. Tieto príkazy je možné uložiť aj do skriptu a spustiť len skript. A teraz môžeme povedať, že namiesto stlačenia 22 buttonov na DO nám stačí spustiť obyčajný skript, ktorý sa vykoná omnoho rýchlejšie ako ručne skénovanie cez DO. Tak isto si sadou príkazov môžeme uľahčiť rôzne konfigurácie IMG ako napr. nastavenie HDMI-CEC, nastavenie OpenWebif atď.