Obsah Úvod ............................................................................................................................................ 5 Důležitá upozornění ....................................................................................................................... 6 1. O IPCorderu .............................................................................................................................. 7 1.1. Popis systému ............................................................................................................ 7 1.2. Systémové požadavky ................................................................................................ 8 1.3. První spuštění ............................................................................................................ 9 Nalezení IPCorderu ............................................................................................. 9 Příprava úložiště ................................................................................................ 10 Průvodce nastavením .......................................................................................... 10 2. Nastavení IPCorderu ................................................................................................................. 12 2.1. Síť .......................................................................................................................... 12 2.2. E-mail ..................................................................................................................... 14 2.3. Datum a čas ........................................................................................................... 15 2.4. FTP přístup .............................................................................................................. 16 2.5. Úložný prostor ......................................................................................................... 17 2.6. Vzdálený přístup ...................................................................................................... 19 2.7. Přizpůsobení prostředí .............................................................................................. 22 3. Správa kamer a dalších zařízení ............................................................................................... 24 3.1. Vyhledání a přidání zařízení ..................................................................................... 24 Automatické vyhledání ....................................................................................... 25 Ruční přidání .................................................................................................... 27 3.2. Správa zabezpečení připojených zařízení ................................................................... 28 3.3. Odstranění zařízení ................................................................................................. 28 3.4. Stromy zařízení ....................................................................................................... 29 4. Nastavení nahrávání ................................................................................................................ 31 4.1. Nahrávací režimy .................................................................................................... 31 4.2. Časové rozvrhy ....................................................................................................... 32 4.3. Události .................................................................................................................. 33 4.4. Akce ...................................................................................................................... 33 Vytvoření a úprava akce .................................................................................... 34 Zdrojový kód .................................................................................................... 35 5. Prohlížení videa ....................................................................................................................... 36 5.1. Pohledy .................................................................................................................. 36 5.2. Živé video ............................................................................................................... 37 5.3. Přehrávání záznamů ................................................................................................ 40 5.4. Export záznamů ...................................................................................................... 41 5.5. Stavové monitory ..................................................................................................... 42 6. Uživatelské účty ....................................................................................................................... 44 6.1. Vytvoření uživatele ................................................................................................... 44 6.2. Nastavení specifická pro konkrétního uživatele ............................................................ 45 Změna hesla ..................................................................................................... 45 Uživatelské pohledy ........................................................................................... 45 7. Údržba systému ....................................................................................................................... 46 7.1. Aktualizace firmware ................................................................................................ 46 7.2. Tovární nastavení ..................................................................................................... 47 7.3. Vypnutí a restart IPCorderu ....................................................................................... 47 7.4. Protokol systémových událostí .................................................................................... 48 7.5. Záloha a obnovení nastavení .................................................................................... 49 8. Kde hledat pomoc .................................................................................................................... 52 A. Ruční aktualizace firmware ....................................................................................................... 53
2
A.1. Stažení klíče z IPCorderu .......................................................................................... A.2. Registrace IPCorderu ................................................................................................ A.3. Nahrání firmware .................................................................................................... B. Popis jazyka Lua ...................................................................................................................... B.1. Základy jazyka Lua .................................................................................................. Doplňující informace .......................................................................................... B.2. Specifika prostředí Lua v IPCorderu ............................................................................ B.3. Proměnné jednotlivých zařízení .................................................................................. B.4. Akce zařízení .......................................................................................................... B.5. Událost IncomingCgi ................................................................................................ B.6. Speciální proměnné .................................................................................................. B.7. Funkce a knihovny ................................................................................................... delay ............................................................................................................... millidelay .......................................................................................................... log ................................................................................................................... logf .................................................................................................................. mail ................................................................................................................. toboolean ......................................................................................................... B.8. Příklady .................................................................................................................. PTZ Preset tour .................................................................................................. PTZ Preset tour s tlačítky stop a restart ................................................................. Závěr ..........................................................................................................................................
53 54 55 56 56 57 57 57 59 60 61 61 61 62 62 63 64 65 66 66 66 69
3
Seznam obrázků 1.1. Vyhledání IPCorderu v síti pomocí aplikace Discover ................................................................... 1.2. Příprava úložiště ................................................................................................................... 2.1. Nastavení sítě ....................................................................................................................... 2.2. Nastavení e-mailu ................................................................................................................. 2.3. Nastavení data a času ........................................................................................................... 2.4. Nastavení FTP přístupu .......................................................................................................... 2.5. Informace o úložném prostoru ................................................................................................ 2.6. S.M.A.R.T. informace o stavu disku ......................................................................................... 2.7. Nastavení přesměrování portů ................................................................................................ 2.8. Příklad výpisu statických tunelů ............................................................................................... 2.9. Nastavený vzdálený přístup .................................................................................................... 2.10. Přizpůsobení prostředí .......................................................................................................... 2.11. Světelný pás ....................................................................................................................... 3.1. Přidání nového zařízení ......................................................................................................... 3.2. Spuštění vyhledávání zařízení ................................................................................................. 3.3. Nalezená zařízení ................................................................................................................. 3.4. Ruční přidání zařízení ........................................................................................................... 3.5. Strom zařízení ...................................................................................................................... 3.6. Editor stromů zařízení ............................................................................................................ 4.1. Vytvoření a editace rozvrhů .................................................................................................... 4.2. Editor akcí ............................................................................................................................ 4.3. Editor zdrojového kódu .......................................................................................................... 5.1. Vytvoření nového pohledu ...................................................................................................... 5.2. Živé video ............................................................................................................................ 5.3. Výběr streamu a další volby ................................................................................................... 5.4. Zobrazení záznamů .............................................................................................................. 5.5. Vysvětlivky barevného značení na časové ose záznamů ............................................................. 6.1. Vytvoření uživatele a nastavení oprávnění ................................................................................ 7.1. Seznam verzí firmware .......................................................................................................... 7.2. Obnovení továrního nastavení ................................................................................................ 7.3. Vypnutí a restart systému ....................................................................................................... 7.4. Protokol systémových událostí ................................................................................................. 7.5. Záloha a obnovení nastavení .................................................................................................. 7.6. Záloha nastavení ................................................................................................................... 7.7. Obnovení nastavení ............................................................................................................... A.1. Příprava aktualizace .............................................................................................................. A.2. Registrace IPCorderu ............................................................................................................. A.3. Ruční aktualizace .................................................................................................................. B.1. výstup funkce log() ................................................................................................................
9 10 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 29 32 34 35 36 38 39 40 41 44 46 47 47 48 49 50 51 53 54 55 56
4
Úvod Děkujeme, že jste si zakoupili výrobek společnosti KOUKAAM. Před jeho použitím si prosím pečlivě přečtěte tento uživatelský manuál spolu se stručným průvodcem instalací, který je součástí balení. Předejdete tak chybné instalaci či nesprávnému používání IPCorderu. Tento manuál vás postupně provede všemi důležitými funkcemi vašeho nového zařízení IPCorder. Naučíte se IPCorder najít na síti, připravit datové úložiště k použití a nastavit vše potřebné pro provoz. Provede vás postupně vyhledáváním kamer, nastavením pohledů a konfigurací nahrávacích režimů. Přečtěte si pozorně následující upozornění. Zařízení, které jste zakoupili, pracuje pod napětím. Vlivem chybné manipulace může dojít k jeho poškození nebo zranění osoby, která se zařízením manipuluje.
5
Důležitá upozornění 1. Výrobce neodpovídá za možné poškození způsobené nesprávným používáním nebo umístěním do nevhodného prostředí. 2. Zařízení není určeno pro venkovní použití. 3. Nepoužívejte zařízení při silných vibracích. 4. Neoprávněné úpravy tohoto zařízení mohou vést k jeho poškození nebo vzniku požáru. 5. Zabraňte styku s kapalinami, nevystavujte zařízení vysokým teplotám. 6. Chraňte zařízení před pádem. 7. Pokud zařízení nefunguje správně, kontaktujte svého prodejce.
6
1. O IPCorderu IPCorder je samostatné nahrávací zařízení (Network Video Recorder - NVR) pro systémy IP kamer, a to včetně nejnovějších modelů s vysokým rozlišením. IPCorder představuje řešení nové generace, charakteristické snadným ovládáním, vysokou spolehlivostí, širokým spektrem podporovaných zařízení, kompaktními rozměry a nízkou spotřebou energie. IPCorder umožňuje sledování a ukládání záznamů z IP kamer, jejich snadné vyhledávání, přehrávání a export. Nabízí se také možnost ukládat informace o teplotě, vlhkosti a dalších veličinách či stavech z příslušných senzorů. Kromě rozsáhlých možností nastavení nahrávacích režimů, umí IPCorder také reagovat na různé události v systému – například nahrávat video, jen pokud jsou zavřené dveře, otáčet pohyblivými kamerami nebo ovládat externí zařízení. Jako úložiště dat používá IPCorder standardní SATA pevné disky.
1.1. Popis systému Základem systému IPCorder je hardwarové zařízení s webovým rozhraním a možností ovládání přes mobilní aplikace pro zařízení se systémem Android či iOS. Uživatel tedy na svém počítači nemusí instalovat žádný speciální software, stačí mu běžný internetový prohlížeč, v případě chytrých telefonů stačí pouze nainstalovat jednoduchou aplikaci. Většinu podporovaných zařízení umí systém automaticky vyhledat a následně nakonfigurovat. Aktuální seznam zařízení, se kterými umí IPCorder pracovat, je dán nainstalovanou verzí firmware. Jejich kompletní seznam je možné vždy nalézt na adrese http://www.ipcorder.cz/podporovana-zarizeni/. Počet zařízení, které je možné k IPCorderu připojit, se liší podle konkrétního modelu IPCorderu. Konfiguraci ovládaných zařízení popisuje kapitola 3 – „Správa kamer a dalších zařízení“. Systém je například schopen zahájit nahrávání videa při detekci pohybu nebo při jiné události rozsvítit světlo. Kromě základních reakcí (např. nahrávání videa při detekci pohybu), které se nastavují přímo v nastavení zařízení, se o navázání akcí na události starají uživatelem definovaná pravidla. Jejich zadávání do systému popisuje kapitola 4.4 – „Akce“. Lze určit, za jakých podmínek a po jakou dobu se má video nahrávat. Záznamy se ukládají do centrálního úložiště s databází, díky které lze následně záznamy vyhledat a prohlížet. Data ze senzorů je možné exportovat v podobě tabulek v HTML formátu, videa a obrázky z kamer lze exportovat do souboru. Přístup k uloženým datům popisuje kapitola 5.3 – „Přehrávání záznamů“. Aktuální data ze senzorů systém zobrazuje jednotným způsobem, nezávislým na daném zařízení. Je navíc možné zobrazit výstupy z více různých zařízení najednou. Uživatel si nejdříve zvolí sadu zařízení, ze kterých chce vidět výstupy najednou (tzv. pohled), a poté tuto sadu může zobrazit. Pohledy lze ukládat a upravovat, takže není potřeba pokaždé definovat vše znovu. Zobrazování aktuálních výstupů zařízení popisuje kapitola 5.2 – „Živé video“.
7
O IPCorderu
1.2. Systémové požadavky IPCorder je kompatibilní s operačními systémy: • Microsoft Windows 2003, 2008, XP, Vista, 7 (32- i 64-bitové verze) • Mac OS X 10.5 (pouze pro Intel x86), 10.6 a 10.7 • Linux 2.6 nebo novější IPCorder je možné ovládat přes webové rozhraní v prohlížečích: • Mozilla Firefox 10 ESR, 13 nebo novější (doporučen) • Internet Explorer 8 a 9 (pouze 32-bitová verze) • Google Chrome 20 a novější • Safari 5 nebo novější (pouze na Mac OS) Další požadavky: • zapnutý JavaScript a Cookies • Java SE (doporučena Oracle Java 7) Pro přehrávání záznamů nebo sledování živého videa v kodecích MPEG4 nebo h.264 vyžaduje přehrávač videa dekódovací knihovny. Tyto knihovny jsou automaticky nainstalovány při prvním spuštění přehrávače videa.. Potřebný minimální výkon počítače závisí na připojených zařízeních. Doporučená minimální konfigurace je 2GHz procesor a 1GB RAM. Je třeba počítat s velkým zatížením sítě při přenosu videa z kamery (či IPCorderu) k počítači. Při nahrávání z velkého množství kamer je vhodné, aby byl IPCorder připojen ke gigabitovému portu switche.
8
O IPCorderu
1.3. První spuštění V balení je obsažen Stručný průvodce instalací. Tento průvodce vám pomůže se zprovozněním nového IPCorderu.
Nalezení IPCorderu Po prvním připojení do sítě je třeba zjistit IP adresu IPCorderu. Pokud máte v síti zapnuté DHCP a datový kabel byl připojen již během startu, IPCorder získá IP adresu z DHCP serveru. V opačném případě bude dostupný na adrese 192.168.1.78. Ke zjištění IP adresy slouží program Discover, který naleznete na přiloženém CD nebo na adrese http:// www.ipcorder.cz/podpora/ke-stazeni/.
Obrázek 1.1. Vyhledání IPCorderu v síti pomocí aplikace Discover
IP adresu nalezeného IPCorderu zadejte do webového prohlížeče. Objeví se obrazovka servisního režimu s nástrojem pro vytvoření diskového úložiště.
9
O IPCorderu
Příprava úložiště Při přípravě diskového úložiště musíte rozhodnout, který typ RAID1 pole použijete. Každý typ má své výhody a nevýhody – varianty se liší kapacitou, rychlostí, bezpečností dat a výkonnostními nároky. Podrobnější informace o jednotlivých typech najdete na adrese http://en.wikipedia.org/wiki/RAID (anglicky). U jednotlivých disků zvolte typ RAID a vyberte typ pole (RAID type).
Obrázek 1.2. Příprava úložiště
Tlačítkem
Create RAID Array
zahájíte vytváření úložiště. To může v závislosti na velikosti disků a typu RAID
trvat i několik hodin.
Upozornění RAID slouží pouze pro ochranu dat proti poruše disku. Nechrání je proti výpadku napájení. Při výpadku napájení se může stát, že některé záznamy nepůjdou přehrát. Doporučujeme IPCorder napájet pomocí zálohovaného (nepřerušitelného) zdroje. Pokud zaškrtnete políčko Automatically monitor disks with S.M.A.R.T. IPCorder bude automaticky kontrolovat zdraví disků. V případě závady některého disku bude tento disk označen jako broken a pole jako degraded a upozorní vás tak na potřebu výměny disku.
Průvodce nastavením Po úspěšném vytvoření datového úložiště naběhne IPCorder do běžného režimu. Nyní je třeba se přihlásit (výchozí uživatelské jméno a heslo je admin / admin) a provést základní nastavení. K tomu slouží průvodce, který je rozdělen do několika kroků: 1.
Zvolte výchozí jazyk. Po přečtení licenčního ujednání jej potvrďte tlačítkem
Souhlasím
.
1
Redundant Array of Independent Disks
10
O IPCorderu
2. Následně je doporučeno změnit heslo uživatele admin, zvolte dostatečně silné heslo2. 3. V dalším kroku nastavte formát data, času, teploty a další volby týkající se automatického spouštění přehrávače videa, zobrazení náhledů kamer a logování. 4. Zde nastavte, zda se má čas synchronizovat s NTP serverem (doporučeno)3 nebo s časem v počítači, nebo zda jej nastavíte ručně. Dále je třeba nastavit časovou zónu, ve které se IPCorder nachází. 5. V pátém kroku nastavte síť. Můžete zvolit, zda chcete i nadále ponechat zapnuté DHCP, které by vašemu IPCorderu přidělovalo adresu, nebo zvolit adresu IP ručně (doporučeno). 6. Předposlední krok slouží k vyplnění údajů o poštovním serveru. Díky tomuto nastavení můžete být v případě závažné chyby upozorněni e-mailem. Důrazně doporučujeme toto nastavení provést. Věnujte pozornost i sekci Upozorňování e-mailem. 7. Tímto je IPCorder je připraven k použití. Doporučujeme však ještě aktualizovat firmware na nejnovější verzi. Více v kapitole 7.1 – „Aktualizace firmware“.
2
Silné heslo by mělo obsahovat velká i malá písmena, číslice a speciální znaky. Délka hesla by měla být minimálně 8 znaků. Důrazně doporučujeme toto heslo změnit, aby se do vašeho IPCorderu nemohla přihlásit neoprávněná osoba. 3 Network Time Protocol – nástroj pro synchronizaci času ze vzdáleného serveru.
11
2. Nastavení IPCorderu Tato kapitola vás postupně provede podrobněji nastavením IPCorderu. Pokud jste použili Průvodce nastavením, většina voleb již bude nastavena.
2.1. Síť Tuto sekci najdete v menu Nastavení – Síť. V sekci Informace o síti jsou aktuální hodnoty MAC adresy, IP adresy a síťové masky. V dalších sekcích můžete toto nastavení změnit. Podíváme se na sekci Nastavení sítě.
Obrázek 2.1. Nastavení sítě • Automatická konfigurace (DHCP) – V tomto nastavení se IPCorder pokusí získat síťová nastavení od DHCP serveru. Hodnoty vyplněné v polích IP adresa, maska sítě, brána a DNS server se v tomto případě ignorují. Pokud je nastavena Automatická konfigurace (DHCP) a v síti není aktivní DHCP server, IPCorder nastaví
12
Nastavení IPCorderu
IP adresu na 192.168.1.78. Při použití DHCP není jisté, že bude mít IPCorder stále stejnou IP adresu, proto doporučujeme nastavit IP adresu staticky. • Statická IP adresa – Při použití této volby je třeba nastavit parametry ručně. Pokud si nejste hodnotami jisti, obraťte se na správce vaší sítě. Je třeba zadat tyto hodnoty: • IP adresa – síťová adresa, pod kterou je IPCorder reprezentován v místní síti. • Síťová maska – ve většině případů můžete použít aktuální masku zobrazenou v sekci Informace o síti. • Brána – adresa, pod kterou je v místní síti viditelný router, přes který probíhá síťová komunikace do vnějších sítí a Internetu. • DNS server – adresa serveru, který provádí překlad DNS jmen na IP adresy. Často bývá adresa DNS serveru stejná jako adresa routeru. • Prezentovat jako UPnP zařízení – pokud je zaškrtnuto, IPCorder bude viditelný například ve složce Místa v síti v systému Windows. V sekci Nastavení domény lze nastavit další síťové parametry. Pokud budete chtít z IPCorderu odesílat e-maily (viz. sekce 2.2 – „E-mail“), je nutné, aby byl SMTP server schopen odesílat zprávy od takto nazvaného zařízení. Pokud váš model IPCorderu podporuje více síťových rozhraní, je k dispozici i sekce Záložní síťové rozhraní. Zaškrtnutím volby Aktivovat druhé síťové rozhraní jako záložní lze nastavit bonding a load balancing. Více informací k nastavení naleznete ve Stručném průvodci instalací, který je součástí balení. Změny v nastavení potvrďte tlačítkem
Tlačítko
Lokalizovat IPCorder
Použít
.
rozbliká LED diodu na IPCorderu a usnadní tak jeho fyzické nalezení, máte-
li v síti IPCorderů více.
13
Nastavení IPCorderu
2.2. E-mail IPCorder umožňuje informovat e-mailem uživatele o základních událostech a chybách. Možnosti nastavení emailu najdete v menu Nastavení – E-mail. Pro správnou funkčnost odesílání e-mailů je potřeba nejprve správně nastavit údaje o SMTP serveru. Pokud si nejste jisti, obraťte se na poskytovatele připojení nebo správce sítě.
Obrázek 2.2. Nastavení e-mailu V sekci Nastavení SMTP zadejte adresu SMTP serveru, který se stará o odesílání pošty. Pokud server podporuje šifrované spojení, je vhodné zaškrtnout volbu SMTP TLS. Jméno a Heslo je obvykle třeba k přihlášení k SMTP serveru. Na adresu E-mail správce budou posílány zprávy o přechodu do servisního režimu, případně další zprávy, jejichž zasílání je zapnuto. Pro správnou funkci odesílání e-mailů je nezbytné, aby SMTP server naslouchal na standardním portu 25. Ten však může být blokován na firewallem nebo poskytovatelem připojení. SSL šifrování není podporováno. Pokud chcete, aby e-maily měly v hlavičce jinou adresu odesílatele1, zvolte si ji v sekci Pokročilé možnosti emailu. Správnost nastavení nyní můžete vyzkoušet tlačítkem
Odeslat zkušební e-mail
.
1
Ve výchozím nastavení bude adresa odesílatele
[email protected], případně jinak – řídí se nastavením názvu a domény v kapitole 2.1 – „Síť“.
14
Nastavení IPCorderu
V sekci Upozorňování e-mailem si vyberte události, při kterých má IPCorder odeslat e-mail: • Posílat denní zprávy o funkčnosti zařízení – každý den vám přijde zpráva se záznamy z protokolu systémových událostí (viz. kapitola 7.4 – „Protokol systémových událostí“). • Poslat e-mail, když IPCorder nastartuje – budete informováni o nastartování IPCorderu do běžného i servisního režimu. Odhalíte tak například noční výpadek napájení. • Poslat e-mail při události úložiště – IPCorder vás bude informovat o závadě pevného disku nebo RAID pole.
2.3. Datum a čas Formulář pro nastavení času se nachází v menu Nastavení – Datum a čas. V záhlaví webového rozhraní se zobrazuje aktuální systémový čas IPCorderu. Nejprve volbou oblasti a města specifikujte časové pásmo, ve kterém je IPCorder provozován (může se lišit od času počítače, ze kterého se k IPCorderu připojujete).
Obrázek 2.3. Nastavení data a času Pokud je zvolena varianta Povolit NTP synchronizaci, IPCorder si automaticky nastaví čas podle zvoleného NTP serveru a časového pásma. Můžete zvolit vlastní NTP server. Pokud si nejste volbou jistí, ponechte předvolený pool.ntp.org. V případě, že není dostupný žádný NTP server, použijte možnost čas nastavit ručně, a to zadáním aktuálního času do pole Datum a čas. Je také možné použít volbu Synchronizovat s tímto počítačem, která datum a čas synchronizuje s počítačem, ze kterého se k aplikaci připojujeme.
15
Nastavení IPCorderu
2.4. FTP přístup FTP2 umožňuje přímý přístup k souborům s nahrávkami a jejich hromadné kopírování.
Obrázek 2.4. Nastavení FTP přístupu
FTP je ve výchozím nastavení neaktivní. Povolíte ho zaškrtnutím políčka Povolit FTP přístup z menu Nastavení – FTP. Nastavte heslo a potvrďte kliknutím na tlačítko
Použít
. Stejným způsobem můžete heslo později změnit.
2
File Transfer Protocol
16
Nastavení IPCorderu
2.5. Úložný prostor Na stránce Nastavení – Úložný prostor se zobrazují informace o stavu a zaplnění disků, které aplikace používá.
Obrázek 2.5. Informace o úložném prostoru
• Celková kapacita – Celkový prostor využitelný pro ukládání záznamů. V dalším sloupci se nachází časový odhad, tj. celková možná délka nahrávek ze všech kamer. Časový odhad se postupně zpřesňuje, jak na disku přibývají záznamy. Po zapnutí nahrávání vyčkejte na zpřesnění odhadu. • Volné místo – Aktuálně využitelný prostor pro ukládání záznamů a odhad času. • Typ pole – Pro jednodiskové modely IPCorderu se zobrazuje hodnotu Single, pro vícediskové modely se pak zobrazuje zvolený typ RAID pole. • Stav diskového pole – Ok: vše v pořádku, Degraded: některé disky z pole jsou mimo provoz, ale pole stále funguje, Failed: mimo provoz je více disků, než je možné k fungování pole, data jsou ztracena. Systém neustále monitoruje volné místo na disku. Pokud místo dochází, začne automaticky mazat nejstarší záznamy. V části Nastavení úložného prostoru je možné upřesnit chování úložiště. IPCorder za běžných okolností odmazává nejstarší záznamy teprve tehdy, kdy začne docházet volné místo. Pokud aktivujete volbu Mazat data starší … dnů, IPCorder bude odmazávat záznamy už po uplynutí zadaného počtu dnů. Pokud však nastavíte větší počet dnů, než se vejde na disk, IPCorder bude stále odmazávat staré záznamy tak, aby se nepřeplnil disk - počet zaznamenaných dnů může být menší, než jste nastavili.
17
Nastavení IPCorderu
Volba Automaticky hlídat disky pomocí S.M.A.R.T. pomůže včas odhalit vadné disky. Doporučujeme ji zapnout. Pokud jste provedli změny, uložte je tlačítkem
Použít
.
U každého disku je odkaz Zobrazit podrobnosti - po kliknutí se objeví nové okno s technickými informacemi o zdraví konkrétního disku a můžete také disk otestovat.
Obrázek 2.6. S.M.A.R.T. informace o stavu disku Význam jednotlivých položek je podrobně vysvětlen na Wikipedii: http://en.wikipedia.org/wiki/ S.M.A.R.T.#Known_ATA_S.M.A.R.T._attributes (anglicky). Pokud vám některé hodnoty připadají příliš špatné, konzultujte stav disku s odborníkem. V případě poruchy disku v RAID poli nahraďte disk a počkejte na dokončení synchronizace. Během synchronizace pole je zobrazován stav RAID State: Rebuilding a odhadovaná doba do konce. Synchronizace může trvat i několik hodin v závislosti na typu pole a velikosti disků.
18
Nastavení IPCorderu
Během synchronizace pole se záznamy z kamer neukládají. Pokud nahrazujete více vadných disků v poli3, vyměňte nejprve jeden disk, synchronizujte pole a postup opakujte pro další disky.
2.6. Vzdálený přístup IPCorder umožňuje připojení z Internetu i v případě, že je od Internetu oddělen routerem. Aby fungoval přístup na webové rozhraní IPCorderu a aby se správně zobrazovalo i video z kamer, je třeba na routeru nastavit potřebné parametry. Pokud se tímto nastavením nejste jisti, poraďte se svým správcem sítě nebo poskytovatelem internetového připojení. Přejděte do sekce Nastavení – Vzdálený přístup, jsou zde dvě možnosti:
Obrázek 2.7. Nastavení přesměrování portů • Automatické nastavení routeru – Pokud váš router podporuje ovládaní promocí protokolů UPnP4, může IPCorder řídit vzdálený přístup automaticky, bez nutnosti dalšího nastavení. V tomto nastavení zpřístupňuje IPCorder kamery pouze na dobu, kdy uživatel vzdáleně sleduje živé video. • Manuální nastavení routeru – Pokud váš router nepodporuje protokol UPnP, je nutné zpřístupnit zařízení pomocí statického přesměrování portů. Toto nastavení konzultujte se správcem sítě. V síti LAN umožňuje IPCorder zadat rozsah portů, které se použijí pro streamy kamer (typicky 2 porty pro každou kameru) a port, který bude použit pro webové rozhraní IPCorderu. Na tyto porty je pak třeba na vašem routeru směrovat provoz z vnější adresy. Pokud umí váš router definovat rozsah portů přesměrovaný na adresu v 3
Pouze u typů polí, kde to má význam, tedy např. RAID6 se 4 disky, RAID1 s 3 disky apod. Universal Plug and Play
4
19
Nastavení IPCorderu
síti LAN, použijte stejný rozsah jako u nastavení vzdáleného přístupu v IPCorderu. Nakonec přesměrujte z vámi vybraného portu na veřejné adrese provoz na port vybraný pro přístup k webovému rozhraní IPCorderu - Preferovaný webový port. Pokud použijete Manuální nastavení routeru, IPCorder po uložení vygeneruje tabulku s hodnotami pro ruční zadání do webového rozhraní routeru. Tabulku je možné vypsat pomocí tlačítka Stáhnout informace o statických tunelech
.
Obrázek 2.8. Příklad výpisu statických tunelů Obsah políček je následující: • Zařízení – jméno zařízení (kamery), pro které je potřeba vytvořit překladový záznam. • IP adresa – adresa cílového zařízení, kam mají být data přeposílána. V kombinaci s IP adresou udávající, kam mají data směřovat. Na routerech je často označován jako Target port nebo To port. • Protokol – protokol z rodiny IP, který má být použit. Na routerech je často označován jako Protocol. • Port na bráně – port na vnější straně routeru, kam mají být data zvnějšku posílána. Je to port v zadaném rozsahu, na routeru často označován jako Source port nebo From port. • Časové razítko – čas poslední změny v nastavení. Je třeba kontrolovat vždy, když je změněno nastavení sítě IPCorderu, přidána kamera či změněno síťové nastavení kamery. Je nutné, aby byl router nastaven vždy v souladu s tabulkou nejnovějšího data. Příklad: V síti LAN s adresním rozsahem 192.168.1.0/24 je potřeba zpřístupnit na veřejné adrese IPCorder se dvěma kamerami v režimu nahrávání. Adresa IPCorderu je 192.168.1.1, adresy kamer jsou 192.168.1.2 a 192.168.1.3. Vnější IP adresa našeho routeru je 194.114.132.12. Řešení: 1. Na straně IPCorderu nastavíme rozsah portů na 60000-60005 (dva porty pro IPCorder a 2x2 porty pro kamery). Preferovaný webový port nastavíme na 60000. 2. Na straně routeru s firewallem nastavíme:
20
Nastavení IPCorderu
a. přesměrování provozu z vnější adresy 194.114.132.12 a portu 60000 na vnitřní adresu 192.168.1.1 a port 80 na této adrese, b. přesměrování provozu z vnější adresy 194.114.132.12 a portu 60001 na vnitřní adresu 192.168.1.1 a port 1567 (streamování IPCorderu), c. přesměrování provozu z vnější adresy 194.114.132.12 a rozsahu portů 60002-60005 na vnitřní adresy jednotlivých kamer a porty 80 a 554 pro každou kameru. Nyní již z vnější sítě máte přístupný IPCorder na adrese http://194.11.132.12:60000. Z vnější sítě jsou zařízení přístupná na adrese ve formátu http://veřejná-adresa:port. Údaje z této tabulky je třeba zadat v nastavení tzv. Port Forwardingu či NAT na routeru.
Obrázek 2.9. Nastavený vzdálený přístup Pokud je k IPCorderu povolen vzdálený přístup, snaží se IPCorder rozlišit, zda se uživatel připojuje z místní sítě nebo vzdáleně. Je-li detekován vzdálený přístup, zobrazí se na přihlašovací stránce zaškrtávací pole Force
21
Nastavení IPCorderu
local access. Výjimečně se může stát, že je chybně rozpoznán vzdálený přístup, i když je uživatel ve skutečnosti připojen lokálně. V takovém případě je třeba zmíněné pole při přihlášení zaškrtnout.
2.7. Přizpůsobení prostředí IPCorder umožňuje přizpůsobit své rozhraní. Možnosti přizpůsobení najdete v menu Nastavení – Přizpůsobení. Můžete zaměnit výchozí logo IPCorderu za vlastní, typicky logo vaší firmy a nastavit, co se má stát, pokud uživatel na logo klikne.
Obrázek 2.10. Přizpůsobení prostředí
22
Nastavení IPCorderu
Pokud vlastníte model IPCorderu, který má tzv. světelný pás, máte možnost nastavit chování tohoto světelného pásu. Ve výchozím stavu svítí modře, vybírat lze z několika barev a můžete zvolit buď stálé svícení nebo směr rotace.
Obrázek 2.11. Světelný pás
23
3. Správa kamer a dalších zařízení Pod volbou Zařízení lze spravovat seznam zařízení, které jsou v IPCorderu. Na tomto místě lze přidávat další kamery, měnit nastavení, zapínat nahrávání a provádět další operace s přiřazenými zařízeními.
3.1. Vyhledání a přidání zařízení Po zapojení zařízení do sítě je třeba ho přidat do IPCorderu. To lze provést dvěma způsoby. Zařízení ve stejné podsíti je možné přidat pomocí automatického vyhledání. Tento způsob je snazší a rychlejší, není ovšem možné nalézt kamery z jiné podsítě. Proto lze použít i ruční přidání.
Obrázek 3.1. Přidání nového zařízení
Pro přidání kamery klikněte na tlačítko Přidat ručně
Přidat nové
a zvolte, zda chcete kameru
Vyhledat
nebo
.
24
Správa kamer a dalších zařízení
Automatické vyhledání
Zvolte možnost
Vyhledat
a klikněte na tlačítko
Spustit vyhledávání
. Vyhledávání může trvat v závislosti
na velikosti sítě od několika sekund do několika minut.
Obrázek 3.2. Spuštění vyhledávání zařízení
Zobrazí se výsledky hledání Klikněte na požadované zařízení, kliknutím na
můžete přidat i více zařízení
najednou . Je třeba zadat přihlašovací údaje – Administrátorský účet, aby bylo možné na zařízení vytvářet uživatele, měnit IP adresu atd. V případě, že zařízení podporuje standard ONVIF (nebo funguje výhradně přes něj), je tato skutečnost uvedena ve sloupci Podpora ONVIF.
25
Správa kamer a dalších zařízení
Obrázek 3.3. Nalezená zařízení
Dále je třeba zvolit Zobrazovací účet – aby bylo možné z kamery přehrávat živé video a nahrávat záznamy. Přidání dokončete tlačítkem
Přidat vybraná zařízení
. Ačkoli většina kamer umožňuje použít pro zobrazení
videa anministrátorský účet, z bezpečnostních důvodů doporučujeme vždy vytvořit pro zobrazení zvláštní účet.
26
Správa kamer a dalších zařízení
Ruční přidání Pro ruční přidání zařízení musíte znát jeho IP adresu, výrobce a model, případně porty, na kterých naslouchá, využívá-li zařízení k přesměrování portů router1. Pokud znáte tyto údaje, můžete zvolit volbu
Přidat ručně
. V zobrazeném panelu můžete začít přidávat
první zařízení. Obdobně jako při Automatickém nalezení vyplňte údaje o uživatelských účtech, případně port a další údaje. Pokud chcete přidat více kamer najednou, použijte tlačítko
Nová šablona zařízení
. Pokud chcete
některé šablony odebrat, můžete jich více označit pomocí klávesy Shift nebo Ctrl . Následně stačí kliknout na
Smazat vybraná zařízení
.
Obrázek 3.4. Ruční přidání zařízení
1
Přesměrování portů (anglicky port forwarding) je metoda směrování portů z jednoho síťového uzlu na druhý. Typickým použitím je umožnění vnějšímu uživateli připojit se na zařízení na vnitřní adrese v místní síti prostřednictvím směrovače, který podporuje technologii překladu síťových adres. Zdroj: Wikipedia.
27
Správa kamer a dalších zařízení
3.2. Správa zabezpečení připojených zařízení Úprava zabezpečovacích údajů pro zařízení je možná v menu Zařízení a po kliknutí na zařízení v záložce Zabezpečení. Zde se zobrazují přihlašovací údaje, které používá IPCorder pro přístup k zařízení. V závislosti na typu kamery lze nastavit: • Zda použít zabezpečení. • Administrátorský účet – zde lze změnit jméno a heslo, které se používá pro nastavení zařízení. Je nutné, aby v IPCorderu byl nastaven funkční administrátorský účet zařízení, protože jej IPCorder používá k administraci tohoto zařízení. • Vygenerovat nové přihlašovací údaje – systém automaticky nahradí příslušný účet na zařízení novým účtem, vybaveným bezpečným náhodně vygenerovaným heslem. • Zobrazovací účet – používá se pro zobrazení živého videa a pro nahrávání záznamů. Pokud je třeba změnit nějaké hodnoty v IPCorderu i na zařízení, lze zaškrtnout políčko Nastavit na zařízení. Pokud se nedaří některé údaje nastavit, může to být způsobeno tím, že je nesprávně vyplněné administrátorské heslo – IPCorder pak nemá oprávnění vytvářet na zařízení uživatelské účty nebo měnit nastavení. Až budete s nastavením hotovi, potvrďte změny tlačítkem
Použít
.
Veškeré změny lze provést i ve společné tabulce přihlašovacích údajů, které se nachází v nabídce Zařízení Tabulka autentizace. Nastavení probíhá totožným způsobem, jako na panelu u jednotlivých zařízení.
3.3. Odstranění zařízení Pokud potřebujete zařízení ze systému odebrat, zvolte nabídku Zařízení a v pravé části vyberte zařízení, která chcete odstranit. Můžete jich vybrat více a tlačítkem
Smazat vybrané
je odstranit.
Upozornění Pokud odstraníte kameru ze systému, budou nenávratně odstraněny i veškeré záznamy z této kamery. Nesnažte se tedy nastavení kamery opravovat odebráním a opětovným přidáním kamery, pokud jsou pro vás tyto záznamy důležité.
28
Správa kamer a dalších zařízení
3.4. Stromy zařízení IPCorder umožňuje třídit zařízení do tzv. uživatelských stromů. To znamená, že si můžete kamery roztřídit například podle jejich fyzického umístění.
Obrázek 3.5. Strom zařízení
Do editoru stromů se dostanete kliknutím na ikonu
nad seznamem kamer.
Obrázek 3.6. Editor stromů zařízení
29
Správa kamer a dalších zařízení
V zobrazeném okně jsou dva panely. Základní strom, ve kterém jsou veškerá připojená zařízení, se jmenuje Fyzický strom. V levém panelu si vytvořte a pojmenujte nový prázdný strom a myší do něho přesuňte požadovaná zařízení. Můžete tak vytvářet skupiny zařízení. Nastavení uložte tlačítkem
Uložit
.
30
4. Nastavení nahrávání Jednou z hlavních funkcí IPCorderu je záznam videa (a dalších metadat) do datového úložiště. Nahrávání může pracovat v několika režimech a může tak být přizpůsobeno potřebám uživatele. Může probíhat neustále nebo jako reakce na různé události. To vše lze ještě upřesnit časovými rozvrhy.
4.1. Nahrávací režimy Ve výchozím nastavení je zvolen pro nahrávání předdefinovaný režim. Ten nahrává buď permanentně, nebo při podmiňující události. Pokud vytvoříte rozvrh a některé dny nebo časy nebudou pokryty rozvrhem, použije se právě tento výchozí nahrávací režim. Další režimy je možné přidat pomocí tlačítka
Přidat nahrávací režim
u každé kamery v záložce Video. IPCorder podporuje nahrávání zvuku společně s videem. Pokud vaše kamera v kombinaci s IPCorderem tuto možnost podporuje, zobrazí se zaškrtávací pole Nahrát zvuk. Nezapomeňte případně vypnout funkci Mute na kameře.
Jsou podporovány tyto kodeky Video • JPEG, MJPEG • MPEG4 • h.264 Audio • PCM (g.711 a-law, g.711 μ-law) • ADPCM (g.726) • AAC-hbr Některé kamery nabízí možnost komprese audia pomocí kodeku AMR, který není IPCorderem podporován.
31
Nastavení nahrávání
4.2. Časové rozvrhy V nabídce Nastavení – Rozvrhy je možné vytvářet rozvrhy, které se následně dají používat pro plánování, kdy zaznamenávat video. Pokud vám nestačí základní předvolené plány, je možné si přidat vlastní kliknutím na tlačítko
Vytvořit rozvrh
.
Ve výchozím stavu má IPCorder přednastaveny tři základní časové rozvrhy: Vždy, Víkend a Pracovní dny. Další můžete vytvářet a upravovat dle potřeby v nabídce Nastavení – Rozvrhy.
Obrázek 4.1. Vytvoření a editace rozvrhů
Zadejte jméno rozvrhu a následně pomocí tlačítka
Přidat interval
můžete vkládat časové úseky tak, abyste
vytvořili rozvrh dle svých požadavků.
32
Nastavení nahrávání
4.3. Události IPCorder umožňuje kromě nahrávacích režimů zaznamenávat video i při reakci na události. Možné události, které IPCorder dokáže detekovat jsou Nahrávat při detekci pohybu (objekt se před kamerou pohybuje), Nahrávat při aktivním vstupu (pokud je aktivován digitální vstup kamery) a nebo při události Nahrávání při sabotáži kamery (např. kameře je zakryt objektiv). Případná citlivost detekce pohybu se nastavuje přímo na kameře. Díky těmto metodám záznamu nemusíte nahrávat neustále a tím ušetříte místo na disku pro záznamy, můžete tak uchovávat záznamy po delší dobu. Pro správnou funkčnost detekce pohybu a podobných funkcí je potřeba nastavit tyto funkce přímo ve webovém rozhraní kamery.
Možnost zaznamenávání více streamů z jedné kamery IPCorder neumožňuje nahrávat více streamů z jedné kamery, dovoluje ale přidat jednu kameru vícekrát. Pokud je již kamera jednou v IPCorderu přidána, je nutné ji přidat ručně (viz. kapitola 3.1 – „Vyhledání a přidání zařízení“ - sekce „Ruční přidání“). Tímto postupem je umožněno nahrávat dva záznamy z jedné kamery. Lze tedy docílit například toho, že bude IPCorder trvale nahrávat video v menším rozlišení a při detekci pohybu nahraje navíc kvalitnější video. Je ovšem třeba počítat s tím, že dvakrát přidaná kamera zabere dva nahrávací kanály.
4.4. Akce V nabídce Akce lze vytvářet automatická pravidla, podle kterých IPCorder automaticky vykoná požadovanou akci. Rovněž lze vytvořit pravidla, která se dají spustit ručně kliknutím na tlačítko.
33
Nastavení nahrávání
Vytvoření a úprava akce Pokud ještě nemáte přidanou žádnou akci, zobrazí se rovnou formulář pro její vytvoření. Jestliže již nějaké v seznamu akcí máte, v horní části pravého panelu je tlačítko
Vytvořit akci
, pomocí kterého můžete přidávat
další akce. V Editoru akcí je následně možné dané pravidlo upravit na úrovni zdrojového kódu.
Obrázek 4.2. Editor akcí
Upozornění IPCorder umí zobrazovat teplotu i ve Fahrenheitových stupních. V editoru akcí se použité stupně samy konvertují na základě toho, které stupně má uživatel nastaveny v předvolbách (viz. kapitola 6.2 – „Nastavení specifická pro konkrétního uživatele“). Pokud ale používáte pokročilejší konstrukce, třeba hodnotu teploty ukládáte do proměnné jako číslo, tato hodnota se ukládá ve stupních Celsia, resp. přesněji v setinách stupňů Celsia. Tak je teplota interně interpretována. Stejně tak to platí i pro jazyk Lua, také se na Fahrenheitovy stupně nic nepřevádí.
34
Nastavení nahrávání
Zdrojový kód Editor zdrojového kódu slouží k ruční úpravě, tato možnost je určena zkušeným uživatelům, kteří chtějí mít vše pod kontrolou. Výhoda tohoto režimu je možnost kopírovat části ručně a duplikovat je, případně je ručně zálohovat do textového souboru. Syntaxe zdrojového kódu respektuje jazyk Lua, jehož použití je vysvětleno v příloze B – „Popis jazyka Lua“.
Obrázek 4.3. Editor zdrojového kódu
Upozornění Pokud upravíte pravidlo pomocí jazyka Lua, není již následně umožněna jeho úprava ve vizuálním Editoru akcí.
35
5. Prohlížení videa Prohlížeč videa najdeme pod odkazem
Video
v horní části webového rozhraní. Přehrávač je rozdělen
na několik panelů, které lze přemisťovat a měnit jejich velikost. Rozmístění panelů se automaticky ukládá v počítači, ze kterého bylo provedeno.
5.1. Pohledy IPCorder umožňuje definovat takzvané pohledy. Pohled je sestava rozmístění kamer a stavových monitorů (viz. sekce 5.5 – „Stavové monitory“). v hlavní části přehrávače videa. K nastavení pohledů má přístup pouze uživatel s oprávněním Správa rozvržení přehrávače videa. Administrátor může pro každého uživatele nastavit specifický pohled a tím mu zpřístupnit konkrétní kamery. Přiřazení pohledu uživateli je podrobněji popsáno v kapitole 6 – „Uživatelské účty“. Po prvním spuštění je automaticky vytvořen výchozí pohled, do něhož lze rovnou přetahovat kamery (nebo jiná zařízení) či proměnné stavových monitorů pomocí funkce Drag & Drop přímo ze stromu zařízení nebo ze seznamu kamer. Více o kamerách a stavových monitorech naleznete v sekcích 5.2 – „Živé video“ a 5.5 – „Stavové monitory“. Pohled je možné libovolně upravovat sloučením buněk, jejich přetahováním nebo přidáváním a ubíráním řádků či sloupců. Po každé změně je třeba pohled uložit tlačítkem
.
Obrázek 5.1. Vytvoření nového pohledu
36
Prohlížení videa
Pro přidání nového pohledu klikněte v přehrávači videa na tlačítko
, zadejte jméno nového pohledu a vyberte
přednastavené rozložení buněk. Po přizpůsobení nového pohledu jej opět uložte.
5.2. Živé video IPCorder poskytuje možnost zobrazovat společně video z jednotlivých kamer. Způsob, jakým se v přehrávači videa zobrazuje více kamer, je popsán v kapitole 5.1 – „Pohledy“. Seznam pohledů najdete na panelu pod náhledy kamer. Tlačítka
slouží k práci s celými pohledy, čtveřicí dalších tlačítek
přidávat a ubírat buňky tabulky. Poslední trojice tlačítek pohledu a otevření pohledu v novém okně. Panel s názvem
lze
slouží ke skrytí záhlaví buněk, maximalizaci Skupiny zařízení
ukazuje aktuální strom zařízení.
Více o uživatelem definovaných stromech zařízení se dočtete v kapitole 3.4 – „Stromy zařízení“. V tomto panelu můžete i vytvářet, měnit a mazat stavové monitory – viz. kapitola 5.5 – „Stavové monitory“. Z režimu zobrazení přes celou obrazovku se dostaneme kliknutím na tlačítko
vlevo dole nebo stiskem klávesy
Esc . Nahrávání je signalizováno červenou tečkou
v pravém horním rohu obrazu příslušné kamery. Pokud
potřebujete zobrazit detailní informace o streamu, klikněte u dané kamery na ikonu
a zaškrtněte položku
Zobrazit detaily streamu.
37
Prohlížení videa
Obrázek 5.2. Živé video
Digitální přiblížení obrazu se ovládá kolečkem myši, případně výběrem oblasti přímo v obrazu. Pravým tlačítkem myši se vrátíte zpět do plného obrazu.
38
Prohlížení videa
Jeden pohled může obsahovat více buněk, přičemž obsahem každé buňky může být video z kamery nebo stavový monitor (viz. kapitola 5.5 – „Stavové monitory“). Takto vytvořený pohled můžete zvětšit na celou obrazovku kliknutím na ikonu vyberte volbu
. Pokud chcete maximalizovat pouze jednu buňku, rozklikněte menu buňky Celá obrazovka
a zde
. Maximalizovat jednu buňku můžeme i dvojklikem uvnitř buňky.
Obrázek 5.3. Výběr streamu a další volby
U kamer, které podporují vzdálené ovládání (dále jen PTZ), se po kliknutí na buňku s videem z kamery, aktivují tlačítka v
Ovládacím panelu
vlevo dole. Dle typu kamery je poté možné ovládat funkce ostření, změny clony,
přiblížení a otáčení. Panel
Seznam kamer
Pokud kliknete na ikonu
zobrazuje náhled obrazu jednotlivých kamer. Dalším panelem je
Panel tlačítek akcí
.
, přejdete na vytváření akcí, kde si můžete vytvořit tlačítko s vámi zvolenou funkcí.
Po vytvoření se tlačítko zobrazí právě v tomto panelu.
39
Prohlížení videa
5.3. Přehrávání záznamů Záznamy z kamer pořízené systémem jsou nahrávány do datového úložiště dle nastavení - buď kontinuálně, nebo pouze při určitých událostech, viz. kapitoly 4.1 – „Nahrávací režimy“ a 4.4 – „Akce“. Vyhledávat záznamy, přehrávat je, nebo sledovat zaznamenané hodnoty a události, lze po přepnutí do režimu přehrávání. Na obrázku 5.4 – „Zobrazení záznamů“ je zapnutý režim přehrávání pro dvě ze tří kamer. Režim přehrávání záznamů zapnete kliknutím na ikonu tlačítko se v dolní části obrazovky objeví panel
v záhlaví buňky s videem z kamery. Po kliknutí na toto Záznamy
, který obsahuje ovládání přehrávání a časovou osu.
Záhlaví buňky je v režimu přehrávání označeno zelenou barvou.
Obrázek 5.4. Zobrazení záznamů
40
Prohlížení videa
Zelenou barvou je označen i záznam na časové ose. Panel
Záznamy
obsahuje standardní tlačítka
pro ovládání přehrávání, rychlost přehrávání lze měnit po kliknutí na ikonu . Ikony
slouží pro přiblížení nebo oddálení časové osy a další tři pro pohyb po časové ose.
Obrázek 5.5. Vysvětlivky barevného značení na časové ose záznamů
Pod ikonou ikonu kalendář
se skrývají vysvětlivky barevného značení na časové ose, jak je vidět na obrázku. Po kliknutí na se zobrazí menu pro export videa. Zcela vpravo se zobrazuje aktuální čas přehrávání. Je zde také pro rychlejší vyhledávání záznamů z určitých dnů.
5.4. Export záznamů Záznamy uložíte do souboru tak, že myší vyberete úsek na časové ose a kliknete na ikonu
. Exportované
video má plnou kvalitu i kodek, ve které bylo z kamery nahráno. Exportovat lze do dvou multimediálních kontejnerů: • MKV - umožňuje export označeného úseku videa do kontejneru MKV bez zvuku i se zvukem (pokud ho konkrétní kamera podporuje a pokud byl zvuk nahrán). • AVI - umožňuje exportovat označený úsek videa pouze bez zvuku. Z důvodu omezení kontejneru nelze vytvořit AVI soubor větší než 4 GB. V případě exportu většího časového úseku Vás proto IPCorder před dosažením 4GB dat zapsaných do souboru upozorní, že video bude rozděleno do více souborů. Export můžete kdykoliv pozastavit nebo ukončit pomocí správce pro export videa.
41
Prohlížení videa
5.5. Stavové monitory Kromě živého videa z kamer umí IPCorder v jednotlivých buňkách zobrazovat také aktuální hodnoty různých proměnných a veličin ze systému, kamer a senzorů (např. fps, velikost volného místa na disku nebo teplotu na teploměru). Pro tento účel lze v IPCorderu nadefinovat stavové monitory. Takové monitory je pak možno přidat do pohledu podobně jako živé video z kamery. Vytvořit nový stavový monitor je možné několika způsoby: •
V panelu skupiny zařízení, přepněte z aktuálního stromu zařízení na položku
Stavové monitory
. Zde
můžete vytvářet, přejmenovávat a mazat stavové monitory. Klikněte na ikonu pro přidání. Nový stavový monitor přidáte do prázdné buňky v pohledu přetažením stejně jako kameru. Nyní se přepněte zpátky do stromu zařízení, který chcete používat. Přetažením ikony zařízení (ze stromu zařízení nebo z panelu Seznam kamer) nad buňku se stavovým monitorem, vytvoříte monitor pro sledování všech hodnot zařízení. • Stavový monitor vytvoříte také přetažením jednotlivých hodnot ze stromu zařízení do nové buňky. Stavový monitor může obsahovat proměnné IPCorderu i jiných zařízení, především kamer. IPCorder nabízí tyto proměnné: Proměnná
Popis významu
totalSpace
celková kapacita datového úložiště
freeSpace
volné místo v datovém úložišti využitelné pro ukládání záznamů
swapUsed
číslo udávající zaplnění systémového odkládacího prostoru
swapTotal
celková velikost odkládacího prostoru
sessionCount
počet uživatelů aktuálně připojených k webovému rozhraní IPCorderu
averageLoad
číslo vyjadřující aktuální vytížení IPCorderu. Hodnoty od 0 do 100 znamenají ideální vytížení.
incomingTraffic
objem všech dat tekoucích od kamer do IPCorderu
outgoingTraffic
objem dat tekoucí z IPCorderu do ostatních zařízení, nezahrnuje data pro živé video
totalRecTimeCapacity
odhad celkového času pro nahrávky
freeRecTimeCapacity
odhad celkového volného času pro nahrávky
diskLoad<1-x>
zatížení jednotlivých disků (odlišeno číslovkou za diskLoad)
Tabulka 5.1. Proměnné IPCorderu pro stavové monitory Další proměnné jsou závislé na funkcích konkrétního zařízení, jejich počet a význam se tedy může lišit. U každé kamery však najdeme tyto proměnné: Proměnná
Popis významu
connected
pokud má hodnotu “yes”, je kamera připojena a pracuje správně. Hodnota “no” znamená, že je kamera buďto nedostupná (vypnutá, odpojený kabel), nebo byl IPCorderu kamerou odepřen přístup k účtu pro prohlížení (špatné heslo).
recording
má hodnotu “yes”, pokud je video z této kamery IPCorderem právě nahráváno. V ostatních případech je vždy “no”
recording bps
objem dat tekoucí z kamery do IPCorderu
recording fps
počet snímků za sekundu, které jsou IPCorderem zaznamenávány. Podobně jako u bps je hodnota nulová, pokud není kamera nahrávána.
Tabulka 5.2. Proměnné kamer pro stavové monitory
42
Prohlížení videa
Stavovému monitoru lze libovolně odebírat proměnné, pomocí křížku u proměnné. Stejně tak lze libovolně přidávat proměnné další, přetažením proměnné do buňky s monitorem.
43
6. Uživatelské účty Pokud bude IPCorder používat více uživatelů, je vhodné jim vytvořit samostatné účty a nastavit jim taková oprávnění, která potřebují. IPCorder tuto možnost nabízí.
6.1. Vytvoření uživatele Přejděte do menu Uživatelé a klikněte na tlačítko
Vytvořit uživatele
, vyplňte přihlašovací údaje a nastavení
jazyka.
Obrázek 6.1. Vytvoření uživatele a nastavení oprávnění
44
Uživatelské účty
Oprávnění nového uživatele můžete určit jednoduše jako Administrátor nebo Uživatel, pokud požadujete podrobnější nastavení práv, zvolte možnost Vlastní a práva upřesněte podle svých představ. Nakonec uložte nového uživatele tlačítkem
Přidat
.
6.2. Nastavení specifická pro konkrétního uživatele Každý uživatel má kromě svého hesla také vlastní nastavení předvoleb. Do nich patří především nastavení jazyka prostředí a formát data a času. Tato nastavení platí pro účet, pod kterým je uživatel přihlášen. Změny lze provést v menu Předvolby - Předvolby uživatele. Po provedení změn vše uložte tlačítkem
Použít
. Jazyk lze rychleji
změnit i v záhlaví vpravo nahoře z roletového menu.
Změna hesla Vlastní heslo si každý uživatel může změnit v menu Předvolby – Změnit heslo. Zadejte původní a nové heslo a uložte ho tlačítkem
Použít
. Pokud uživatel heslo zapomene, může ho změnit Administrátor nebo uživatel
s oprávněním Správa uživatelů. Ten tuto volbu najde v menu Uživatelé – Spravovat.
Uživatelské pohledy Jak bylo popsáno v kapitole 5.1 – „Pohledy“, je možné definovat několik pohledů s požadovaným rozmístěním kamer nebo stavových monitorů. IPCorder navíc umožňuje pohledy přiřazovat konkrétním uživatelům, čímž lze vyřešit situace, kdy chceme uživatelům zpřístupnit jen některé kamery. Pohledy lze uživatelům přiřadit v menu Uživatelé, kde se v sekci Uživatelské pohledy nachází příslušný nástroj.
45
7. Údržba systému Firmware pro IPCorder se neustále vyvíjí a vylepšuje, je proto vhodné jej udržovat aktualizovaný. Díky aktualizacím firmware získáte zdarma nové funkce a podporu nových zařízení.
7.1. Aktualizace firmware Aktualizační nástroj IPCorderu vyžaduje správně nastavené síťové rozhraní a přístup k Internetu. Pokud není Internet dostupný, je třeba provést aktualizaci ručně. Podrobný popis naleznete v příloze A – „Ruční aktualizace firmware“. Přejděte do menu Systém – Aktualizace firmware, zobrazí se údaje o vašem IPCorderu a nabídka dostupných firmwarů ke stažení. Tlačítkem
Zkontrolovat aktualizace
zaktualizujte seznam dostupných verzí. Pokud chcete nainstalovat některou
ze starších verzí, zaškrtněte ve spodním panelu pole Ukázat všechny verze.
Obrázek 7.1. Seznam verzí firmware
Kliknutím na tlačítko Nainstalovat
Stáhnout
IPCorder stáhne příslušnou verzi firmware. Popisek tlačítka se poté změní na
. Kliknutím na něj zahájíte automatickou instalaci nového firmware.
IPCorder se během instalace restartuje do servisního režimu, provede samotnou aktualizaci a nastartuje opět v běžném režimu. Během této procedury IPCorder nevypínejte ani nerestartujte, mohlo by dojít k poškození firmware a k nefunkčnosti IPCorderu. Po úspěšné instalaci budete přesměrováni na přihlašovací obrazovku.
46
Údržba systému
7.2. Tovární nastavení Obnovení do továrního nastavení zajistí, že IPCorder smaže veškeré záznamy i nastavení. Lze ho provést v menu Systém – Tovární nastavení tlačítkem
Tovární nastavení
. IPCorder se přepne do servisního režimu, kde
zobrazí dvě volby a potvrzovací tlačítko.
Obrázek 7.2. Obnovení továrního nastavení Volba Preserve network settings zajistí, že bude zachováno nastavení sítě. Pro zachování nastavení diskového úložiště (nebude třeba znovu vytvářet diskové pole, ale data budou odstraněna) zaškrtněte Preserve storage configuration (data will be erased).
7.3. Vypnutí a restart IPCorderu Pokud potřebujete IPCorder vypnout nebo restartovat, učiňte tak výhradně příslušným tlačítkem v sekci Systém – Vypnout / Restartovat. Při náhlém odpojení napájení by mohlo dojít k poškození diskového úložiště.
Obrázek 7.3. Vypnutí a restart systému
47
Údržba systému
7.4. Protokol systémových událostí Protokol najdete v menu Systém - Protokol systémových událostí. obsahuje informace o chodu zařízení. Informuje uživatele o běžných i nečekaných událostech.
Obrázek 7.4. Protokol systémových událostí
Protokol je možné exportovat tlačítkem Vyprázdnit protokol
Exportovat
do formátu CSV nebo HTML. Tlačítkem
záznamy o chodu IPCorderu vymažete.
48
Údržba systému
7.5. Záloha a obnovení nastavení Díky možnosti zálohy nastavení můžete některá nastavení IPCorderu vyexportovat do souboru. Tento soubor může být později použit pro obnovení nastavení nebo k přenesení nastavení na jiný IPCorder. Tuto funkci naleznete v menu Systém – Záloha a obnovení
Obrázek 7.5. Záloha a obnovení nastavení
49
Údržba systému
Klikněte na tlačítko
Zálohovat
zahrnout. Po kliknutí na tlačítko
, pojmenujte zálohu a vyberte oblasti nastavení, které si přejete do zálohy Zálohovat
se zobrazí dialog pro uložení souboru.
Obrázek 7.6. Záloha nastavení
50
Údržba systému
Obnovení nastavení probíhá obdobně. Budete vyzváni k nahrání souboru se zálohou, vyberete, oblasti nastavení, které chcete obnovit a tlačítkem
Obnovit
celou akci dokončete.
Obrázek 7.7. Obnovení nastavení
51
8. Kde hledat pomoc Před hlášením chyb prosím zkontrolujte, zda je váš IPCorder vybaven nejnovější verzí firmware. Je možné, že je v nové verzi již chyba odstraněna. Pokud budou potíže přetrvávat, obraťte se na obchodníka, který vám zařízení prodal, popřípadě přímo na technickou podporu výrobce, společnost KOUKAAM a.s., na adrese
[email protected]. Všechny vaše připomínky pečlivě prověříme a případné problémy opravíme. Za všechny podněty směrem k novým verzím firmware budeme vděční.
52
Příloha A. Ruční aktualizace firmware Jak bylo napsáno v kapitole 7.1 – „Aktualizace firmware“, automatická aktualizace nemusí v některých případech, například nedostupnosti Internetu, pracovat správně. Pak je potřeba provést aktualizaci ručně, což obnáší několik kroků:
A.1. Stažení klíče z IPCorderu Na stránce Systém - Aktualizace firmware se přepněte na kartu Režim offline aktualizace.
Obrázek A.1. Příprava aktualizace
Klikněte na tlačítko
Získat klíč zařízení
. Soubor s názvem product.key uložte do svého počítače, v dalším
kroku ho budete potřebovat. Nyní tlačítkem
Aktualizace firmware
přepněte IPCorder do servisního režimu.
To bude několik minut trvat, přistupme tedy k dalšímu kroku.
53
Ruční aktualizace firmware
A.2. Registrace IPCorderu V novém okně prohlížeče si otevřete stránku http://ipcorder.com/updates/register a postupujte podle následujícího obrázku.
Obrázek A.2. Registrace IPCorderu
Je třeba vytvořit nový uživatelský účet (1). Po úspěšné registraci následuje registrace vašeho IPCorderu (2). Přejděte na stránku Má zařízení - Registrace nového zařízení, kde budete vyzváni k nahrání souboru s klíčem vašeho IPCorderu, který jste v předchozím kroku uložili do počítače. Vyberte tedy soubor s klíčem a klikněte na tlačítko
Nahrát
.
Nyní už vidíte seznam firmwarů dostupných pro nově zaregistrovaný IPCorder. Požadovanou verzi firmware je třeba vygenerovat a následně uložit do počítače.
54
Ruční aktualizace firmware
Stažení systémového balíčku pro KNR-100 Pokud aktualizujete firmware v modelu KNR-100, ze stejné stránky musíte navíc stáhnout takzvanou systémovou část firmware. Dejte pozor, aby byla její verze shodná s verzí výše staženého firmwaru.
A.3. Nahrání firmware Nyní máme vše potřebné, můžeme tedy přistoupit k samotné aktualizaci. Přepněte se zpět do okna prohlížeče s IPCorderem, který mezitím nastartoval do servisního režimu.
Obrázek A.3. Ruční aktualizace Zde vás IPCorder vyzve k nahrání právě uloženého balíčku s firmware1. Vyberte tedy soubor s firmwarem a klikněte na tlačítko
Upload & Install Firmware
- začne samotný proces instalace. Vyčkejte na její dokončení, v
žádném případě během instalace IPCorder neodpojujte ani nerestartujte, mohlo by dojít k jeho poškození. Po dokončení aktualizace firmware se IPCorder přepne zpět do běžného režimu a nová verze vás přivítá přihlašovací obrazovkou. 1
U modelu KNR-100 také k nahrání systémového balíčku.
55
Příloha B. Popis jazyka Lua IPCorder od verze 2.1 využívá přepracovaný engine, umožňující snazší a lepší využití jeho potenciálu. Engine nyní využívá programovací jazyk Lua, což uživateli přímo umožňuje zadávat kód Lua do IPCorder Action editoru.
B.1. Základy jazyka Lua Jednoduchý příkaz může vypadat takto: log("Hello, world!")
Funkce log() je specifická funkce, která píše zprávu přímo do protokolu IPCorderu. Může být použita např. k ověření, že se daná akce spustila nebo k získávání jiných zajímavých informací. V níže zobrazeném screenshotu můžete vidět úspěšnou zprávu zapsanou pomocí spuštěného pravidla.
Obrázek B.1. výstup funkce log()
Funkce log() také podporuje vložení obsahu proměnné zařízení přímo do textu výstupu: log("Hello, world!"); -- příkazy oddělujte středníkem nebo mezerami log("stav vstupu camera1 je ${devices.camera1.input}"); -- vypíše hodnotu digitálního vstupu kamery camera1 -- a dvojice pomlček označuje začátek komentáře
56
Popis jazyka Lua
Lua podporuje také if konstrukt: if devices.camera1.input then log("brána je otevřená"); else log("brána je zavřená"); end
Doplňující informace Podrobnější úvod do jazyka Lua je možné nalézt v knize Programming in Lua (http://www.lua.org/pil/). Zdarma dostupná verze se věnuje verzi Lua 5.0; IPCorder používá Lua 5.1, ale rozdíl mezi oběma verzemi je zanedbatelný. Lua 5.1 má také rozšířený Reference Manual (http://www.lua.org/manual/5.1/manual.html) popisující všechny řídící struktury a vestavěné funkce.
B.2. Specifika prostředí Lua v IPCorderu Kvůli omezením hardware používá IPCorder jazyk Lua bez podpory desetinných čísel. Aritmetika tudíž podporuje jen celá čísla (na rozdíl od standardních distribucí jazyka). Všechny vstupní hodnoty jsou proto uváděny v násobcích, aby se zachovala přesnost - tedy např. teplota 24,5°C je v kódu pravidel reprezentována číslem 2450. Aby si systém zachoval integritu, veškerý uživatelem zadaný kód běží v uzavřeném prostředí s omezeným přístupem k systémovým proměnným (například proměnné zařízení, poskytující přístup k aktuálním hodnotám, jsou určeny jen ke čtení). Navíc je běh uživatelských akcí limitován, aby se vyloučila možnost uváznutí v nekonečném cyklu, který by znemožnil normální provoz systému. Tento limit je stanoven na 32 tisíc instrukcí virtuálního stroje na každé spuštění uživatelské akce. Mimo to prostředí Lua v IPCorderu poskytuje některé specifické funkce umožňující spolupráci IPCorderu s ostatními zařízeními.
B.3. Proměnné jednotlivých zařízení Každé zařízení je přístupné přes objekt devices. Například digitální vstup kamery devices.gate1.input.
gate1
se jmenuje
Proměnné zařízení v akcích
libovolné zařízení
libovolná kamera
dostupnost jméno
obsah
popis
recording
boolean
indikuje, zda kamera právě nahrává
fps
framerate přijatý IPCorderem * 1000
framerate streamovaný do IPCorderu; aktualizuje se pouze v případě streamování ze zařízení (např. nikoli, pokud je v režimu, kdy se nenahrává); tato proměnná nemá vztah k režimu živého videa.
bps
bity za sekundu přijaté IPCorderem
jako výše je tato proměnná relevantní pouze v případě že je streamováno do IPCorderu
connected
boolean
indikuje zda je nějaké zařízení připojeno a pracuje (nastaveno na 1 pokud je zařízení ve stavu "OK")
57
Popis jazyka Lua
obsah
popis
zařízení s jedním digitálním vstupem
input
boolean
indikuje stav digitálního vstupu
zařízení s více digitálními vstupy
Proměnné zařízení v akcích dostupnost jméno
input1 .. inputX
boolean
indikuje stav daného digitálního vstupu
IPCorder systémové zařízení (pouze modely s interním teplotním senzorem)
IPCorder systémové zařízení
zařízení se senzory (HWgroup zařízení)
Lua názvy tabulek dostupných senzorů, indexované jejich ID čísly. Vzhledem k tomu, že se jedná o komplexní proměnnou, nemůže být přímo zobrazena (například ve stavových monitorech), ale může být použita v kódu, jako je tento:
sensorList
tabulka
local output = ""; -- zde budeme tvořit náš řetězec for id, name in pairs(devices.hwgroup_poseidon.sensorList) do -- iteruj skrze všechny položky v tabulce local sensor_varname = 'sid_'..id -- zde používáme sid_
format proměnné -- ".." je operátor zřetězení v Lua local sensor_value = devices.hwgroup_poseidon[sensor_varname] -- pro získání položky odkazované pomocí proměnné používáme indexovou notaci output = output .. string.format("sensor %s (id %d) = %s, ", name, id, tostring(sensor_value)) end logf("hodnoty senzorů zařízení poseidon jsou: %s", output) -- logf je variantou funkce log, která si bere substituční argumenty jako parametry -- čistý log nepodporuje lokální proměnné, takže log("hodnoty senzorů zařízení poseidon jsou: ${output}") -- nebude v tomto případě fungovat
sensor_ nebo sid_
závisí na senzoru
obsahuje hodnoty senzorů s přiděleným jménem nebo ID
sessionCount
číslo
počet právě přihlášených uživatelů
freeSpace
diskový prostor v megabytech
volný diskový prostor
totalSpace
diskový prostor v megabytech
celkový dostupný diskový prostor
averageLoad
číslo
Obsahuje průměr z pěti minut hodnot systemload vydělen 100; menší je lepší, vyšší je známkou problémů s výkonem, přesné limity jsou závislé na modelu IPCorderu.
incomingTraffic
síťový provoz v bitech za síťový provoz přicházející do IPCorderu (nejčastěji nahrávání z kamery) sekundu
outgoingTraffic
síťový provoz v bitech za síťový provoz odcházející z IPCorderu (nejčastěji přehrávání záznamů a ostatní komunikace s klientem) sekundu
swapTotal
velikost paměti v kilobytech
celková velikost stránkovacího souboru virtuální paměti IPCorderu
swapUsed
velikost paměti v kilobytech
použitá velikost stránkovacího souboru virtuální paměti IPCorderu; méně je lépe
systemTemperature
teplota v setinách °C
vnitřní systémová teplota
58
Popis jazyka Lua
Proměnné zařízení v akcích
libovolné zařízení
dostupnost jméno
obsah
popis name (identifikace zařízení); může být použito se self proměnnou k výpisu jména zařízení v událostech aktivovaných zařízením.
name
řetězec log("událost aktivována pro zařízení ${self.name}")
Tabulka B.1. Proměnné jednotlivých zařízení
B.4. Akce zařízení Většina zařízení nabízí činnosti, které mohou sloužit k aktivaci jejich různých operací. V kódu IPCorderu jsou činnosti volány se jmennými argumenty, jako zde: devices.cam1.SetOut{output=1, value=false}; -- na zařízení deaktivuje výstup č. 1 Akce zařízení dostupnost Jméno akce
argument
příklad
běžná zařízení, závisí na modelu
output SetOut
číselné ID výstupu (závisí na zařízení)
nastavuje hodnotu digitálního výstupu na zařízení
value
SetLED povoluje/zakazuje status LED na zařízení (Nepleťte si to s LED přísvitem na některých modelech kamer) Record aktivuje nahrávání u kamer, které jsou v režimu "record on trigger" nebo "monitor events" AdminCGI odesílá CGI dotaz s nastavením přihlašovacích údajů administrátora UserCGI
systémové zařízení
odesílá CGI dotaz s nastavením přihlašovacích údajů viewera
CustomCGI odesílá HTTP GET příkaz na zadanou URL
devices.cam1.SetOut{output=0, value=true};
boolean, který aktivuje/deaktivuje výstup enabled boolean
devices.cam1.SetLED{enabled=false};
seconds Jak dlouho by mělo trvat nahrávání z kamery po obdržení akce path cesta path cesta
url URL, na které se má odeslat příkaz
devices.cam1.Record{seconds=30};
devices.cam1.AdminCGI{path="/cgi-bin/set_rtsp? rtsp_mode=1"};
devices.cam1.UserCGI{path="/axis-cgi/com/ptz.cgi? gotoserverpresetno=5"};
devices.system.CustomCGI{url="http://192.168.0.1/cgibin/foo.cgi"};
59
Popis jazyka Lua
Akce zařízení
běžná zařízení, závisí na modelu
dostupnost Jméno akce
argument
Move
direction
pohne PTZ kamery o jeden krok v daném směru
jedno z left, right, up, down, u některých modelů také home
Zoom
direction
zazoomuje PTZ kamery o jeden krok
jedno z wide, tele
Focus
direction
zaostří PTZ kamery o jeden krok
jedno z near, far, auto
Iris
direction
manipuluje clonou o jeden krok
jedno z open, auto, close
příklad devices.cam1.Move{direction="left"};
devices.cam1.Zoom{direction="tele"};
devices.cam1.Focus{direction="auto"};
devices.cam1.Iris{direction="close"};
PushMove Tyto akce jsou stejné jako výše uvedené; jediný rozdíl je v tom, že neprobíhají po jednotlivých krocích, ale pokračují, dokud není spuštěna akce s příkazem stop direction PushZoom
stejné jako step-PTZ, ale s extra hodnotou stop
devices.cam1.PushMove{direction="up"};
devices.cam1.PushZoom{direction="stop"};
PushFocus
devices.cam1.PushFocus{direction="near"};
PushIris
devices.cam1.PushIris{direction="stop"};
Recall
preset
pohne PTZ kamerou na přednastavenou pozici
jméno přednastavené pozice na kterou se chceme přesunout (některé značky jako např. Panasonic vyžadují místo jména pozice její číslo)
AddNote
note
přidá poznámku k zařízení
řetězec obsahující poznámku
devices.cam1.Recall{preset="home"};
devices.cam1.AddNote{note="apples 2kg"};
Tabulka B.2. Akce zařízení
B.5. Událost IncomingCgi IncomingCgi je uživatelem definovaná událost, která může být využita pro vstup libovolných dat do akce z vnějšího zdroje (např. čidlo dveří). Událost je vyvolána na základě HTTP požadavku zadaného pomocí URI. Požadavek může být zadán metodou POST nebo GET. URI pro metodu GET může vypadat nějak takto: http://192.168.0.1/event?foo=bar&baz=qux
kde 192.168.0.1 je adresa IPCorderu. Tato data zpracuje následující Lua kód: local output = "Incoming CGI request: "; for key,value in pairs(event.args) do output = output .. " (" .. key .. " = " .. value .. ")"; end logf("%s", output);
a do protokolu systémových událostí zapíše tento záznam:
60
Popis jazyka Lua
Incoming CGI request: (foo = bar) (baz = qux)
S takto získanými hodnotami lze v kódu pracovat libovolně.
B.6. Speciální proměnné Speciální proměnné v akcích jméno
popis
devices
read-only tabulka zařízení a jejich proměnných, popsaná výše Tabulka vyplněná nastaveními právě řešené události pro pravidla aktivních událostí. Obsahuje tyto položky: • device - jméno zařízení které vyvolalo událost (např. cam1)
event
• name - jméno události (např. CamMotionDetect) • timestamp - UNIX časová značka události • args - tabulka argumentů událostí, závisí na event zkratka k devices[event.device], tj. proměnným zařízení, které vyvolalo právě zpracovávanou událost. Může být užito v obecných akcích, které jsou například vyvolány při změnách stavu digitálních vstupů jakéhokoli zařízení:
self
if self.input ~= nil then log("zařízení ${self.name} má nyní nastaven vstup na hodnotu ${self.input}") if self.SetOut then -- i pokud má zařízení DO, přepni ho do opačného stavu self.SetOut{output=0, value=not self.input} -- pamatujte, že toto nemusí fungovat pro všechna zařízení, protože některá mohou mít výstupy číslovány od 1 end end
Tabulka B.3. Speciální proměnné v akcích Kromě předdefinovaných proměnných zařízení si můžete nastavit své vlastní a přistupovat k nim z různých akcí. Například následující kód vygeneruje zprávu, pokud jedna z vašich kamer zaznamená pohyb po více než hodině. Přidejte toto, pokud kamera zaznamená pohyb: local lastMd = self.lastMd self.lastMd = event.timestamp if self.lastMd == nil then logf('první MD na kameře %s', event.device) elseif lastMd + 3600 < event.timestamp then logf('první MD na kameře po %d sekundách', event.timestamp - lastMd) end
B.7. Funkce a knihovny Ze standardních funkcí jazyka Lua lze pro programování akcí využít funkce assert, error, ipairs, next, pairs, pcall, select, tonumber, tostring, type, unpack, z knihovny os jsou k dispozici pouze funkce os.date, os.difftime, os.time. K dispozici jsou také všechny funkce z knihoven string a table. Dále lze použít fuknce specifické pro IPCorder:
delay Funkce delay(seconds, callback) spouští callback funkci po zadaném počtu sekund. Samotná funkce delay se provede okamžitě a callback funkce běží nezávisle na hlavním kódu.
61
Popis jazyka Lua
Příklad: -- vytvoříme lokální funkci, která bude použita jako callback local function delayedDate() log("máme zpožděný výpis data"); end -- načasujeme funkci delay(5, delayedDate); log("zpožděný výpis data načasován"); -- tato zpráva se zobrazí okamžitě
Poznámka Chyby vyvolané při zpracování zpožděných funkcí se standardně nikde nezaznamenávají. To lze případně obejít pomocí funkce pcall(): local function wrong() devices.non_existing.SetLED{enabled=0} -- pokus o přístup k neexistujícímu zařízení (nebo akci) způsobí chybu end local function logWrongErrors() local result, errorMessage = pcall(wrong) if result == false then logf("Funkce selhala s chybou: %s", errorMessage) end end delay(1, logWrongErrors)
millidelay Funkce millidelay(milliSeconds, callback) funguje stejně jako delay, jen používá milisekundy místo sekund. Minimální nastavitelné zpoždění je 50 ms. Callback funkce může být také definována přímo v parametru: devices.cam1.SetOut{output=1, value=1}; -- aktivuje první výstup kamery cam1 milliDelay(500, function() devices.cam1.SetOut{output=1, value=0}; end); -- nastav výstup na off po 500 ms
log Funkce log(zpráva) vypíše zprávu do protokolu systémových událostí IPCorderu přístupného přes webové rozhraní IPCorderu. Zpráva může obsahovat substituční kódy v podobě ${proměnná}, které budou nahrazeny hodnotami globálních proměnných v systému. Příklad:
62
Popis jazyka Lua
log("Hello, world!") log("Aktuální zatížení IPCorderu je ${devices.system.averageLoad}, stav kontaktu brány je ${devices.camera1.input}") log("Právě zpracováváme událost ${event.name} ze zařízení ${event.device}")
Poznámka Substituce provedená pomocí kód nebude fungovat:
log()
nemůže přistupovat k lokálním proměnným, proto následující
local foo = 1; log("hodnota foo je ${foo}"); -- Nebude fungovat
Toto se dá ovšem vyřešit pomocí globální proměnné: foo = 1; -- foo je nyní globální proměnnou log("hodnota foo je ${foo}");
nebo pomocí funkce logf, která toto omezení nemá: local foo = 1; logf("hodnota foo je %s", foo);
logf Funkce logf(messageFormat, ...) funguje stejným způsobem jako log(), ale messageFormat je řetězec obsahující substituční kódy, které jsou nahrazeny dalšími parametry funkce logf(). Nejdůležitější parametry pro specifikování formátu jsou: •
%s
- výstup jako řetězec
•
%d
- výstup jako číslo
Příklady: logf("zařízení: %s, událost: %s", event.device, event.name) -- vypíše jméno zařízení a událost pro automaticky prováděné akce local incomingBytesPerSec = devices.system.incomingTraffic local incomingKbitsps = incomingBytesPerSec * 8 / 1024 logf("příchozí traffic IPCorderu: %d kb/s", incomingKbitsps) -- toto jde samozřejmě napsat kratší variantou: logf("příchozí traffic IPCorderu: %d kb/s", devices.system.incomingTraffic * 8 / 1024)
63
Popis jazyka Lua
Poznámka: Přesné formátovací volby, které funkce log() přijme, jsou identické s Lua funkcí string.format (http:// www.lua.org/manual/5.1/manual.html#pdf-string.format), a z většiny s funkcí printf() v jazyku C.
mail Funkce mail(to, subject, text) pošle e-mail zadanému příjemci s daným textem. Předmět a text e-mailu používají stejné rozšíření kódu ${proměnná} jako funkce log(). Ve výchozím nastavení je e-mail se stejným předmětem posílán maximálně jednou za 5 minut. mail("[email protected]", "Aktuální vytížení IPCorderu", "Aktuální vytížení je ${devices.system.averageLoad}")
Pokud je následující kód nastaven pro akci aktivovanou událostí zařízení, bude posílat nejvýše jeden e-mail za minutu za každé zařízení. Pokud bude akce spuštěna pro dvě různá zařízení v krátkém čase, budou poslány dvě zprávy (protože každá bude mít jiný předmět). mail("[email protected]", "Nastala událost u zařízení ${event.device}", "Příchozí událost");
Následující kód má pevně stanovený předmět zprávy, takže všechny zprávy budou považovány za identické a bude uplatněno výchozí nastavení “jedna zpráva za 5 minut”. mail("[email protected]", "Nastala událost", "Příchozí událost od zařízení ${event.device}");
Maximální frekvence zasílání zpráv pomocí funkce mail může být nastavena pomocí dvou volitelných parametrů: minIntervalSec a intervalKey. Parametr minIntervalSec umožňuje nastavit přesný interval zasílání zpráv, výchozí hodnota je 300 (5 minut). Parametr intervalKey je používán interně pro zjištění, zda už byla v minulosti odeslána stejná zpráva; pokud není parametr nastaven, je použit výchozí předmět zprávy. Tyto volitelné parametry umožňují lepší ovládání intervalů pro opakované zasílání e-mailů. Následující kód nastaví minimální interval pro opakované zasílání zpráv na 30 minut a také nastaví určitý intervalový klíč tak, aby všechny zprávy odeslané tímto kódem byly zařazeny do stejné kategorie limitu pro opakované odesílání zpráv, i když jejich předměty mohou být různé. mail("[email protected]", "Nastala událost u zařízení ${event.device}", "Some event is coming", 30*60, 'some-event-coming');
Funkce mail() vrací boolean hodnotu (true nebo false), která určuje, zda byla zpráva předána k odeslání nebo byla zablokována filtrem pro omezení počtu zpráv v daném časovém intervalu.
64
Popis jazyka Lua
local ret = mail("[email protected]", "mail", "hello", 60) if ret == true then log("pokoušeli jsme se odeslat e-mail") -- upozorňujeme, že e-mail nemusí být i v této chvíli ve skutečnosti odeslán -- podrobnosti o této situaci budou zaznamenány do protokolu systémových událostí IPCorderu else log("e-mail nebyl odeslán, protože by to bylo více než jednou za minutu") end
Pomocí vestavěných funkcí jazyka Lua lze vytvořit komplexní e-mail: local output = 'toto je přehled proměnných na vašem IPCorderu\n' output = output .. 'for ' .. os.date() .. '\n\n' for device, variables in pairs(devices) do -- přidej pěknou hlavičku pro každé zařízení v systému output = output .. string.format('=== %s ===\n', device) -- pak projdi jeho proměnnými for name, value in pairs(variables) do -- a přidej řádek výstupu pro každou hodnotu, která jde nějak smysluplně zobrazit if type(value) == 'number' or type(value) == 'string' or type(value) == 'boolean' then output = output .. string.format('%s = %s\n', tostring(name), tostring(value)) end end output = output .. '\n' end mail('[email protected]', 'Přehled proměnných IPCorderu', output)
toboolean Funkce toboolean(value) převede danou hodnotu na boolean (true nebo false) a v současné době se používá pro normalizaci hodnot pro porovnání v kódu generovaném z GUI. toboolean používá následující konverze: typ
pravidlo pro převod
čísla
všechna nenulová čísla jsou true
toboolean(1) --> true toboolean(0) --> false toboolean(-1) --> true (-1 je nenulová hodnota)
boolean
nepravda je false, pravda je true
toboolean(true) --> true toboolean(false) --> false
řetězec
všechny neprázdné řetězce jsou true
toboolean('hello') --> true toboolean('false') --> true (toto je také neprázdný řetězec) toboolean('') --> false
tabulky
neprázdné tabulky jsou true
toboolean({1}) --> true (neprázdná tabulka) toboolean({false}) --> true (také neprázdná tabulka) toboolean({}) --> false
speciální hodnota nil považována za false
toboolean(nil) --> false
všechny ostatní hodnoty jsou posuzovány jako true
toboolean(function() return false end) --> true
nil ostatní
příklady
Tabulka B.4. Funkce toboolean
65
Popis jazyka Lua
B.8. Příklady PTZ Preset tour První příklad každých 5 sekund otočí kameru na novou pozici, tyto pozice prochází v cyklu neustále dokola. Tento kód bude řídit akci obsluhující událost system.Input_update: -- tady je definována verze a test, zda už ji nemáme local myVersion = 1 if _G.scriptVersion == myVersion then return end -- nastavíme proměnnou indikující, že používáme tuto verzi logf("Running script version %d (from previous %s)", myVersion, tostring(_G.scriptVersion)) _G.scriptVersion = myVersion -- pole s id presetů, kterými chceme procházet local presets = {} presets[0] = 'home' presets[1] = 'second' presets[2] = 'third' -- proměnná určující naši iteraci local moveIteration = 0 -- funkce, která provádí jednu iteraci function moveCamera() -- ověření, zda někdo nespustil nějakou novou verzi if _G.scriptVersion ~= myVersion then return end -- posun na další pozici v našem počítadle moveIteration = moveIteration + 1 if moveIteration > 2 then moveIteration = 0 end -- otočení na další pozici logf("Rotating to preset %s", presets[moveIteration]) -- devices.camera1.Recall{preset=presets[moveIteration]}
end
-- a spustíme sami sebe za 5 sekund delay(5, moveCamera)
-- spustíme rekurzivní funkci poprvé, ta se pak bude v cyklu spouštět neustále moveCamera()
PTZ Preset tour s tlačítky stop a restart Druhý příklad je rozšířením předchozího příkladu o tlačítka pro zastavení a návrat na výchozí pozici. Opět kód pro akci obsluhující událost system.Input_update:
66
Popis jazyka Lua
-- tady je definována verze a test, zda už ji nemáme local myVersion = 1 if _G.scriptVersion == myVersion then return end -- nastavíme proměnnou indikující, že používáme tuto verzi logf("Running script version %d (from previous %s)", myVersion, tostring(_G.scriptVersion)) _G.scriptVersion = myVersion -- chceme se točit if _G.doPatrol == nil then _G.doPatrol = true end -- pole s id presetů, kterými chceme procházet local presets = {} presets[0] = 'home' presets[1] = 'second' presets[2] = 'third' -- proměnná určující naši iteraci local moveIteration = 0 -- funkce, která provádí jednu iteraci function moveCamera() -- ověření, zda nemáme končit if _G.scriptVersion ~= myVersion then return end if not _G.doPatrol then _G.cycleRunning = false return end _G.cycleRunning = true -- posun na další pozici v našem počítadle moveIteration = moveIteration + 1 if moveIteration > 2 then moveIteration = 0 end -- tady je otočení na další pozici logf("Rotating to preset %s", presets[moveIteration]) -- devices.camera1.Recall{preset=presets[moveIteration]}
end
-- a spustíme sami sebe za 5 sekund delay(5, moveCamera)
-- spustíme rekurzivní funkci poprvé, ta se pak bude v cyklu spouštět neustále moveCamera()
Další dvě akce budou navázány na tlačítka, která se následně objeví v přehrávači videa. Tlačítko stop: _G.doPatrol = false
67
Popis jazyka Lua
Tlačítko restart: _G.doPatrol = true if not _G.cycleRunning then moveCamera() end
68
Závěr Výrobce nenese odpovědnost za jakékoli technické nebo typografické chyby a vyhrazuje si právo na provedení jakýchkoli změn v produktu nebo v tomto uživatelském manuálu bez předchozího upozornění. Tyto změny budou oznámeny prostřednictvím webových stránek produktu www.ipcorder.com. Výrobce neposkytuje záruky jakéhokoli druhu s ohledem na informace obsažené v tomto uživatelském manuálu, ani na případné odvozené záruky prodejnosti produktu či jeho vhodnosti pro konkrétní použití. Výrobce neposkytuje zejména záruky za vady způsobené nesprávným použitím produktu, nerespektováním pokynů a doporučení uvedených v uživatelském manuálu a vady způsobené neodbornou činností třetích osob mimo autorizovaný záruční servis výrobce. Věříme, že s naším produktem budete spokojeni. V případě dotazů nebo připomínek týkajících se funkčnosti produktu IPCorder nás prosím kontaktujte. Tým KOUKAAM KOUKAAM a.s. Kaplanova 2252/8 Praha 4, 148 00 Česká republika www.koukaam.se © 2012 KOUKAAM a.s. Všechna práva vyhrazena.
69