4G-router mint univerzális szerver az IoT számára

4G-router mint univerzális szerver az IoT számára
Routerek sorozata ICR-3200 helyettesítik a klasszikus összeköttetést: egylapos számítógép + modem + router. Mostantól az összes szükséges logikát közvetlenül a routeren lehet futtatni. A nagy teljesítményű ARM-processzornak, 512 MB RAM-nak és ~2GB beépített flash-memóriának köszönhetően még nodejs szervert is lehet futtatni a routeren!

A soros RS-232/485 interfészek szintén beépítettek a routerbe, és az operációs rendszerben teljes root-hozzáféréssel érhetők el. Egy nyílt környezet saját programok készítéséhez és C/C++ könyvtárak állnak rendelkezésre a mélyszintű hardver API-k használatához is.
A mély alvás funkció lehetővé teszi az energia megtakarítását akkumulátoros üzemmódban: a router csak akkor aktiválható, amikor a kapcsolat valóban szükséges.

A cikkben érdekes eszközfunkciókat vizsgálunk, és kipróbáljuk a bemeneti-kimeneti interfészt shell szkriptekből.

Műszaki specifikációk

Routerek sorozata ICR-3200 egységes hardver platformon készült, és öt modellt tartalmaz, amelyek különböző LTE frekvenciatartományokkal, Wi-Fi és GNSS geolokációval rendelkeznek. Az eszközök a számítógép és a router kombinációjának helyettesítéseként pozicionálódnak. A nagy teljesítményű processzor és a nagy RAM mennyiség lehetővé teszi erőforrás-igényes felhasználói alkalmazások futtatását közvetlenül a routeren.

  • Cortex-A8 processzor — 1 GHz órajelfrekvenciával, 32 bit architektúra
  • 512 MB RAM
  • Flash-memória 1,5-től 4 GB-ig — a felhasználói adatok tárolására
  • Bemeneti-kimeneti portok — RS-232/485 interfészek és digitális bemeneti-kimeneti portok állnak rendelkezésre felhasználói programok számára

Külön említést érdemel a ICR-3211B, amely az LTE Cat. M1 szabvány szerint működik (NB-IoT). Az LTE Cat. M1 protokollt kifejezetten M2M megoldásokhoz fejlesztették ki, alacsony adatátviteli sebességgel (375 kb/s), valamint nagy hatótávolsággal és megnövelt stabilitással rendelkezik nehéz beltéri kapcsolati körülmények között. A router beépített ionistor (szuperkondenzátor), amely lehetővé teszi az eszköz működését rövid ideig a tápegység teljes lekapcsolása után.

Mély alvási mód

A mély alvó üzemmód lehetővé teszi a router számára, hogy állapotba kerüljön, amikor minden folyamat felfüggesztésre kerül, és a hardver le van kapcsolva az energiafogyasztás csökkentése érdekében, miközben az eszköz összes funkciója le van tiltva, és kívülről teljesen kikapcsoltnak tűnik. Ebben az üzemmódban az energiafogyasztás nem haladja meg a 10 mW-ot.

4G-router mint univerzális szerver az IoT számára
Alvó módban a router szinte nem fogyaszt energiát, és 3 másodpercen belül felébred

Amikor szükséges a router felébresztése az adatok átviteléhez, az körülbelül 3 másodperc alatt felébred. Nyilvánvalóan szükséges további idő a modem regisztrálásához a mobilhálózaton, de ez lényegesen gyorsabb, mint a router nulláról való indítása. Ez a lehetőség hasznos autonóm áramellátású rendszerek számára, amelyek többször inaktív állapotban vannak, és ritkán aktiválódnak, hogy aktív feladatokat végezzenek, például riasztások vagy tartalékblokkok működtetése.

Felébredés és alvás

Az alvás kezelését a Sleep Mode.

Két mód van az alvó üzemmód kezelésére:

  • Digitális bemeneten keresztül — ebben az üzemmódban a routert egy külső eszköz vezérli, például egy mikrovezérlő. A digitális bemenetre érkező LOW jel hatására a router alvó állapotba lép, míg a HIGH jel érkezésekor felébred, vagy fordítva. Időzítést is beállíthatunk a véletlen átkapcsolások elkerülése érdekében.
  • Belső időzítőn keresztül — a router nyomon követi az időt, és szükség szerint felébred vagy alszik. Ez kényelmes egyszeri műveletek végrehajtására vagy adatok letöltésére egy meghatározott időszak alatt.

4G-router mint univerzális szerver az IoT számára
A mély alvó üzemmód beállító felülete

Az utolsó lélegzet funkció

A távoli helyszínen tapasztalható áramkimaradás különösen kellemetlen lehet, mert nem világos, miért nem érhető el a kapcsolat. Az „Utolsó lélegzet” funkció lehetővé teszi, hogy a router egy ideig működjön a teljes áramellátás kikapcsolása után, és üzenetet küldjön arról, hogy áramkimaradás történt, és a tartalék áramellátás nem aktiválódott. A beépített szuperkondenzátor, amelynek kapacitása lényegesen magasabb, mint az akkumulátoroké, karbantartást és cserét nem igényel. Ez hasznos áramellátás tartalékoló rendszerekhez, ahol leállások történhetnek, és fontos nyomon követni a teljes feszültségvesztés pillanatát.

4G-router mint univerzális szerver az IoT számára
A router jelet küld az áramkimaradásról, még a teljes áramellátás kikapcsolása után is

A megfelelő reagálás érdekében az áramellátás megszakadására valamilyen módon tudomást kell szerezni erről.
A jelenlegi tápegység feszültsége shell-parancs segítségével kapható meg, 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 # ← tápfeszültség
Temperature      : 37 C   # ← a ház belsejében lévő hőmérséklet
Time             : 2019-08-16 16:21:18
Uptime           : 0 days, 11 hours, 43 minutes

Vagy Unix I/O vezérlő (ioctl) és C/C++ vagy más nyelvű program segítségével.
A táblázatban a szükséges hardverregiszterek címei láthatók. A jelenlegi tápegység feszültsége egész szám formájában, millivoltokban tér vissza. Az alacsony szintű API használata előnyösebb a shell-skripteknél a gyorsabb reakció érdekében. A hardver kezelése részletes információk a fejlesztői kézikönyvben található.

4G-router mint univerzális szerver az IoT számára
Ioctl kérés, amely visszaadja a jelenlegi tápegység feszültségét.

Sorozatos interfészek

A routerbe két sorozatos interfész van beépítve: RS-232 és RS-485. Ezek lehetővé teszik, hogy perifériás eszközöket közvetlenül a routerhez csatlakoztassanak, anélkül hogy további eszközökre lenne szükség. Ezenkívül a routeren teljes értékű Node-RED vagy Nodejs szerver működtethető, amely lehetővé teszi, hogy egyetlen eszközzel egyszerű automatizálási rendszert hozzanak létre, további számítógépek vagy vezérlők nélkül.

4G-router mint univerzális szerver az IoT számára

Alapértelmezés szerint mindkét interfész standard soros eszközként érhető el Linux alatt:

ls -la /dev/ttyS*
crw-------    1 root     root      251,   0 Jan  1  1970 /dev/ttyS0 # ← rs-232 port
crw-------    1 root     root      251,   1 Jan  1  1970 /dev/ttyS1 # ← rs-485 port
crw-------    1 root     root      251,   5 Jan  1  1970 /dev/ttyS5 # ← nincs kivezetve

Minden standard könyvtár támogatni fogja ezeket az eszközöket további beállítások nélkül, beleértve a Modbus-RTU2TCP és mások.

Felhasználói modulok

Az eszköz funkcionalitása felhasználói modulokkal bővíthető: ez egy egyszerűsített verzió a csomagokhoz, csak csomagkezelő nélkül. A rendelkezésre álló modulok teljes listája a weboldalon található. https://advantech-bb.cz/products/software/user-modules.

A modulok manuálisan telepíthetők, a csomagfájl feltöltésével a webes felületen keresztül:

4G-router mint univerzális szerver az IoT számára

Jelenleg 73 modul érhető el. Íme néhány érdekes közülük:

  • Node-RED — népszerű eszköz a különböző ipari protokollok integrálására egy egységes rendszerbe
  • Nodejs — teljes értékű nodejs szerver. A nagy mennyiségű RAM és a nagy teljesítményű processzor lehetővé teszi erőforrás-igényes alkalmazások futtatását közvetlenül az útválasztón!
  • Python2/3
  • Web-shell — lehetővé teszi a konzol használatát böngészőn keresztül.
  • Azure IoT SDK Python — eszközkészlet programok fejlesztéséhez a Microsoft Azure IoT Hub-hoz.

Mivel az útválasztók firmware-je nyitott, a fejlesztők saját modulokat írhatnak, beleértve a webes felületeket is. A dokumentáció elérhető a modulok írásához készült útmutatóban és és a fejlesztők részlegében a cég weboldalán. A csomagok egyszerű összerakása érdekében elérhető egy kész környezet a keresztfordításhoz.

Hardveres erőforrások shell-scriptek révén

Egyszerű automatizálási feladatokhoz praktikus shell-scripteket használni, amelyek segítségével kezelhetjük a fényjelzést és lekérdezhetjük/beállíthatjuk a digitális lábak állapotát.

A fényjelzés kényelmesen megmutatja a parancsok végrehajtásának aktuális állapotát. Például az adatátvitel jelzése — gyakori villogás, csatlakozási kísérlet — ritka villogás, várakozás — folyamatosan világít. Tekintsük meg a parancsot led. Csak egy argumentumot fogad el — a LED villogásának típusát.

# led
led on|off|fast|slow

Így néz ki ez a valós életben:


A felhasználói jelző működési módjainak demonstrálása shell-parancsok segítségével

Digitális lábak kezeléséhez használjuk a parancsot io.

$ io
Használat: io [get ] | [set  ]

io set out0 1 # A digitális kimenetet OUT0 1-es állapotba állítja (LOW)
io get bin0   #  Lekérdezi a digitális bemenet értékét BIN0

Fontos, hogy emlékezzünk arra, hogy a logika esetünkben inverz. Tehát 1=LOW, 0=HIGH. Az "io" parancs segítségével könnyedén dolgozhatunk digitális lábakkal bash-scriptekből, és egyszerű logikát építhetünk az automatizálás és a vezérlés érdekében. io A digitális bemenetek és a jelzés használatának egyszerűségének bemutatásaként írjunk egy haszontalan scripttel, amely a digitális bemenet állapotát LED-ekkel mutatja.

A script működési elve egyszerű: ha a BIN0 0 állapotban van, a LED gyakran világít, különben folyamatosan világít. Így néz ki ez élőben:

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

A bash-scriptek működésének bemutatása, amely a digitális bemenet állapotát a jelző segítségével mutatja.


A bash-script démonstrációja, amely a digitális bemenet állapotát a jelzővel ábrázolja.

Bár a szkript primitív, világosan megmutatja, hogyan lehet egy sorban, további szoftver, könyvtárak és beállítások nélkül adatokat nyerni digitális bemenetekről és reagálni azokra.

Hivatkozások

  • Ez a cikk nem tárgyalja a routerek hálózati funkcióit, mint például a terheléselosztást, a failovert, a VPN-t és egyebeket, mivel ezek a témák már egy másik cikkünkben részletezve vannak: Ipari 4G routerek SmartMotion.
  • Router alkalmazási példa ICR-3211B megtalálható az első cikkünkben: Helló, Habr, mi az Advantech.
  • A termékek árai a webáruházunkbanérhetők el. A saját orosz nyelvű weboldalunk még nem készült el.

Mindenkit szeretettel várunk az Advantech partner fórumra

4G-router mint univerzális szerver az IoT számára
Az Advantech fórum egyedülálló platform lesz a helyi és globális trendek megvitatására az IoT területén. Itt megoszthatja tapasztalatait az új technológiai megoldások és termékek használatáról, új ügyfeleket és partnereket találhat. Lehetősége lesz meglátni a termékeket, amelyeket cikkeinkben leírtunk, és még sok mást. Az iparág vezetői és kulcsfontosságú partnereink képviselői – NVidia, Intel és más cégek, akik aktívan részt vesznek az ipari IoT fejlesztésében az elkövetkező években – fognak előadni. Örömmel látunk minden ipari automatizálás és IoT szakembert az eseményen. A részvétel ingyenes! A helyek száma korlátozott. Ne késlekedjen a regisztrációval.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster