michaels píše:Samozřejmě využití tohoto nemusí být jen pro přesměrování hovoru na nějaké číslo, ale hovor se může ukončit a dále ovládat IoT jako jsou relé atd.
Co se týče IoT, tak mi jako hlavní překážka většího nasazení připadá největší problém to, jak ono chytré zařízení vlastně ovládat, když veřejných ip adres je málo a většina lidí svoji ip adresu nemá. A IP adres verze 6 je sice spousta, ale většina poskytovatelů to nepodporuje. (Výjimkou je, zdá se, O2 ADSL/VDSL - minulý týden jsem si to vyzkoušel s fritzem a hned měl můj počítač i ipv6 - vše fungovalo dále, že by to nikdo ani nepoznal, jen byl můj počítač najednou dosažitelný na ipv6).
Často nezbývá tedy než mít alespoň jednu veřejnou stálou ip adresu, přes niž to všechno nějak tunelovat. Tedy problém se pro běžné kutily komplikuje. Hlavně tím, že neexistuje jediné řešení, které by bylo jednoduché, zdarma a fungovalo vždy. Nebo o něčem víte?
A tak mne napadá, že ovládat chytré IoT zařízení telefonním hovorem nemusí být až tak hloupé. Bohužel ale naše nová služba s voláním URL to moc neřeší, protože ve většině případů není možné prostě přímo zavolat webové stránky zařízení, protože jsou za několika NATy.
Se zařízením by ale mohlo být možno komunikovat přímo přes SIP, který sám o sobě řeší průchod přes NAT a v kombinaci s Odorikem můžete snadno hlídat i dostupnost zařízení. Necháte si posílat email, když se změní počet registrovaných zařízení na lince.
Různé složitější povely by bylo možné posílat pomocí SIP Chatu SIP SIMPLE. Jednodušší povely jdou přímo z mobilu prozvoněním různých čísel.
Zkoušel jsem si v Ruby napsat vlastního minimalisticky SIP klienta, bez použití složitých externích knihoven.
http://www.odorik.cz/w/ruby_sip_client
Není to sice triviálně jednoduché, ale není to ani nic extra složitého. SIP klient se umí zaregistrovat a reagovat na příchozí hovory. Rozšířit jej, aby reagoval i na příchozí chatovací zprávy a pokyny v nich, by asi nemělo být moc složité. Bohužel programovat síťové aplikace neumím a Ruby asi není nejlepší jazyk pro širokou odbornou veřejnost. Ale mít svůj jednoduchý SIP script jako jedna z univerzálních možností jak vyřešit problém s nedostatkem veřejných ip adres, to určitě je.
Zařízení by šla pak udělat webová stránka na libovolném hostingu, co podporuje php. Ten web by prostě komunikoval s oným chytrým zařízením přes SIP. Php skript by tak nemusel mít svoji vlastní veřejnou ip adresu a mohl by běžet na jakémkoli levném/zdarma hostingu.
Pokud by se chytré zařízení mělo řídit přes IVR menu přes telefon, asi nezbývá, než na ono chytré zařízení nainstalovat Asterisk. Dnes je možné nainstalovat Asterisk i na obyčejný router s openWRT v ceně za 700 Kč. Problém je opět jen v tom, že to není pro každého úplně triviální.
Jiné řešení by mohlo být zvolit jiný podobný protokol jako je SIP. Myslím třeba jabber, pro který je snad více dostupných knihoven.
Bohužel v ČR je to tak, že velcí poskytovatelé jako UPC mají ipv4 adres stále dost a nic je tedy vážně nenutí ivp6 poskytovat. Pro ty menší je to komplikace, kterou by využila jen menšina, navíc internetu běžícím na ipv6 je v ČR naprostá menšina. Jsou ale země, kde na ipv6 běží až 50 % provozu.
p.s.
Jak přes jediný USB port spolehlivě řídit množství relátek - může spínat např. elektrické přístroje a čidel (vrací stav sepnuto a rozepnuto - kontrola stavu dveří oken, pohybových čidel) jsem popsal zde.