
Routery série jsou určeny k nahrazení klasické kombinace: jednodeskový počítač + modem + router. Nyní je možné spustit veškerou potřebnou logiku přímo na routeru. Vzhledem k výkonnému ARM procesoru, 512 MB operační paměti a přibližně 2 GB vestavěné flash paměti lze na routeru dokonce spustit server nodejs!
Sekvenční rozhraní RS-232/485 jsou také integrována do routeru a jsou okamžitě dostupná v operačním systému s plným root přístupem. Otevřené prostředí pro vytváření vlastních programů a knihovny C/C++ pro práci s nízkoúrovňovým hardwarovým API jsou také k dispozici.
Funkce hlubokého spánku umožňuje šetřit energii při práci na baterii: router může být aktivován pouze tehdy, když je skutečně potřeba spojení.
V článku se podíváme na zajímavé funkce zařízení a pokusíme se prakticky pracovat s rozhraním pro vstup a výstup ze shell skriptů.
Technické specifikace
Routery série jsou realizovány na jednotné hardwarové platformě a jsou zastoupeny pěti modely, které se liší rozsahy frekvencí LTE, přítomností Wi-Fi a geolokace (GNSS). Zařízení jsou prezentována jako náhrada za kombinaci jednodeskového počítače a routeru. Výkonný procesor a velký objem operační paměti umožňují spouštět náročné uživatelské aplikace přímo na routeru.
- Procesor Cortex-A8 — taktní frekvence 1 GHz, architektura 32 bit
- 512 MB RAM
- Flash paměť od 1,5 do 4 GB — pro ukládání uživatelských dat
- Vstupní a výstupní porty — rozhraní RS-232/485 a digitální porty vstupu a výstupu jsou dostupné pro použití uživatelskými programy
Samostatně stojí model , který pracuje podle standardu LTE Cat. M1 (). Protokol LTE Cat. M1 byl speciálně vyvinut pro M2M řešení, má nízkou rychlost přenosu dat (375 kb/s), stejně jako velký dosah a zvýšenou stabilitu v obtížných podmínkách spojení uvnitř budov. Router má vestavěný , který umožňuje zařízení pracovat krátkou dobu po úplném vypnutí napájení.
Režim hlubokého spánku
Režim hlubokého spánku umožňuje uvést router do stavu, kdy jsou všechny procesy pozastaveny a hardwarová část je vypnuta, aby se šetřila energie, přičemž všechny funkce zařízení jsou vypnuty a zvenčí vypadá zcela vypnuté. Spotřeba energie v tomto režimu činí ne více než 10 mW.

V režimu spánku router téměř nepoužívá energii a probouzí se za 3 sekundy
Když bude potřeba probudit router pro přenos dat, on se probudí za ~3 sekundy. Samozřejmě bude třeba další čas na registraci modemu v mobilní síti, nicméně to je podstatně rychlejší než spuštění routeru od nuly. Tato volba je užitečná pro systémy s autonomním napájením, které většinu času zůstávají v klidu a aktivují se jen občas pro provádění aktivních činností, jako je například signalizace nebo rezervační blok.
Probuzení a usínání
Správa usínání a probouzení probíhá prostřednictvím modulu .
Existují 2 způsoby řízení režimu spánku:
- Přes digitální vstup — v tomto režimu router ovládá externí zařízení, například mikrořadič. Na signál LOW na digitálním vstupu router usíná, a při obdržení HIGH — probouzí se, nebo naopak. Můžete také nastavit časový limit aktivace, aby se zabránilo náhodným přepínáním.
- Přes interní časovač — router odpočítává čas a probouzí se/usíná ve stanovenou dobu. To je užitečné pro provádění jednorázových operací nebo stahování dat během určitého období.

Rozhraní pro nastavení režimu hlubokého spánku
Funkce „poslední nádech“
Porucha napájení na vzdáleném objektu může být obzvlášť nepříjemná, protože není jasné, z jakého důvodu není spojení s objektem dostupné. Funkce „Poslední nádech“ umožňuje routeru pracovat nějakou dobu po úplném vypnutí napájení a poslat zprávu o tom, že došlo k poruše a záložní napájení se nezapnulo. Díky integrovanému superkapacitoru, jehož kapacita je mnohem větší než u akumulátorových baterií, nevyžaduje údržbu a výměnu. To je užitečné pro systémy záložního napájení, v nichž mohou nastat poruchy a je důležité sledovat okamžik úplné ztráty napětí.

Router zašle signál o poruše napájení i po úplném vypnutí napájení
Aby na událost ztráty napájení mohla správně reagovat, je potřeba se o tom nějak dozvědět.
Aktuální napětí napájení lze získat buď prostřednictvím shell příkazu status sys:
$ status sys
Firmware Version : 6.1.10 (2019-07-02)
Serial Number : ACZ1100000623519
Profile : Standard
RTC Battery : Ok
Supply Voltage : 12.3 V # ← napětí napájení
Temperature : 37 C # ← teplota uvnitř skříně
Time : 2019-08-16 16:21:18
Uptime : 0 days, 11 hours, 43 minutes
Buď pomocí hardwarového Unix I/O control (ioctl) a programu v C/C++ nebo jiném jazyce.
V tabulce jsou uvedeny adresy potřebných hardwarových registrů. Aktuální napětí napájení se vrací jako celé číslo, v milivoltech. Použití nízkoúrovňového API je v tomto případě výhodnější než shell skripty pro rychlejší reakci. Podrobné informace o práci s hardwarem jsou k dispozici v

Žádost ioctl vracející aktuální napětí napájení.
Sériové rozhraní
Router obsahuje dvě sériová rozhraní: RS-232 a RS-485. Umožňují přímo připojit periferní zařízení k routeru bez použití dalšího propojení. U routeru může běžet plnohodnotný server Node-RED nebo Nodejs, což umožňuje mít jedno zařízení pro nasazení jednoduchého automatizačního systému, bez dalších počítačů a kontrolerů.

Ve výchozím nastavení jsou obě rozhraní dostupná pro práci jako standardní sériová zařízení v Linuxu:
ls -la /dev/ttyS*
crw------- 1 root root 251, 0 Jan 1 1970 /dev/ttyS0 # ← port rs-232
crw------- 1 root root 251, 1 Jan 1 1970 /dev/ttyS1 # ← port rs-485
crw------- 1 root root 251, 5 Jan 1 1970 /dev/ttyS5 # ← není rozveden
Všechny standardní knihovny podporují tato zařízení bez dalších nastavení, včetně modulu a další.
Uživatelské moduly
Funkčnost zařízení lze rozšířit pomocí uživatelských modulů: je to zjednodušená verze balíčků, jen bez správce balíčků. Celý seznam dostupných modulů je na webu .
Moduly se instalují ručně pomocí nahrání souboru balíčku přes webové rozhraní:

V současné době je k dispozici 73 modulů. Zde je několik zajímavých z nich:
- — populární nástroj pro integraci různých průmyslových protokolů do uceleného systému
- — plnohodnotný server nodejs. Velké množství paměti a výkonný procesor umožňuje spouštět náročné aplikace přímo na routeru!
- — umožňuje práci v konzoli přes prohlížeč.
- — nástroj pro vývoj aplikací pro Microsoft Azure IoT Hub.
Jelikož je firmware routerů otevřený, mohou vývojáři psát vlastní moduly, včetně těch s webovým rozhraním. Referenční materiály jsou k dispozici v a na webových stránkách společnosti. Pro pohodlí sestavení balíků je k dispozici hotové .
Hardwarové zdroje pomocí shell skriptů
Pro jednoduché úkoly automatizace je pohodlné použít shell skripty, pomocí nichž lze řídit světelnou indikaci a získávat/stanovovat stav digitálních pinů.
Světelnou indikací je pohodlné ukazovat aktuální stav vykonávání příkazů. Například, indikace přenosu dat — časté blikání, pokus o připojení — vzácné blikání, idle — svítí nepřetržitě. Podívejme se na příkaz led. Na vstupu přijímá pouze jeden argument — typ blikání LED.
# led
led on|off|fast|slow
Takto to vypadá v reálném životě:
Demonstrace režimů práce uživatelské indikace pomocí shell příkazů
Pro práci s digitálními piny se používá příkaz io.
$ io
Usage: io [get ] | [set ]
io set out0 1 # Nastavit digitální výstup OUT0 do stavu 1 (LOW)
io get bin0 # Získat hodnotu digitálního vstupu BIN0
Je důležité si pamatovat, že logika je v tomto případě invertovaná. Tedy 1=LOW, 0=HIGH. Použitím příkazu io můžeme snadno pracovat s digitálními piny z bash skriptů a stavět jednoduchou logiku pro automatizaci a řízení.
Jako demonstraci jednoduchosti práce s digitálními vstupy a indikací napíšeme zbytečný skript, který zobrazuje stav digitálního vstupu pomocí LED.
#!/bin/bash
while true
do
[ $(io get bin0) -eq 0 ] && led fast || led on
done
Princip fungování skriptu je jednoduchý: pokud je BIN0 ve stavu 0, LED často bliká, jinak svítí nepřetržitě. Takto to vypadá naživo:
Demonstrace fungování bash skriptu, který zobrazuje stav digitálního vstupu pomocí indikátoru.
I když je tento skript primitivní, názorně ukazuje, jak za jednu řádku, bez dodatečného softwaru, knihoven a nastavení, lze získávat vstupní data z digitálních vstupů a reagovat na ně.
Odkazy
- V tomto článku nejsou zahrnuty síťové funkce routerů, jako je vyvažování zátěže, failover, VPN a podobně, protože všechna tato témata již byla podrobena jinému našem článku: .
- Příklad použití routeru je v našem prvním článku: .
- Ceny našich výrobků si můžete prohlédnout v našem . Vlastní web v češtině zatím není hotový.
Zveme vás na partnerské fórum Advantech

Fórum Advantech se stane jedinečnou platformou pro diskusi o lokálních a globálních trendech v oblasti Internetu věcí. Zde můžete sdílet zkušenosti s novými technologickými řešeními a produkty, najít nové zákazníky a partnery. Budete mít příležitost vidět výrobky, které jsme popisovali v článcích, a nejen to. Na akci vystoupí lídři oboru a zástupci klíčových partnerů – NVidia, Intel a další společnosti, které se aktivně podílejí na rozvoji průmyslového Internetu věcí v následujících letech. Rádi bychom viděli všechny specialisty v oblasti průmyslové automatizace a Internetu věcí na této akci. Účast na akci je zdarma! Míst je omezený počet. .
Zdroj: habr.com
