Usmerjevalnik 4G kot univerzalni strežnik za IoT

Usmerjevalnik 4G kot univerzalni strežnik za IoT
Serija usmerjevalnikov ICR-3200 zasnovan tako, da nadomesti klasično kombinacijo: računalnik z eno ploščo + modem + usmerjevalnik. Zdaj lahko izvajate vso potrebno logiko neposredno na usmerjevalniku. Zahvaljujoč zmogljivemu procesorju ARM, 512 MB RAM-a in ~2 GB vgrajenega flash pomnilnika lahko na usmerjevalniku poženete celo strežnik nodejs!

V usmerjevalnik so vgrajeni tudi serijski vmesniki RS-232/485, ki so takoj na voljo v operacijskem sistemu s polnim korenskim dostopom. Na voljo je tudi odprto okolje za gradnjo lastnih programov in knjižnice C/C++ za delo z API-ji strojne opreme nizke ravni.
Funkcija globokega spanja bo varčevala z energijo pri delovanju na baterijo: usmerjevalnik je mogoče aktivirati le, ko je komunikacija res potrebna.

V tem članku bomo analizirali zanimive funkcije naprave in poskusili v praksi delati z vhodno-izhodnim vmesnikom iz lupinskih skriptov.

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

Serija usmerjevalnikov ICR-3200 so izdelani na eni strojni platformi in so predstavljeni v petih modelih, ki se razlikujejo po frekvenčnih območjih LTE, prisotnosti Wi-Fi in geolokacije (GNSS). Naprave so nameščene kot nadomestek za kombinacijo računalnika z eno ploščo in usmerjevalnika. Zmogljiv procesor in velika količina RAM-a omogočata zagon uporabniških aplikacij, ki zahtevajo veliko virov, neposredno na usmerjevalniku.

  • procesor Cortex-A8 — urna frekvenca 1 GHz, 32-bitna arhitektura
  • 512 MB RAM
  • Flash pomnilnik od 1,5 do 4 GB - za shranjevanje uporabniških podatkov
  • V/I vrata — Uporabniškim programom so na voljo vmesniki RS-232/485 in digitalna V/I vrata

Ločeno vreden model ICR-3211B, ki deluje po standardu LTE Cat. M1 (NB-IoT). LTE Cat protokol M1 je bil zasnovan posebej za rešitve M2M, ima nizko hitrost prenosa podatkov (375 kb/s), pa tudi velik doseg in povečano stabilnost v težkih komunikacijskih pogojih v zaprtih prostorih. Usmerjevalnik ima vgrajeno ionistor (superkondenzator), ki omogoča, da naprava deluje kratek čas po popolnem izpadu električne energije.

Način globokega spanja

Način globokega spanja vam omogoča, da usmerjevalnik postavite v stanje, ko so vsi procesi zamrznjeni in je strojna oprema onemogočena zaradi varčevanja z energijo, medtem ko so vse funkcije naprave onemogočene in od zunaj bo videti popolnoma izklopljena. Poraba energije v tem načinu je ne več kot 10 mW.

Usmerjevalnik 4G kot univerzalni strežnik za IoT
V načinu mirovanja usmerjevalnik ne porabi skoraj nič energije in se zbudi v 3 sekundah

Ko morate prebuditi usmerjevalnik za prenos podatkov, ga se zbudi v ~3 sekundah. Seveda bo za registracijo modema v mobilnem omrežju potreben dodaten čas, vendar je to veliko hitreje kot nalaganje usmerjevalnika iz nič. Ta možnost je uporabna za sisteme z lastnim napajanjem, ki so večino časa nedejavni in se občasno aktivirajo za izvajanje aktivnih dejanj, kot je alarm ali rezervna enota.

Prebujanje in zaspanje

Nadzor zaspanosti in prebujanja poteka prek modula Spanje.

Način mirovanja lahko nadzirate na dva načina:

  • Preko digitalnega vhoda — v tem načinu usmerjevalnik nadzira zunanja naprava, kot je mikrokrmilnik. Ko je signal LOW poslan na digitalni vhod, usmerjevalnik preide v stanje spanja, ko prejme signal HIGH, pa se zbudi ali obratno. Nastavite lahko tudi časovno omejitev sprožilca za zaščito pred nenamernim preklopom.
  • Preko notranjega časovnika — usmerjevalnik šteje čas in se zbudi/zaspi ob pravem času. To je priročno za izvajanje enkratnih operacij ali prenos podatkov za določeno obdobje.

Usmerjevalnik 4G kot univerzalni strežnik za IoT
Vmesnik za nastavitev načina globokega mirovanja

Funkcija zadnjega diha

Izpad električne energije na oddaljeni lokaciji je lahko še posebej neprijeten, ker ni jasno, zakaj komunikacija s stranjo ni na voljo. Funkcija »Last Gasp« omogoča, da usmerjevalnik deluje nekaj časa po popolnem izpadu električne energije in pošlje sporočilo, da je prišlo do izrednega dogodka in da se rezervno napajanje ni vklopilo. Zahvaljujoč vgrajenemu ionistorju, katerega življenjska doba je veliko daljša kot pri baterijah, ne zahteva vzdrževanja ali menjave. To je uporabno za sisteme za rezervno napajanje, kjer so možne okvare in je pomembno slediti trenutku popolne izgube napetosti.

Usmerjevalnik 4G kot univerzalni strežnik za IoT
Usmerjevalnik bo poslal signal izpada električne energije tudi po popolnem izpadu električne energije

Če se želite pravilno odzvati na dogodek izgube električne energije, morate o tem nekako vedeti.
Trenutna napajalna napetost se lahko pridobi z ukazom lupine 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

