
Serija usmjerivača namijenjeni su da zamijene klasičnu kombinaciju: jednopločasti računar + modem + usmjerivač. Sada je moguće pokrenuti svu potrebnu logiku direktno na usmjerivaču. Zahvaljujući snažnom ARM procesoru, 512 MB radne memorije i ~2GB ugrađene fleš memorije, na usmjerivaču se može čak pokrenuti nodejs server!
Serijski interfejsi RS-232/485 takođe su ugrađeni u usmjerivač i dostupni odmah u operativnom sistemu sa punim root pristupom. Otvoreno okruženje za izradu vlastitih programa i C/C++ biblioteke za rad sa niskonivelskim hardverskim API-jem takođe su dostupni.
Funkcija dubokog sna omogućava uštedu energije pri radu na bateriji: usmjerivač se može aktivirati samo kada je konekcija stvarno potrebna.
U članku ćemo razmotriti zanimljive funkcije uređaja i pokušati u praksi raditi sa interfejsom za unos/izlaz iz shell skripti.
Tehnični podatki
Serija usmjerivača pravljena su na jedinstvenoj hardverskoj platformi i predstavljena su u pet modela, koji se razlikuju po frekvencijskom opsegu LTE, prisutnosti Wi-Fi i geolokacije (GNSS). Uređaji se pozicioniraju kao zamjena za kombinaciju jednopločastog računara i usmjerivača. Snažni procesor i velika količina radne memorije omogućavaju pokretanje resursno zahtevnih korisničkih aplikacija direktno na usmjerivaču.
- Cortex-A8 procesor — taktokna frekvencija 1 GHz, 32-bitna arhitektura
- 512 MB RAM
- Fleš memorija od 1,5 do 4 GB — za skladištenje korisničkih podataka
- Ulazno-izlazni portovi — RS-232/485 interfejsi i digitalni ulazno-izlazni portovi su dostupni za korišćenje korisničkim programima
Posebno se izdvaja model , koji radi prema standardu LTE Cat. M1 (). LTE Cat. M1 protokol je specijalno razvijen za M2M rješenja, ima nisku brzinu prenosa podataka (375 kb/s), kao i veliku domet i poboljšanu stabilnost u teškim uvjetima veze unutar prostora. Usmerivač ima ugrađeni , koji omogućava uređaju da radi kratko vrijeme nakon potpunog isključenja.
Režim dubokog sna
Režim dubokog sna omogućava da se usmjerivač stavi u stanje kada su svi procesi zamrznuti i hardverski deo isključen, radi uštede energije, pri čemu su sve funkcije uređaja isključene i izgleda potpuno isključeno. Potrošnja energije u ovom režimu iznosi ne više od 10 mW.

V načinu spanja usmerjevalnik skoraj ne porabi energije in se zbudi v 3 sekundah.
Ko bo treba zbuditi usmerjevalnik za prenos podatkov, se zbudi v približno 3 sekundah.. Seveda bo potrebno dodatno čas za registracijo modema v mobilni mreži, vendar je to bistveno hitreje kot zagon usmerjevalnika od nič. Ta možnost je uporabna za sisteme z avtonomno napajalno enoto, ki večino časa preživijo v stanju mirovanja in se občasno aktivirajo za izvajanje aktivnih dejanj, kot so alarmi ali rezerva napajanja.
Prebujanje in spanje
Nadzor spanja in prebujanja poteka preko modula .
Obstajata 2 načina za nadzor režima spanja:
- Prek digitalnega vhoda — v tem načinu usmerjevalnik nadzoruje zunanji aparat, na primer mikrokrmilnik. Ob signalu LOW na digitalni vhod usmerjevalnik zaspi, ob prejemu HIGH — se zbudi, ali obratno. Lahko nastavite tudi časovno omejitev za zaščito pred slučajnimi preklopi.
- Prek notranjega časovnika — usmerjevalnik odšteva čas in se zbudi/zaspati ob pravem času. To je priročno za izvajanje enkratnih operacij ali prenos podatkov v določenem obdobju.

Vmesnik za nastavitev globokega spanja
Funkcija 'zadnji vzdih'
Okvara napajanja na oddaljenem objektu je lahko še posebej neprijetna, saj ni jasno, zakaj povezava z objektom ni na voljo. Funkcija 'Zadnji vzdih' omogoča usmerjevalniku, da deluje nekaj časa po popolnem izklopu napajanja in pošlje sporočilo, da je prišlo do okvare in rezervno napajanje se ni vklopilo. Zaradi vgrajenega superkondenzatorja, katerega življenjska doba je precej daljša od baterij, ne zahteva vzdrževanja in zamenjave. To je koristno za sisteme rezervnega napajanja, kjer lahko pride do izpadov in kjer je pomembno spremljati trenutek popolne izgube napetosti.

Usmerjevalnik bo poslal signal o okvari napajanja tudi po popolnem izklopu napajanja.
Da bi pravilno reagirali na dogodek izgube napajanja, je treba nekako izvedeti o tem.
Trenutno napetost napajanja je mogoče pridobiti bodisi s pomočjo shell-ukaza 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 # ← napetost
Temperature : 37 C # ← temperatura notranjosti ohišja
Time : 2019-08-16 16:21:18
Uptime : 0 dni, 11 ur, 43 minut
Ali z uporabo strojne Unix I/O kontrolne funkcije (ioctl) ter programa v C/C++ ali drugem jeziku.
Tabel je prikazana potrebna naslova strojnih registrov. Trenutna napetost se vrača kot celo število, v milivoltih. Uporaba nizko nivojskega API-ja je v tem primeru prednostna pred shell skripti zaradi hitrejše odzivnosti. Podrobne informacije o delu z strojno opremo so na voljo v

Zahteva ioctl, ki vrača trenutno napetost.
Serijski vmesniki
Usmerjevalnik vključuje dva serijska vmesnika: RS-232 in RS-485. Ti omogočajo neposredno povezavo perifernih naprav z usmerjevalnikom, brez dodatne opreme. Pri tem lahko na usmerjevalniku deluje celoten strežnik Node-RED ali Nodejs, kar omogoča, da se enako napravo uporablja za vzpostavitev preprostega avtomatizacijskega sistema, brez dodatnih računalnikov in krmilnikov.

Privzeto sta oba vmesnika na voljo za delo kot standardne serijske naprave 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 # ← ni razveden
Vse standardne knjižnice bodo podpirale te naprave brez dodatnih nastavitev, vključno z modulom in druge.
Uporabniški moduli
Funkcionalnost naprave je mogoče razširiti z uporabo uporabniških modulov: to je poenostavljena različica paketov, le brez upravitelja paketov. Celoten seznam razpoložljivih modulov je na voljo na spletni strani .
Moduli se namestijo ročno, z nalaganjem datoteke paketa prek spletnega vmesnika:

Trenutno je na voljo 73 modulov. Tukaj je nekaj zanimivih:
- — priljubljeno orodje za povezovanje različnih industrijskih protokolov v celovit sistem
- — celoten strežnik nodejs. Velika količina pomnilnika in močan procesor omogočata zagon zahtevnih aplikacij neposredno na usmerjevalniku!
- — omogoča delo v konzoli prek brskalnika.
- — orodjarni komplet za razvoj programov za Microsoft Azure IoT Hub.
Ker je programska oprema usmerjevalnikov odprta, lahko razvijalci pišejo svoje module, vključno z moduli z večjim vmesnikom. Referenčni materiali so na voljo v in na spletni strani podjetja. Za enostavno sestavljanje paketov je na voljo pripravljena .
Strojni viri preko shell skript
Za preproste naloge avtomatizacije je enostavno uporabiti shell skripte, s katerimi lahko upravljate s svetlobno indikacijo in pridobivate/določate stanje digitalnih pinov.
Svetlobna indikacija je priročna za prikaz trenutnega stanja izvajanja ukazov. Na primer, indikacija prenosa podatkov — pogosto utripanje, poskus povezovanja — redko utripanje, mirno — neprekinjeno sveti. Oglejmo si ukaz led. Na vhodu sprejme samo en argument — tip utripanja LED dioda.
# led
led on|off|fast|slow
Tako to izgleda v resničnem življenju:
Prikaz načinov delovanja uporabniškega indikatorja preko shell ukazov
Za delo z digitalnimi pini se uporablja ukaz io.
$ io
Uporaba: io [get ] | [set ]
io set out0 1 # Nastavite digitalni izhod OUT0 v stanje 1 (LOW)
io get bin0 # Pridobite vrednost digitalnega vhoda BIN0
Pomembno je vedeti, da je logika v tem primeru inverzno. Tako je 1=LOW, 0=HIGH. Z uporabo ukaza io lahko enostavno delamo z digitalnimi pini iz bash skriptov in gradimo preprosto logiko za avtomatizacijo in upravljanje.
Kot prikaz enostavnosti dela z digitalnimi vhodi in indikacijo bomo napisali neuporaben skript, ki prikazuje stanje digitalnega vhoda s pomočjo LED diode.
#!/bin/bash
while true
do
[ $(io get bin0) -eq 0 ] && led fast || led on
done
Načelo delovanja skripta je preprosto: če je BIN0 v stanju 0, se dioda hitro sveti, drugače sveti neprekinjeno. Tako to izgleda v živo:
Prikaz delovanja bash skripta, ki prikazuje stanje digitalnega vhoda s pomočjo indikatorja.
Kljub enostavnosti tega skripta jasno prikazuje, kako lahko v eni vrstici, brez dodatne programske opreme, knjižnic in nastavitev pridobivamo vhodne podatke z digitalnih vhodov in na njih reagiramo.
Povezave
- V tem članku ne obravnavamo omrežnih funkcij usmerjevalnikov, kot so uravnoteženje, failover, VPN in drugo, saj so vse te teme že podrobno obravnavane v našem drugem članku: .
- Primer uporabe usmerjevalnika je v našem prvem članku: .
- Cene za naše izdelke si lahko ogledate v skupnem . Lastna spletna stran v slovenščini še ni pripravljena.
Vabimo vas na partnerski forum Advantech

Forum Advantech bo edinstvena platforma za razpravo o lokalnih in globalnih trendih v domeni Interneta stvari. Tukaj se boste lahko izmenjali izkušnje pri uporabi novih tehnoloških rešitev in izdelkov ter našli nove stranke in partnerje. Imeli boste priložnost videti izdelke, ki smo jih opisovali v člankih, in še več. Nastopili bodo voditelji panoge in predstavniki ključnih partnerjev – NVidia, Intel in drugih podjetij, ki aktivno sodelujejo pri razvoju industrijskega Interneta stvari v naslednjih letih. Veseli bomo, da na dogodku vidimo vse strokovnjake s področja industrijske avtomatizacije in Interneta stvari. Udeležba na dogodku je brezplačna! Število mest je omejeno. .
Izvor: habr.com
