Musíš míň hrát a víc se učit programovat!!!
)
Hele, termostat se dá udělat i úplně na koleni amatérsky, ale pokud do toho jdeš úplně bez znalostí, připrav se, že narazíš na spoustu slepých uliček a celkově ti to bude docela dlouho trvat, než to celý rozchodíš tak, abys byl spokojenej. Dost bych doporučil sledovat přednášky, články a blog Petra Stehlíka, protože to je člověk, kterej je v elektrotechnice amatér, hraje si s tím pro radost a píše postřehy, které se perfektně hodí pro amatéry. Spoustu slepých uliček ti ušetří.
Než s tím začneš, doporučoval bych nepodcenit návrh. Celkově ti s tím neporadím, ale měl bych pár tipů ke zvážení:
1. RPi je dobrý na to, že tam můžeš použít plnotučné technologie, které znáš (jako třeba ten X-server, klasický www server, balíčkovač, python atd.) - tj. můžeš tam rychle rozjet poměrně složité věci. Ale máš tam podstatně složitější software stack a hardware samotný je dělaný primárně pro nízkou cenu. Takže se stabilitou to nemusí být kdovíjaký a jenom těžko na RPi můžeš dosahovat nízké latence (kdybys třeba něco chtěl řídit rychlostí jánevím nad sto kilohertz, už budeš mít asi docela problém). Čili RPi bych rozhodně nepoužil na řízení něčeho, co může způsbit škodu - pokud např. ten kotel nemá nějakou vnitřní logiku, která by ho chránila v situaci, kdy se RPi nějakým způsobem zblázní. Třeba můj kotel má spínání, ale i když bys kontakt trvale sepnul, nebude topit pořád - občas se vypne sám nezávisle na tom, co mu radí ovladač. To si určitě předem ověř.
2. Druhá nevýhoda RPi je (na embedded zařízení) poměrně vysoká spotřeba. Prostě budeš k tomu potřebovat síťový napaječ a tímpádem zásuvku, což může být otravný. Mít doma jedno, dvě RPi je v pohodě, ale deset jich doma mít nechceš.
3. Proto se vyplatí si předem promyslet, jestli ti aspoň na některé části systému nebude stačit menší deska. Nezatracuj Arduino, je to perfektní věc a spoustu věcí zvládne naprosto dostatečně! S trochou snahy ho můžeš provozovat i několik měsíců (až dva roky) na baterku a je parádně levný (nejmenší desky z Číny už někde od šedesáti korun). Jediná nevýhoda ATmega328 (čip majoritního typu Arduina) je, že moc nezvládne šifrování.
4. Hodně zajímavá možnost je taky ESP8266. Brutálně levná a s wifi "zadarmo". Taky ale pozor na stabilitu!
5. Komunikační protokol: silně bych doporučil nevymýšlet nic svýho a použít MQTT. Je to fantastická věc, výborně navržená, jednoduchá, ideální pro mebedded zařízení, ale zároveň nekonečně rozšiřitelná. Pokud by i MQTT bylo z nějakého důvodu moc, použít MQTT-SN, které je speciálně navržené pro sensorové sítě.
6. Linková vrstva: wifi je dobrý, pokud to chceš rozjet rychle a moc se s tím nepárat. Vede ale k větší spotřebě, vyšší ceně (pokud nepoužiješ ESP8266) a můžeš mít problémy s šifrováním. Lepší varianta pro jednodušší nekritický věci (měření teploty apod.) jsou nelicencovaný pásma 433 a 868MHz. Na ně se dá použít buď jednoduchý levný vysílač:
http://www.aliexpress.com/item/1Lot-1-pair-2pcs-Best-prices-433Mhz-RF-transmitter-and-receiver-link-kit-for-Arduino/32318951712.html který neumí fakt nic jinýho než vysílat nebo přijímat (a to ještě s velkou chybovostí) nebo inteligentnější nRF24L01 nebo nRF905 které mají zabudovanou docela pokročilou logiku - např. umí (aspoň to nRF24L01, u druhýho si nejsem jistej) samy o sobě rozběhnout MESH síť - t.j. automaticky posílat pakety "jeden přes druhýho, na kterýho vidí" správným směrem. Je to hodně dobrá volba v případě, že chceš mít sensorů víc (např. měřit teplotu v každém pokoji). Hlavně proto, že dosah je trochu horší než u té první, stupidní varianty. Zvlášť u desek bez externí antény, s těma mám zkušenost, že mají dosah spíš jenom přes jednu stěnu, víc jsem uspokojivě nedosáhl. Ten jednoduchý vysílač zase v pohodě propálí celej barák.
7. Řešení UI webem bych vůbec nezatracoval! Web rozhodně nemusí být škaredší než nějaký jednodochý UI toolkit. Spíš bych řekl, že naopak. A máš tam zadarmo dálkový přístup. Pokud použiješ nějaký lokální prográmek s UI toolkitem, stejně časem zjistíš, že bys to chtěl ovládat vzdáleně třeba z práce, a stejně skončíš u webu
Takže myslím, že než hledat vhodný UI toolkit, možná by se vyplatilo trochu zainvestovat do studia moderních webových technologií (různé ty jQuery, D3 apod.) Jako "terminál" bys pak mohl použít nějaký levný tablet z Ebaye, na kterém by jel jenom prohlížeč.
8. Pokud tohle fakt určitě nechceš, na jednodušší terminál by se mohlo hodit STM32F429, které má zabudovaný dotykový displej. Ale počítej s o hodně větší pracností - budeš si tam muset rozjet nějaký RTOS a grafickou knihovnu. Práce s toolchainem a knihovnami není tak pohodlná jako u Arduina, je to občas trochu porod. Mně osobně, když jsem si s tím trochu hrál, se docela líbila kombinace ChibiOS+uGFX.
...uff, to je román tyvole, už budu radši končit