Obecně
Pomocí HTTP vstupu můžete jednoduše načítat webové stránky nebo XML soubor. Díky tomuto vstupu je používání zařízení s webovým rozhraní mnohem jednodušší a není nutné využít PicoC.
Možnosti použití: regulace topení, systém fotovoltaiky, multimediální aplikace, …
Vložení virtuálního HTTP vstupu
Pro vložení virtuálního HTTP vstupu musíte nejprve ve stromové struktuře periférii označit „Virtuální vstupy“. Potom se v horním menu objeví ikona „Virtuální HTTP vstup“. Kliknutím na ikonu „Virtuálního HTTP vstupu“ vložíte tento vstup do stromové struktury.
Ve vlastnostech Virtuálního HTTP vstupu se zadává adresa a port zařízení, které se má ovládat. Do vlastností se zapisuje i hodnota dotazovacího cyklu.
V našem případě se bude dotazovat hodnota cyklicky. Pro jednoduchý příklad můžeme použít Miniserver, přesto HTTP vstupy fungují stejným způsobem s jakýmkoliv zařízením.
Pokud je požadováno ověření uživatele, potom je nutné zadat uživatelské jméno a heslo:
http://admin:admin@IP-Adresse
U virtuálních HTTP vstupů lze použít pouze Basic Authentication Scheme.
V tomto příkladu jsme se připojili na IP adresu 192.168.1.25 s uživatelským jménem „admin“ a heslem „admin“.
./dev/sps/io/Test/state je příkaz webové služby, která se dotazuje na stavy vstupu Miniserveru.
Virtuální HTTP příkaz
Nyní se bude HTTP vstup dotazovat každých 10 sekund. Aby bylo možné hodnotu číst, je zapotřebí přidat „Virtuální vstup HTTP příkazu“.
Ve stromové struktuře periférií označte již vytvořený HTTP vstup. Potom se v horním menu objeví „Virtuální vstup HTTP příkazu“. Kliknutím na tuto ikonu se nový HTTP příkaz vloží do stromové struktury.
Než začneme nastavovat HTTP příkaz, musíme vědět stránku, ze které jsou hodnoty dotazovány.
K tomu nám pomůže zadat příkaz přes webový prohlížeč.
Na obrázku níže je vidět hodnota – value= hodnota, kterou dotazujeme:
Nyní je nutné zadat ve vlastnostech virtuálního HTTP příkazu „Rozeznání příkazu“.
Zde zadejte: value=“\v
To znamená, že se bude rozeznávat textová hodnota (\v), podle hodnoty za value=“.
Častou chybou je použití \1 místo \v. Na webových stránkách jsou často čísla zobrazena jako jeden znak ASCII. ASCII hodnota je o 38 vyšší než je skutečná hodnota. Například číslo 3 je vyloženo jako číslo 41.
Zde je výsledek našeho příkladu:
Každých 10 sekund se bude z Miniserveru s adresou 192.168.1.25 číst hodnota vstupu Test.
Rozeznání příkazu
Rozeznání příkazu z přijatých dat má více možností:
Speciální znaky pro digitální a analogový vstup
\x | Hexadecimal např., \x09 pro 0x09 nebo \x01\x02\x03\x04 pro 0x01020304 |
\\ | \ |
\. | Přeskočit jakýkoliv znak |
\w | Přeskočit jakékoliv slovo |
\# | Přeskočit jakékoliv číslo |
\t | Tabulátor (0x09) |
\b | Tabulátor (0x09) nebo mezera (0x20) |
\r | Návrat na začátek řádku (0x0D) |
\n | Řádek (0x0A) |
\d | Přeskočit jakoukoliv číslici (0-9) |
\a | Přeskočit jakékoliv písmeno (A-Z, a-z) |
\m | Přeskočit jakékoliv písmeno (A-Z, a-z) nebo jakoukoliv číslici (0-9) |
\s12 | Přeskočí daný počet znaků (12 lze nahradit za libovolné číslo) |
Speciální znaky pro rozpoznávání příkazu, když je použit analogový vstup
\v | Hodnota je přijímána jako ASCII řetězec. Desetinná místa musí být odděleny čárkou nebo tečkou. |
\1 | Číselná hodnota přijatých bajtů je umístěna v nejméně významném bajtu (LSB) na výstupu (bity 0-7). |
\2 | Číselná hodnota přijatého bajtu je umístěna v bitech 8-15 na výstupu. |
\3 | Číselná hodnota získaného bajtu je umístěna v bitech 16-23 na výstupu. |
\4 | Číselná hodnota přijatého bajtu je umístěna v nejvýznamnější bajtu (MSB) na výstupu (bity 24 až 31). |
Do jednoho příkazu pro rozeznání příkazu z přijatých dat je možné vložit více hodnot.