Webový a databázový server

Senzory i ústředna data pouze měří a posílají, ale neumí je uschovat a zobrazit. (K Arduinu lze připojit LCD i grafický displej a existují i jednoduché webservery, ale možnosti jsou velmi omezené). Proto jsem hledal stránky umožňující tzv. Internet věcí (Internet of Things), které zprostředkovávají datové služby a grafické rozhraní pro jednoduché „věci“ připojené na internet. Asi nepsanou jedničkou v tomto oboru jsou stránky www.pachube.com (z nějakého důvodu se to vyslovuje „pečbej“). Stránky jsou to bezesporu zajímavé, ale v inkriminované době měly dvě zásadní nevýhody: Zdarma dovolovaly uschovat data pouze měsíc, neuměly zobrazit více průběhů v jednom grafu a datový přenos zbytečně zatěžují posíláním mapy s umístěním čidla, což u vlastního domu nepotřebujeme. Existují i jiné podobné stránky, např. open.sen.se (toho času v betaverzi s přístupem jen pro zvané – nechal jsem se tedy pozvat). Nakonec jsem se rozhodl nezápasit s omezeními hotových řešení, ale něco se přiučit a jednoduché stránky si naprogramovat sám včetně PHP skriptů a MySQL databáze. Hotové služby ale nezatracuji a posílání (části) dat na Pachube jsem v projektu ponechal pro zájemce, kteří si web budovat nechtějí.

Webový server lze provozovat buď doma (na PC pod Windows, na různých linuxových zařízeních či dokonce na diskovém úložišti dat, např. www.synology.com). Druhou možností je využít „hostingové“ služby a datový prostor si pronajmout. Existují i služby zdarma, kde „zaplatíme“ jen sledováním nepříliš vtíravé reklamy automaticky vložené do našich www stránek. Pokud nepotřebujete provozovat server i z jiných důvodů, doporučuji pro úsporu investic a spotřeby energie (i ten server něco „žere“) právě možnost externího hostingu. Já si vybral www.endora.cz.

Dostupnost externího webového serveru závisí na jeho správném provozu (tj. provoz vašeho systému závisí např. na dodávce elektřiny ve zcela jiné, často předem neznámé, části světa) a samozřejmě na dostupnosti internetového spojení.

Pro odesílání dat lze využít lokální mezipaměti: při chybě zápisu na server můžu data uložit např. na SD kartu a po obnovení přístupu k serveru je zpětně zapsat i se správnými časovými údaji.

Pokud by některé důležité části systému závisely na trvalém přístupu k datům, asi nezbyde, než si takový server provozovat sám i se všemi důsledky (zálohované napájení či datové okruhy atd.) To ale asi překračuje rámec běžných domácích aplikací.

Ukázku s grafickými výstupy můžete najít na stránkce Ukázka.