Router 4G si një server universal për IoT

Router 4G si një server universal për IoT
Ruterët e serisë ICR-3200 janë të destinuar të zëvendësojnë kombinimin klasik: kompjuter me një pllakë + modem + router. Tani është e mundur të ekzekutoni gjithë logjikën e nevojshme drejtpërdrejt në router. Falë procesorit të fuqishëm ARM, 512 MB RAM dhe ~2GB memorie flash të integruar, në router mund të ekzekutoni madje edhe një server nodejs!

Interfacet seriale RS-232/485 gjithashtu janë të integruara në router dhe janë në dispozicion menjëherë në sistemin operativ me akses të plotë root. Një mjedis i hapur për ndërtimin e programeve të veta dhe bibliotekat C/C++ për të punuar me API-në e pajisjeve me nivel të ulët gjithashtu janë të disponueshme.
Funksioni i gjumit të thellë do të ndihmojë në kursimin e energjisë kur punoni me bateri: routeri mund të aktivizohet vetëm atëherë kur lidhja është me të vërtetë e nevojshme.

Në këtë artikull do të shqyrtojmë funksionet interesante të pajisjes dhe do të përpiqemi të punojmë në praktikë me ndërfaqen e input-output nga shell-skriptet.

Specifikimet teknike

Ruterët e serisë ICR-3200 mbushen në një platformë të vetme hardware dhe paraqiten me pesë modele, të cilat ndahen në gamat e frekuencave LTE, prania e Wi-Fi dhe gjeolokacionit (GNSS). Pajisjet e pozicionuara si një zëvendësim për kombinimin e një kompjuteri të vetëm dhe një routeri. Procesori i fuqishëm dhe ishim i madh i memories operuese lejojnë ekzekutimin e aplikacioneve të kërkueshme të përdoruesve drejtpërdrejt në router.

  • Procesori Cortex-A8 — frekuenca e taktimeve 1 GHz, arkitektura 32 bit
  • 512 MB RAM
  • Memoria flash nga 1,5 deri nĂ« 4 GB — pĂ«r ruajtjen e tĂ« dhĂ«nave tĂ« pĂ«rdoruesit
  • Portet e hyrjes dhe daljes — ndĂ«rfaqet RS-232/485 dhe portet digjitale janĂ« tĂ« disponueshme pĂ«r t'u pĂ«rdorur nga programet e pĂ«rdoruesve

Veçanërisht, modeli ICR-3211B, punon sipas standardit LTE Cat. M1 (NB-IoT). Protokolli LTE Cat. M1 është zhvilluar posaçërisht për zgjidhjet M2M, ka një shpejtësi të ulët transmetimi (375 kb/s), si dhe një distancë më të madhe dhe stabilitet të përmirësuar në kushte të vështira komunikimi brenda ambienteve. Routeri ka një superkondensator, i cili lejon pajisjes të punojë për një kohë të shkurtër pas fikjes së plotë të energjisë.

Rezhimi i gjumit të thellë

ReĆŸimi i gjumit tĂ« thellĂ« lejon ruterin tĂ« hyjĂ« nĂ« njĂ« gjendje ku tĂ« gjitha proceset janĂ« tĂ« ngrira dhe pjesa harduerike Ă«shtĂ« e fikur pĂ«r tĂ« kursyer energji, duke bĂ«rĂ« qĂ« tĂ« gjitha funksionet e pajisjes tĂ« qĂ«ndrojnĂ« tĂ« fikura dhe duke e bĂ«rĂ« atĂ« tĂ« duket plotĂ«sisht e fikur nga jashtĂ«. Konsumi i energjisĂ« nĂ« kĂ«tĂ« mod Ă«shtĂ« maksimalisht 10 mW.

Router 4G si një server universal për IoT
Në modin e gjumit, ruteri pothuajse nuk konsumon energji dhe zgjohesh për 3 sekonda

Kur është e nevojshme të zgjohet ruterin për të transferuar të dhëna, ai zgjohesh për ~3 sekonda. Natyrisht, do të nevojitet kohë shtesë për regjistrimin e modemit në rrjetin celular, megjithatë kjo është ndjeshëm më e shpejtë se sa ngarkimi i ruterit nga zero. Kjo mundësi është e dobishme për sistemet me energji autonome, të cilat kalojnë shumicën e kohës në pushim dhe aktivizohen herë pas here për të kryer veprime aktive, si sinjalizimi ose blloku i rezervimit.

Zgjimi dhe flen

Menaxhimi i flenjes dhe zgjimit ndodh pĂ«rmes modulit ReĆŸimi i gjumit.

