Skriptování v IoT: flexibilita, udržitelnost a ochrana

Jedním z častých problémů při nasazení IoT zařízení do reálného provozu je nutnost upravovat firmware pokaždé, když zákazník potřebuje něco specifického. Ať už jde o jinou frekvenci odečtů, práci s proprietárním protokolem nebo třeba úpravu způsobu filtrování dat, každá taková změna zpravidla znamená novou verzi firmware, nové testování a často i fyzické nahrávání do zařízení. Takový přístup není dlouhodobě udržitelný – zvlášť pokud zařízení provozujete ve stovkách nebo tisících kusů a chcete nasazovat pořád stejnou, otestovanou verzi zařízení.
Jedním z osvědčených způsobů, jak se tomuto scénáři vyhnout, je využití řešení za pomoci skriptu. Jinými slovy: nechat hlavní logiku zařízení na firmwaru a zároveň umožnit, aby se konkrétní chování dalo upravovat skriptem, oddělenou vrstvou, která zůstává mimo hlavní systémové funkce, ale může je ovlivňovat. Můžete si řešení představit jako API konektor nad softwarovým řešením, kdy s ním můžete pracovat i jiným, než běžným způsobem (například přes grafické rozhraní), ale neriskujete zanesení kritického bugu do samotného softwaru.
V ACRIOS zařízeních pracujeme se třemi softwarovými vrstvami
- Zavaděč (neboli boot loader) pouští zařízení. Umožňuje zařízení bezpečně nastartovat a taktéž obstarává v případě nutnosti aktualizaci vrstvy nadřazené, tedy firmwaru
- Firmware je řídící program. Obstarává všechny funkcionality zařízení, taktéž provádí akce vyžadované vrstvou uživatele.
- Skript je nejvyšší vrstva, která vykonává akce definované vyžadované uživatelem. Je to vlastně program v programu, kdy firmware má své API a v rámci skriptu voláme už konkrétní funkce.
Skript je napsán v jednoduchém, ale výkonném jazyce, v našem případě Lua, a jeho cílem je dát zákazníkovi kontrolu, bez nutnosti zasahovat do systémových vrstev. Díky tomu lze už ve výrobě do každého zařízení nahrát jiný skript podle toho, pro jakého zákazníka je určené. Zařízení tak může být fyzicky stejné, ale chovat se zcela jinak – a bez nutnosti dalších kroků ze strany zákazníka při nasazení.
To ale není jediný přínos. Skriptování dává zákazníkovi možnost reagovat rychle na změnu požadavků, prostředí nebo třeba legislativy. Změní se intervaly odečtů? Potřebujete jiný formát dat? Nový export? To vše je možné provést změnou skriptu, ať už přímo v terénu nebo na dálku. Firmware zůstává nedotčený, testování je výrazně jednodušší a vývojový cyklus kratší.
Skriptování a ochrana know how
Skriptování má zásadní výhodu i z hlediska ochrany know-how. Představte si situaci, kdy si zákazník u výrobce objedná specifické chování zařízení, které vyžaduje rozsáhlý vývoj. Pokud je taková logika implementovaná přímo do firmware, často ji výrobce po čase použije i jinde, ať už znovu prodá jinému zákazníkovi, nebo ji začne nabízet jako součást produktu. Výsledkem je, že know-how, do kterého zákazník investoval, se rozptýlí a jeho konkurenční výhoda zmizí.
V případě skriptovaných zařízení má zákazník možnost si nechat skript vytvořit na míru a chránit jej například heslem nebo přístupovým právem. Získá tak unikátní funkcionalitu, která zůstává jen jeho, nikdo další se k ní bez jeho svolení nedostane. I to je jeden z důvodů, proč řada partnerů skriptování vyžaduje jako standard.
Nemusíte se přitom bát, že by skriptování znamenalo nutnost programovat. Naopak – ideální je, pokud výrobce připraví skript na míru a zákazník má možnost jej upravovat přes přívětivé rozhraní. Na takovém prostředí pracujeme i my v ACRIOS, aby si naši zákazníci mohli nastavení skriptu přizpůsobit bez nutnosti znalosti každého řádku kódu. A pokud máte technické zázemí nebo tým, který si chce skripty psát sám, i zde nabízíme plnou podporu a otevřený přístup. Věříme, že jako vlastník zařízení byste měli mít i možnost plně rozhodovat o tom, co přesně vaše zařízení dělá.
FAQs
Skriptování je dodatečná softwarová vrstva, která umožňuje spouštět vlastní logiku přímo na zařízení, aniž by bylo nutné zasahovat do core firmwaru. U zařízení ACRIOS je tato vrstva napsaná v jazyce Lua a může řídit chování jako filtrování dat, frekvenci odečtů nebo specifické zpracování protokolů, přičemž firmware zůstává stabilní a bezpečný.
Stabilní firmware lze nasazovat napříč projekty a měnit jen uživatelskou logiku tam, kde je potřeba. Snižuje tak riziko chybovosti i četnost firmware aktualizací.
Narozdíl od logiky pevně zabudované ve firmwaru, která se často používá napříč projekty, mohou být skripty vytvořeny pro konkrétního zákazníka, zabezpečeny heslem a oddělené od zbytku systému. Díky tomu zůstává intelektuální vlastnictví spojené s vlastní funkcionalitou plně v rukou zákazníka.
Není to nutné. Scripting neznamená, že se zákazník musí stát vývojářem. ACRIOS poskytuje skripty na míru konkrétním use-caseům. Do budoucna bude navíc k dispozici zjednodušené konfigurační rozhraní, které umožní upravovat základní parametry bez zásahu do kódu.
Plné skriptovací rozhraní je ideální pro integrátory a zkušené uživatele, ale zařízení ACRIOS jsou navržena tak, aby bylo možné skriptování používat i bez programátorských znalostí, zvlášť pokud jsou k dispozici předpřipravené šablony.
Ano. Zařízení podporují vzdálené aktualizace skriptů přes NB-IoT, takže integrátoři mohou rychle reagovat na změny požadavků bez nutnosti fyzického zásahu.
Kompletní dokumentaci ke skriptovacímu API naleznete zde.
Chcete vlastní logiku bez zásahu do firmware? Skriptování vám umožní plně ovládnout chování zařízení – bez kompromisů. Ozvěte se nám, pokud chcete otestovat vlastní nasazení nebo pro konzultaci ohledně možností skriptování.
