Bodisi z uporabo strojnega nadzora V/I Unix (ioctl) in programa v C/C++ ali drugem jeziku.
Tabela prikazuje naslove zahtevanih registrov strojne opreme. Trenutna napajalna napetost je vrnjena kot celo število v milivoltih. V tem primeru je za hitrejši odziv boljša uporaba nizkonivojskega API-ja kot lupinskih skriptov. Podrobne informacije o delu s strojno opremo so na voljo v vodnik za razvijalce.

Usmerjevalnik 4G kot univerzalni strežnik za IoT
Zahteva ioctl, ki vrne trenutno napajalno napetost.

Serijski vmesniki

Usmerjevalnik ima vgrajena dva serijska vmesnika: RS-232 in RS-485. Omogočajo priklop perifernih naprav neposredno na usmerjevalnik, brez uporabe dodatnega ožičenja. Hkrati lahko na usmerjevalniku teče polnopravni strežnik Node-RED ali Nodejs, ki vam omogoča, da z eno napravo vzpostavite preprost sistem avtomatizacije, brez dodatnih računalnikov in krmilnikov.

Usmerjevalnik 4G kot univerzalni strežnik za IoT

Privzeto sta oba vmesnika na voljo za delovanje kot standardni serijski napravi 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 # ← не разведен

Vse standardne knjižnice bodo podpirale te naprave brez dodatnih nastavitev, vključno z modulom Modbus-RTU2TCP in drugi.

Moduli po meri

Funkcionalnost naprave je mogoče razširiti z moduli po meri: to je poenostavljena različica paketov, vendar brez upravitelja paketov. Celoten seznam razpoložljivih modulov je na voljo na spletni strani https://advantech-bb.cz/products/software/user-modules.

Moduli se namestijo ročno s prenosom paketne datoteke prek spletnega vmesnika:

Usmerjevalnik 4G kot univerzalni strežnik za IoT

Trenutno je na voljo 73 modulov. Tukaj je nekaj zanimivih:

  • RDEČE vozlišče - priljubljeno orodje za združevanje različnih industrijskih protokolov v holistični sistem
  • nodejs — polnopravni strežnik nodejs. Velika količina RAM-a in močan procesor omogočata zagon aplikacij, ki zahtevajo veliko virov, neposredno na usmerjevalniku!
  • Python2/3
  • Webshell — omogoča delo v konzoli prek brskalnika.
  • Azure IoT SDK Python — nabor orodij za razvoj programov za Microsoft Azure IoT Hub.

Ker je vdelana programska oprema usmerjevalnikov odprta, lahko razvijalci pišejo svoje module, vključno s tistimi s spletnim vmesnikom. Referenčni materiali so na voljo na vodnik za pisanje modulov и in razdelek za razvijalce na spletni strani podjetja. Za udobje sestavljanja paketov je na voljo že pripravljen paket okolje za navzkrižno prevajanje.

Viri strojne opreme prek lupinskih skriptov

Za preprosta opravila avtomatizacije je priročno uporabljati lupinske skripte, iz katerih lahko nadzorujete svetlobno indikacijo in pridobite/nastavite stanje digitalnih zatičev.

Svetlobna indikacija priročno prikazuje trenutno stanje izvajanja ukaza. Na primer, indikator prenosa podatkov - hitro utripa, poskus povezave - redko utripa, mirovanje - neprekinjeno sveti. Razmislite o ekipi vodila. Za vnos potrebuje samo en argument - tip utripajoče LED diode.

# led
led on|off|fast|slow

Takole je videti v resničnem življenju:


Predstavitev načinov delovanja indikatorja po meri prek ukazov lupine

Za delo z digitalnimi zatiči uporabite ukaz io.

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

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

Pomembno si je zapomniti, da je logika v tem primeru obrnjena. V skladu s tem je 1=NIZKO, 0=VISOKO. Uporaba ukaza io z lahkoto lahko delamo z digitalnimi zatiči iz bash skriptov in gradimo preprosto logiko za avtomatizacijo in upravljanje.

Za prikaz enostavnosti dela z digitalnimi vhodi in zasloni napišimo neuporaben skript, ki prikazuje status digitalnega vhoda s pomočjo LED.

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

Princip skripte je preprost: če je BIN0 v stanju 0, potem dioda sveti pogosto, sicer pa sveti neprekinjeno. Takole je videti v resničnem življenju:


Predstavitev skripta bash, ki prikazuje status digitalnega vhoda z uporabo indikatorja.

Kljub primitivnosti tega skripta jasno prikazuje, kako lahko v eni vrstici, brez dodatne programske opreme, knjižnic in nastavitev, sprejemate vhodne podatke iz digitalnih vhodov in se nanje odzovete.

reference

Vabimo vas na partnerski forum Advantech

Usmerjevalnik 4G kot univerzalni strežnik za IoT
Forum Advantech bo edinstvena platforma za razpravo o lokalnih in globalnih trendih v internetu stvari. Tukaj lahko izmenjujete izkušnje pri uporabi novih tehnoloških rešitev in produktov, najdete nove stranke in partnerje. Imeli boste priložnost videti izdelke, ki smo jih opisali v člankih in še več. Pred nami bodo govorci vodilnih v industriji in predstavniki ključnih partnerjev – NVidia, Intel in drugih podjetij, ki se v prihodnjih letih aktivno vključujejo v razvoj industrijskega interneta stvari. Na dogodku bomo veseli vseh strokovnjakov s področja industrijske avtomatizacije in interneta stvari. Udeležba na dogodku je brezplačna! Omejeno število sedežev. Pohitite s prijavo.

Vir: www.habr.com

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster