
Routerek sorozata 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 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 , amely az LTE Cat. M1 szabvány szerint működik (). 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 , 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.

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 .
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.

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.

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

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.

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 é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ó. .
A modulok manuálisan telepíthetők, a csomagfájl feltöltésével a webes felületen keresztül:

Jelenleg 73 modul érhető el. Íme néhány érdekes közülük:
- — népszerű eszköz a különböző ipari protokollok integrálására egy egységes rendszerbe
- — 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!
- — lehetővé teszi a konzol használatát böngészőn keresztül.
- — 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 és a cég weboldalán. A csomagok egyszerű összerakása érdekében elérhető egy kész .
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: .
- Router alkalmazási példa megtalálható az első cikkünkben: .
- A termékek árai a é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

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. .
Forrás: habr.com