Ekzistojnë 2 mënyra për të menaxhuar modin e gjumit:

  • PĂ«rmes hyrjes dixhitale — nĂ« kĂ«tĂ« modalitet, router-i menaxhohet nga njĂ« pajisje e jashtme, siç Ă«shtĂ« njĂ« mikro-kontroler. Me sinjalin LOW nĂ« hyrjen dixhitale, router-i hyn nĂ« gjumĂ«, dhe kur merr HIGH — zgjohet, ose pĂ«rkundrazi. Mund tĂ« konfigurohet gjithashtu njĂ« kohĂ«zgjatje pĂ«r aktivizimin e sigurisĂ« nga ndĂ«rrimet e rastit.
  • PĂ«rmes orĂ«s sĂ« brendshme — router-i numĂ«ron kohĂ«n dhe zgjohet/vjen nĂ« gjumĂ« nĂ« kohĂ«n e duhur. Kjo Ă«shtĂ« e dobishme pĂ«r kryerjen e operacioneve njĂ« herĂ« ose shkarkimin e tĂ« dhĂ«nave pĂ«r njĂ« periudhĂ« tĂ« caktuar.

Router 4G si një server universal për IoT
Ndërfaqja e konfigurimit të regjimit të gjumit të thellë

Funksioni "fryma e fundit"

Aksidenti i energjisë në një objekt të largët është veçanërisht i pakëndshëm, sepse është e paqartë se përse nuk ka lidhje me objektin. Funksioni "Fryma e fundit" lejon router-in të punojë për një kohë pas fikjes së plotë të energjisë dhe të dërgojë një mesazh se ndodhi një aksident dhe energjia rezervë nuk u aktivizua. Falë superkondensatorit të integruar, i cili ka një kapacitet shumë më të madh se bateritë, nuk kërkon mirëmbajtje dhe zëvendësim. Kjo është e dobishme për sistemet e rezervimit të energjisë, ku dështimet janë të mundshme dhe është e rëndësishme të ndiqet momenti i humbjes së plotë të tensionit.

Router 4G si një server universal për IoT
Ruter do t'i dërgojë sinjal për një defekt në energji edhe pas një ndërrimi të plotë të energjisë.

Për të reaguar siç duhet ndaj humbjes së energjisë, është e nevojshme të merret ndonjë informacion rreth saj.
Tensioni aktual i energjisë mund të merret përmes komandes shell. status sys:

$ status sys
Versioni i Firmware: 6.1.10 (2019-07-02)
Numri serial    : ACZ1100000623519
Profil          : Standard
Bateria RTC      : Ok
Tensioni i furnizimit: 12.3 V # ← tensioni i energjisĂ«
Temperatura      : 37 C   # ← temperatura brenda kutisĂ«
Koha             : 2019-08-16 16:21:18
Koha e operimit  : 0 ditë, 11 orë, 43 minuta

Ose përmes kontrollit të I/O të Unix-it (ioctl) dhe një programi në C/C++ ose një gjuhë tjetër.
Tabela tregon adresat e regjistrave të nevojshme harduerikë. Tensioni aktual i energjisë kthehet si një numër i plotë, në miliVolt. Përdorimi i API-ve të nivelit të ulët është i preferueshëm në këtë rast për një reagim më të shpejtë se skenaret shell. Informacione të hollësishme mbi punën me harduerin janë të disponueshme në udhezuesin e zhvilluesit.

Router 4G si një server universal për IoT
Kërkesa ioctl, që kthen tensionin aktual të energjisë.

Mënyrat e komunikimit serial

Routeri ka dy interface të sekuencës së përbashkët: RS-232 dhe RS-485. Ato lejojnë lidhjen e pajisjeve periferike direkt me routerin, pa pasur nevojë për ndonjë lidhje shtesë. Në të njëjtën kohë, mund të operohet një server i plote Node-RED ose Nodejs në router, duke lejuar përdorimin e një pajisjeje për të krijuar një sistem të thjeshtë të automatizimit, pa kompiuterë dhe kontrolerë shtesë.

Router 4G si një server universal për IoT

Në mënyrë default, të dyja interface janë të aksesueshme për t'u përdorur si pajisje serial standarde në Linux:

ls -la /dev/ttyS*
crw-------    1 root     root      251,   0 Jan  1  1970 /dev/ttyS0 # ← porta rs-232
crw-------    1 root     root      251,   1 Jan  1  1970 /dev/ttyS1 # ← porta rs-485 
crw-------    1 root     root      251,   5 Jan  1  1970 /dev/ttyS5 # ← nuk Ă«shtĂ« i lidhur

Të gjitha bibliotekat standarde do të mbështesin këto pajisje pa konfigurime shtesë, përfshirë modul Modbus-RTU2TCP dhe të tjerë.

Modulet e personalizuara

Funksionaliteti i pajisjes mund të zgjerohet përmes moduleve të personalizuara: kjo është një version i thjeshtuar i paketave, vetëm pa menaxherin e paketave. Lista e plotë e moduleve të disponueshme është në faqen https://advantech-bb.cz/products/software/user-modules.

Modulet instalohen manualisht, përmes ngarkimit të skedarit të paketës nëpërmjet ndërfaqes në internet:

Router 4G si një server universal për IoT

