4G router ako univerzálny server pre IoT

4G router ako univerzálny server pre IoT
Séria smerovačov ICR-3200 určený na nahradenie klasickej kombinácie: jednodoskový počítač + modem + router. Teraz môžete spustiť všetku potrebnú logiku priamo na smerovači. Vďaka výkonnému procesoru ARM, 512 MB RAM a ~2 GB vstavanej flash pamäte môžete dokonca spustiť server nodejs na routeri!

Sériové rozhrania RS-232/485 sú tiež zabudované v routeri a sú okamžite dostupné v operačnom systéme s úplným root prístupom. Dostupné je aj otvorené prostredie na vytváranie vlastných programov a knižnice C/C++ na prácu s nízkoúrovňovými hardvérovými API.
Funkcia hlbokého spánku šetrí energiu pri napájaní z batérie: router je možné aktivovať iba vtedy, keď je komunikácia skutočne nevyhnutná.

V tomto článku rozoberieme zaujímavé funkcie zariadenia a pokúsime sa v praxi pracovať so vstupno-výstupným rozhraním zo skriptov shellu.

Технические характеристики

Séria smerovačov ICR-3200 sú vyrobené na jednej hardvérovej platforme a sú prezentované v piatich modeloch, ktoré sa líšia frekvenčným rozsahom LTE, prítomnosťou Wi-Fi a geolokáciou (GNSS). Zariadenia sú umiestnené ako náhrada kombinácie jednodoskového počítača a routeru. Výkonný procesor a veľké množstvo pamäte RAM vám umožňuje spúšťať používateľské aplikácie náročné na zdroje priamo na smerovači.

  • Procesor Cortex-A8 — hodinová frekvencia 1 GHz, 32-bitová architektúra
  • 512 MB RAM
  • Flash pamäť od 1,5 do 4 GB - na ukladanie užívateľských údajov
  • I/O porty — Rozhrania RS-232/485 a digitálne I/O porty sú k dispozícii na použitie používateľskými programami

Samostatne stojí za model ICR-3211B, fungujúce podľa štandardu LTE Cat. M1 (NB-IoT). Protokol LTE Cat M1 bol špeciálne navrhnutý pre M2M riešenia, má nízku rýchlosť prenosu dát (375 kb/s), ako aj dlhý dosah a zvýšenú stabilitu v náročných podmienkach vnútornej komunikácie. Router má vstavaný ionistor (superkondenzátor), čo umožňuje, aby zariadenie fungovalo krátky čas po úplnom výpadku prúdu.

Režim hlbokého spánku

Režim hlbokého spánku vám umožňuje uviesť router do stavu, kedy sú všetky procesy zmrazené a hardvér je vypnutý kvôli úspore energie, pričom všetky funkcie zariadenia sú vypnuté a zvonku sa bude javiť ako úplne vypnutý. Spotreba energie v tomto režime je nie viac ako 10 mW.

4G router ako univerzálny server pre IoT
V režime spánku router nespotrebováva takmer žiadnu energiu a prebudí sa do 3 sekúnd

Keď potrebujete prebudiť smerovač na prenos údajov, je to prebudí sa za ~3 sekundy. Registrácia modemu v celulárnej sieti bude samozrejme trvať dlhšie, ale je to oveľa rýchlejšie ako načítanie smerovača od začiatku. Táto možnosť je užitočná pre systémy s vlastným napájaním, ktoré sú väčšinu času nečinné a príležitostne sa aktivujú na vykonávanie aktívnych akcií, ako je alarm alebo záložná jednotka.

Prebúdzanie a zaspávanie

Ovládanie zaspávania a prebúdzania prebieha cez modul Režim spánku.

Režim spánku možno ovládať 2 spôsobmi:

  • Cez digitálny vstup — v tomto režime je smerovač riadený externým zariadením, ako je napríklad mikrokontrolér. Keď je na digitálny vstup odoslaný signál LOW, router prejde do režimu spánku a keď prijme signál HIGH, prebudí sa alebo naopak. Môžete tiež nastaviť časový limit spúšťania na ochranu pred náhodným prepnutím.
  • Cez interný časovač — router počíta čas a zobudí sa/zaspí v správnom čase. Toto je vhodné použiť na vykonávanie jednorazových operácií alebo sťahovanie údajov za určité obdobie.

4G router ako univerzálny server pre IoT
Rozhranie nastavenia režimu hlbokého spánku

Funkcia posledného nádychu

Výpadok napájania na vzdialenom mieste môže byť obzvlášť nepríjemný, pretože nie je jasné, prečo je komunikácia s miestom nedostupná. Funkcia „Last Gasp“ umožňuje routeru po úplnom výpadku napájania ešte nejaký čas pracovať a odoslať správu, že nastala núdzová situácia a záložné napájanie sa nezaplo. Vďaka zabudovanému ionistoru, ktorého životnosť je oveľa dlhšia ako u batérií, nevyžaduje údržbu ani výmenu. To je užitočné pre záložné systémy, kde sú možné poruchy a je dôležité sledovať moment úplnej straty napätia.

4G router ako univerzálny server pre IoT
Smerovač vyšle signál o výpadku prúdu aj po úplnom výpadku prúdu

Ak chcete správne reagovať na udalosť straty napájania, musíte o tom nejako vedieť.
Aktuálne napájacie napätie je možné získať buď pomocou príkazu shell 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 # ← напряжение питания
Temperature      : 37 C   # ← температура внутри корпуса
Time             : 2019-08-16 16:21:18
Uptime           : 0 days, 11 hours, 43 minutes

Buď pomocou hardvérového unixového I/O riadenia (ioctl) a programu v C/C++ alebo inom jazyku.
V tabuľke sú uvedené adresy požadovaných hardvérových registrov. Aktuálne napájacie napätie sa vráti ako celé číslo v milivoltoch. Pre rýchlejšiu odozvu je v tomto prípade vhodnejšie použiť nízkoúrovňové API pred shellovými skriptami. Podrobné informácie o práci s hardvérom sú dostupné v sprievodca vývojára.

4G router ako univerzálny server pre IoT
Požiadavka ioctl na vrátenie aktuálneho napájacieho napätia.

Sériové rozhrania

Router má zabudované dve sériové rozhrania: RS-232 a RS-485. Umožňujú pripojiť periférne zariadenia priamo k routeru, bez použitia dodatočnej kabeláže. Zároveň môže na routeri bežať plnohodnotný server Node-RED alebo Nodejs, ktorý vám umožní vystačiť si s jedným zariadením a nasadiť jednoduchý automatizačný systém bez ďalších počítačov a ovládačov.

4G router ako univerzálny server pre IoT

Štandardne sú obe rozhrania k dispozícii na prevádzku ako štandardné sériové zariadenia v Linux:

ls -la /dev/ttyS*
crw-------    1 root     root      251,   0 Jan  1  1970 /dev/ttyS0 # ← порт rs-232
crw-------    1 root     root      251,   1 Jan  1  1970 /dev/ttyS1 # ← порт rs-485 
crw-------    1 root     root      251,   5 Jan  1  1970 /dev/ttyS5 # ← не разведен

Všetky štandardné knižnice budú podporovať tieto zariadenia bez ďalších nastavení, vrátane modulu Modbus-RTU2TCP a ďalšie.

Vlastné moduly

Funkcionalitu zariadenia je možné rozšíriť pomocou vlastných modulov: ide o zjednodušenú verziu balíkov, ale bez správcu balíkov. Celý zoznam dostupných modulov je k dispozícii na webovej stránke https://advantech-bb.cz/products/software/user-modules.

Moduly sa inštalujú manuálne stiahnutím súboru balíka cez webové rozhranie:

4G router ako univerzálny server pre IoT

V súčasnosti je k dispozícii 73 modulov. Tu sú niektoré zaujímavé:

  • Uzol-ČERVENÝ - obľúbený nástroj na spojenie rôznych priemyselných protokolov do holistického systému
  • nodejs — plnohodnotný server nodejs. Veľké množstvo pamäte RAM a výkonný procesor vám umožňujú spúšťať aplikácie náročné na zdroje priamo na smerovači!
  • Python2/3
  • Webshell — umožňuje vám pracovať v konzole prostredníctvom prehliadača.
  • Azure IoT SDK Python — súbor nástrojov na vývoj programov pre Microsoft Azure IoT Hub.

Keďže firmvér smerovačov je otvorený, vývojári môžu písať svoje vlastné moduly, vrátane modulov s webovým rozhraním. Referenčné materiály sú dostupné na návod na písanie modulu и a sekcia pre vývojárov na webovej stránke spoločnosti. Pre pohodlie pri zostavovaní balíkov je k dispozícii pripravený balík prostredie pre krížovú kompiláciu.

Hardvérové ​​prostriedky prostredníctvom skriptov shellu

Pre jednoduché automatizačné úlohy je vhodné použiť shell skripty, z ktorých môžete ovládať svetelnú indikáciu a získať/nastaviť stav digitálnych pinov.

Svetelná indikácia pohodlne zobrazuje aktuálny stav vykonávania príkazu. Napríklad indikácia prenosu dát - rýchle blikanie, pokus o pripojenie - zriedkavé blikanie, nečinnosť - nepretržite svieti. Zvážte tím viedol. Ako vstup je potrebný iba jeden argument - typ blikania LED.

# led
led on|off|fast|slow

Takto to vyzerá v reálnom živote:


Ukážka prevádzkových režimov vlastného indikátora prostredníctvom príkazov shellu

Ak chcete pracovať s digitálnymi pinmi, použite príkaz io.

$ io
Usage: io [get <pin>] | [set <pin> <value>]

io set out0 1 # Установить цифровой выход OUT0 в состояние 1 (LOW)
io get bin0   #  Получить значение цифрового входа BIN0

Je dôležité si uvedomiť, že logika je v tomto prípade obrátená. Preto 1 = NÍZKE, 0 = VYSOKÉ. Pomocou príkazu io môžeme jednoducho pracovať s digitálnymi pinmi z bash skriptov a vytvárať jednoduchú logiku pre automatizáciu a správu.

Aby sme demonštrovali jednoduchosť práce s digitálnymi vstupmi a displejmi, napíšme zbytočný skript, ktorý zobrazuje stav digitálneho vstupu pomocou LED.

#!/bin/bash
while true
do
	[ $(io get bin0) -eq 0 ] && led fast || led on
done

Princíp skriptu je jednoduchý: ak je BIN0 v stave 0, tak dióda často svieti, inak svieti nepretržite. Takto to vyzerá v reálnom živote:


Ukážka bash skriptu, ktorý zobrazuje stav digitálneho vstupu pomocou indikátora.

Napriek primitívnosti tohto skriptu jasne ukazuje, ako v jednom riadku, bez dodatočného softvéru, knižníc a nastavení, môžete prijímať vstupné dáta z digitálnych vstupov a reagovať na ne.

referencie

  • Tento článok sa nedotýka sieťových funkcií smerovačov, ako je vyvažovanie, núdzové prepnutie, VPN atď., pretože všetky tieto témy už boli prediskutované v našom inom článku: Priemyselné 4G routery SmartMotion.
  • Príklad použitia smerovača ICR-3211B je v našom prvom článku: Ahoj Habr, sme Advantech.
  • Môžete sa zoznámiť s cenami produktov všeobecne internetový obchod. Naša vlastná webová stránka v ruštine ešte nie je pripravená.

Pozývame vás na partnerské fórum Advantech

4G router ako univerzálny server pre IoT
Fórum Advantech bude jedinečnou platformou na diskusiu o lokálnych a globálnych trendoch v internete vecí. Môžete si tu vymieňať skúsenosti s používaním nových technologických riešení a produktov, nájsť nových klientov a partnerov. Budete mať možnosť vidieť produkty, ktoré sme opísali v článkoch a ďalšie. Prednášajúci budú lídri v odvetví a zástupcovia kľúčových partnerov – NVidia, Intel a ďalších spoločností, ktoré sa v najbližších rokoch aktívne podieľajú na rozvoji priemyselného internetu vecí. Na podujatí radi uvidíme všetkých špecialistov v oblasti priemyselnej automatizácie a internetu vecí. Účasť na podujatí je bezplatná! Obmedzený počet miest. Poponáhľajte sa s registráciou.

Zdroj: hab.com

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster