Přeskočit na hlavní obsah

Principy návrhu

Věříme, že se věci mají dělat správně, a proto jsme přijali následující návrhová rozhodnutí.

Radiová frekvence

Pro radiovou komunikaci používáme frekvenci 868/915 MHz. Jde o bezlicenční pásmo určené pro krátké signální zprávy.

Zatěžovat vaše IoT zařízení pásmem 2,4 GHz a bojovat se streamováním po Wi-Fi, Bluetooth, ZigBee a dalšími protokoly spolehlivosti systému nepomůže.

Jde také o základní fyzikální pravidla – s vyšší frekvencí získáte horší prostupnost skrz zdi a další překážky. Také energetická účinnost je lepší na nižší frekvenci. Jak už bylo řečeno – nízkoodběrové návrhy jsou náš cíl!

Programovací jazyk

Většina vývojářů má poněkud zaujaté názory na svůj oblíbený programovací jazyk a my jim plně rozumíme. Ve světě embedded systémů však platí, že pokud chcete ze své platformy vytěžit maximum a ta musí běžet několik let bez restartu a s co nejnižší spotřebou energie, musíte se držet nástrojů, které takové požadavky prostě splňují.

Proto jsme jako technologii pro vývoj firmwaru zvolili jazyk C. Se solidním, v praxi prověřeným toolchainem GCC a tradičním buildem založeným na Makefile budou vaše projekty zajištěny do budoucna.

Ať už se použití vysokoúrovňového interpretovaného jazyka jako Python, Javascript apod. může zdát jakkoli lákavé, z hlediska spotřebovaných zdrojů a doby vykonávání si vždy povedete horší než s dobře napsaným kódem v C.

Na druhou stranu jsme vytvořili framework – firmware SDK – který vám vývoj firmwaru usnadní, a práce s API působí jako práce ve vysokoúrovňovém jazyce.

Asynchronní architektura

Do embedded úrovně jsme přenesli několik inovativních technik – nejvýraznější z nich je programovací vzor podobný asynchronnímu přístupu. Vestavěný scheduler vám zjednoduší život s úlohami a se správou napájení platformy – vše se provádí automaticky za vás a vy se soustředíte na vývoj aplikace místo nízkoúrovňových detailů.

Také na straně hubu se MQTT drží asynchronních konceptů. To je skvělá příležitost navrhnout vlastní IoT systém v jednom, jednotném, asynchronním konceptu.

Přístup „CLI first"

Command Line Interface (CLI) je v systému TOWER občan první kategorie. Právě tím se odlišujeme od většiny ostatních embedded IoT platforem. Přístup přes CLI zdůrazňujeme na prvním místě. Má řadu výhod – především můžete všechny operace provádět na takzvaných „headless" strojích – jako jsou servery, embedded počítače apod. Dále můžete snadno zapojit služby průběžné integrace, které dokážou automatizovat váš pracovní postup.

Navíc ve spojení s Gitem, klientskými nástroji MQTT, logovacím mechanismem apod. rychle uvidíte, že váš pracovní postup je poměrně plynulý a efektivní.