Aktualisht janë të disponueshme 73 module. Ja disa prej tyre që janë interesante:

  • Node-RED — njĂ« mjet popullar pĂ«r tĂ« bashkuar protokolle tĂ« ndryshme industriale nĂ« njĂ« sistem tĂ« integruar.
  • Nodejs — njĂ« server plotĂ«sisht funksional nodejs. Kapaciteti i madh i memories dhe procesori i fuqishĂ«m lejojnĂ« ekzekutimin e aplikacioneve intensive drejtpĂ«rdrejt nĂ« router!
  • Python2/3
  • Web-shell — lejon punĂ«n nĂ« konsolĂ« pĂ«rmes shfletuesit.
  • Azure IoT SDK Python — njĂ« grup mjetesh pĂ«r zhvillimin e programeve pĂ«r Microsoft Azure IoT Hub.

Duke qenë se firmware-i i routerëve është i hapur, zhvilluesit mund të shkruajnë modulet e tyre, përfshirë ato me ndërfaqe web. Materialet ndihmëse janë të disponueshme në udhëzuesin për shkruarjen e moduleve dhe dhe seksionin për zhvilluesit në uebsajt të kompanisë. Për lehtësinë e ndërtimit të paketave, është në dispozicion një mjedis për kryqkompilim.

Burimet harduerike përmes shell-scriptave

Për detyra të thjeshta automatizimi, është e lehtë të përdoren shell-scriptat, me të cilat mund të menaxhohet ndriçimi dhe të merret/vlerësohen gjendja e pinëve digjitalë.

PĂ«rdorimi i ndriçimit tĂ« dritĂ«s Ă«shtĂ« i pĂ«rshtatshĂ«m pĂ«r tĂ« treguar gjendjen aktuale tĂ« ekzekutimit tĂ« komandave. PĂ«r shembull, pĂ«r ndriçimin e transfertave tĂ« tĂ« dhĂ«nave — ndriçim i shpeshtĂ«, pĂ«rpjekja e lidhjes — ndriçim i rrallĂ«, ndĂ«rsa periudha e pushimit — ndriçon vazhdimisht. Le ta shqyrtojmĂ« komandĂ«n led. Ajo pranon vetĂ«m njĂ« argument nĂ« hyrje — lloji i ndriçimit tĂ« dritĂ«s.

# led
led on|off|fast|slow

Këtu si duket në jetë reale:


Demonstrimi i mënyrave të funksionimit të indikatorit përdorues përmes komandave shell

Për të punuar me pinat numerikë përdoret komandë io.

$ io
Përdorimi: io [merr <pin>] | [cakto <pin> <vlerë>]

io set out0 1 # Cakto daljen numerike OUT0 në gjendjen 1 (LOW)
io get bin0   #  Merr vlerën e hyrjes numerike BIN0

ËshtĂ« e rĂ«ndĂ«sishme tĂ« mbani mend se logjika nĂ« kĂ«tĂ« rast Ă«shtĂ« e inverse. Prandaj 1=LOW, 0=HIGH. Duke pĂ«rdorur komandĂ«n io ne mund tĂ« punojmĂ« lehtĂ«sisht me pinat numerikĂ« nga skriptet bash dhe tĂ« ndĂ«rtojmĂ« logjikĂ« tĂ« thjeshtĂ« pĂ«r automatizim dhe menaxhim.

Si një demonstrim i thjeshtësisë së punës me hyrjet numerike dhe ndriçimin, do të shkruajmë një skript të padobishëm që tregon statusin e hyrjes numerike me ndihmën e një dritë.

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

Parimi i funksionimit të skriptit është i thjeshtë: nëse BIN0 është në gjendje 0, drita LED digjet shpesh, në të kundërtën ajo digjet në mënyrë të vazhdueshme. Ja si duket në jetën reale:


Demonstrimi i funksionimit të skriptit bash, që tregon gjendjen e hyrjes digjitale me ndihmën e indikatorit.

Megjithëse ky skript është primitiv, ai tregon qartë se si, me një rresht, pa software të shtuar, biblioteka dhe konfigurime, mund të merrni të dhëna nga hyrjet digjitale dhe të reagoni ndaj tyre.

Linke

Ftojmë në forumin e partnerëve të Advantech

Router 4G si një server universal për IoT
Forumi Advantech do të jetë një platformë unike për diskutimin e tendencave lokale dhe globale në fushën e Internetit të Gjërave. Këtu do të mund të ndani përvojën tuaj në përdorimin e zgjidhjeve dhe produkteve të reja teknologjike, të gjeni klientë dhe partnerë të rinj. Do të keni mundësinë të shihni produktet që i kemi përshkruar në artikuj dhe jo vetëm. Do të flasin liderë të industrisë dhe përfaqësues të partnerëve kyç - NVidia, Intel dhe kompani të tjera që po japin një kontribut aktiv në zhvillimin e Internetit të Gjërave industrial për vitet e ardhshme. Do të jemi të lumtur të shohim në ngjarje të gjithë profesionistët në fushën e automatizimit industrial dhe Internetit të Gjërave. Pjesëmarrja në ngjarje është falas! Numri i vendeve është i kufizuar. Regjistrohuni tani.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster