Automatizace pomocí SMS zpráv – díl I.

Arduino je jedna z nejdostupnějších platforem pro vytvoření aplikací domácí automatizace typu spínání obvodů, měření a sběr dat, ovládání pohonů atp. Nastává ovšem otázka, jak sestavy tohoto typu vzdáleně ovládat, a to nejlépe pomocí mobilního telefonu, bez kterého se v dnešní době neobejdeme a nosíme ho pořád u sebe. Samozřejmě, možným řešením je připojení Arduino sestavy k internetu a komunikace prostřednictvím internetové sítě. Zajímavou možností je také řešení v podobě sítě LPWAN a modulů k tomu určených. Nicméně, tato řešení jsou pro méně technicky zdatného uživatele oříškem, jelikož by se musel potýkat například s problémy, jak vlastně dostat na chatu, zahrádku či do stodoly ten zpropadený internet nebo jak se vypořádat se zdánlivě banální věcí, jako pingnout Arduino z internetu. Výzvou je rovněž naprogramování sofistikovaného responzivního softwaru.

Tuto bariéru můžete překonat pomocí mobilní aplikace Adeon, která nabízí hotové řešení pro zasílání „automatizačních” SMS zpráv. SMSky přece posíláme dnes a denně svým blízkým, tak proč je neposílat i Arduinu :-)

Mobilní aplikace Adeon

Aplikace Adeon nabízí  uživatelům přehledné a jednoduché prostředí pro odesílání příkazů zařízením, jež jsou připojena k GSM síti. Mobilní síť je dostupná i v odlehlých oblastech, což z ní dělá nejdostupnější telekomunikační prostředek pro vzdálené ovládání hardwaru.

 

 

Základní myšlenka aplikace je prostá – uživatel si může nadefinovat zařízení, která chce na dálku ovládat. Vytvoření nového zařízení je velmi jednoduché a intuitivní. Uživatel si zařízení pojmenuje, vybere umístění a zadá telefonní číslo náležící danému hardwaru. Pro přehlednost může být k profilu zařízení přidán i libovolný obrázek či ikona z vestavěné knihovny. Důležité jsou samozřejmě samotné příkazy, které chce uživatel zasílat. Každý profil zařízení může obsahovat libovolný počet příkazů. Jednotlivé příkazy mohou být pro přehlednost pojmenovány a opatřeny příslušným textem.

 

 

Aplikace podporuje dva formáty příkazů – textový a parametrický. Textový příkaz je vhodný pro využití s libovolnými (komerčními) GSM zařízeními, která nemusí mít s automatizací nebo  Arduinem nic společného. Obsahem takového příkazu je klasický „plain” text (stejný jako v SMS zprávě) – můžete si tedy v podstatě předdefinovat zprávy, které často používáte.  Pokud například kupujete jízdenky na MHD přes SMS nebo své drahé polovičce posíláte pravidelně konkrétní SMS zprávu, můžete si na toto založit v mobilní aplikaci vlastní profily :-). 

Pro Arduino a jiné vývojové kity je určen parametrický formát zprávy. Příkaz je definován názvem parametru a číselnou hodnotou. Tento formát zprávy má hned několik výhod:

  • v jedné SMS zprávě může být odesláno více příkazů
  • zformátovaná zpráva je pro programátora dobře čitelná
  • text zprávy je opatřen hashem pro ověření validity zprávy

Zprávu, kterou mobilní aplikace vygeneruje a odešle v parametrickém formátu, je poté schopna přečíst a zpracovat Adeon knihovna pro platformu Arduino. Na základě přijatých parametrů je následně možné vytvořit požadovanou automatizační úlohu (např. spínat relé nebo měřit teplotu).

Aplikace má také další užitečné funkce: 

  • nabízí uživateli možnost vytočit hovor na telefonní číslo uloženém v profilu zařízení
  • umožňuje exportovat a importovat profily zařízení (přenášení dat mezi více telefony) 
  • umožňuje uspořádat pořadí příkazů v profilu zařízení

Mobilní aplikace je k dispozici ke stažení zdarma v obchodě Google Play (pro operační systém Android). Více informací naleznete na oficiální wiki stránce

Adeon knihovna pro Arduino 

Představte si modelovou situaci. Máte sestavu pro spínání relátek ovládanou Arduinem, ke kterému je připojen GSM modul. Napsat program pro spínání relátek je přece hračka. Jak mám ale ovládat GSM modul? Jak si přečtu příchozí zprávy z mobilní aplikace? Jak vlastně přiřadím příchozím parametrům funkce, které na základě hodnoty parametru sepnou nebo rozepnou relátka? Co když mi bude nevyžádané číslo ovládat moji sestavu?

Odpovědí na tyto otázky je open-source knihovna Adeon pro platformu Arduino, která řeší ty nejdůležitější operace jako je správa autorizovaných čísel a jejich práva, správa seznamu parametrů a jejich hodnot, kontrola validity zprávy pomocí hashe či spouštění funkcí na základě hodnoty příchozího parametru. Nespornou výhodou knihovny jsou již implementované funkce pro ovládání GSM modulů společnosti SIMCom (které jsou dostupné na našem e-shopu) a automatické čtení příchozích zpráv. 

Knihovna je kompatibilní se základními Arduino modely jako Arduino Uno, Nano a Mega a není závislá na typu použitého GSM modulu. Součástí knihovny jsou rovněž příklady, které demonstrují základní i pokročilé funkce. Pro více informací a stažení knihovny navštivte stránku aplikace Adeon.

Čím se budeme zabývat v pokračování seriálu?

V příštím díle automatizace pomocí SMS zpráv si ukážeme použití aplikace Adeon v praxi a rozebereme zapojení Arduina a GSM modulu. Rovněž si naprogramujeme Arduino, abychom na základě přijaté zprávy byli schopni sepnout relé a rozsvítit LED diodu. Sledujte nás nadále :-).

Další podobné články