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

Router 4G si një server universall për IoT
Ruterët e serisë ICR-3200 japan të zëvendësojnë kombinimin klasik: kompjuter njëskelar + modem + router. Tani mund të nisni logjikën e nevojshme direkt në router. Falë procesorit të fuqishëm ARM, 512 MB RAM dhe ~2GB memorie flash të integruar, mund të niset madje një server nodejs në router!

Interfisat seriale RS-232/485 gjithashtu janë të integruara në router dhe janë në dispozicion menjëherë në sistemin operativ me qasje të plotë root. Një ambient i hapur për ndërtimin e programeve tuaja dhe bibliotekat C/C++ për të punuar me API-në harduerike të nivelit të ulët gjithashtu janë në dispozicion.
Funksioni i gjumit të thellë do të lejojë kursimin e energjisë kur punoni me bateri: routeri mund të aktivizohet vetëm kur lidhja është vërtet e nevojshme.

Në këtë artikull ne do të shqyrtojmë funksionet interesante të pajisjes dhe do të përpiqemi të punojmë praktikisht me ndërfaqen e hyrjes dhe daljes nga shell-skriptet.

Specifikat teknike

Ruterët e serisë ICR-3200 janë realizuar mbi një platformë të vetme harduerike dhe paraqiten me pesë modele, të cilat dallohen nga diapazonet e frekuencave LTE, praninë e Wi-Fi dhe gjeolokacionit (GNSS). Pajisjet pozicionohen si një zëvendësim i kombinuar të kompjuterit njëskelar dhe routerit. Procesori i fuqishëm dhe volumi i madh i RAM lejon që të nisin aplikacione përdoruesish kërkuese direkt në router.

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

Veçanërisht, vlen të përmendet modeli ICR-3211B, i cili 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 të të dhënave (375 kb/s), si dhe një pretendim të madh dhe stabilitet të rritur në kushte të vështira lidhjeje brenda ambienteve. Routeri ka një superkondensator, i cili lejon pajisjes të punojë për një kohë të shkurtër pas një ndërprerjeje të plotë të energjisë.

Rejimi i gjumit të thellë

Rejimi i gjumit të thellë lejon futjen e routerit në një gjendje kur të gjitha proceset janë ngrirë dhe komponenti harduerik është i çaktivizuar për kursimin e energjisë, ndërkohë që të gjitha funksionet e pajisjes çaktivizohen dhe nga ana tjetër do të duket plotësisht e fikur. Konsumi i energjisë në këtë mod është jo më shumë se 10 mW.

Router 4G si një server universall për IoT
Në modalitetin e gjumit, router-i konsumon almost zero energji dhe zgjohet për 3 sekonda

Kur nevojitet të zgjohesh router-i për të transmetuar të dhëna, ai do të zgjohet për ~3 sekonda. Sigurisht, do të nevojitet edhe pak kohë për të regjistruar modem-in në rrjetin celular, megjithatë, kjo është dukshëm më e shpejtë se sa ngarkimi nga zero. Ky opsion është i dobishëm për sistemet me energji autonome, që kalojnë shumicën e kohës në gjumë dhe aktivizohen herë pas here, për të kryer veprime aktive, si për shembull sinjalizimi ose blloku i rezervës.

Zgjuar dhe Fjetur

Menaxhimi i gjumit dhe zgjuarjes ndodh përmes modulit Modaliteti i Gjumit.

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

  • PĂ«rmes hyrjes digjitale — nĂ« kĂ«tĂ« modalitet, router-i kontrollohet nga njĂ« pajisje jashtme, si pĂ«r shembull njĂ« mikrokompjuter. Me sinjalin LOW nĂ« hyrjen digjitale, router-i fjet dhe kur merr HIGH - zgjohet, ose e kundĂ«rta. Gjithashtu mund tĂ« konfiguroni njĂ« vonesĂ« pĂ«r mbrojtjen ndaj ndĂ«rrimeve tĂ« rastit.
  • PĂ«rmes orĂ«s sĂ« brendshme — router-i numĂ«ron kohĂ«n dhe zgjohet/fle nĂ« kohĂ«n e duhur. Kjo Ă«shtĂ« e dobishme pĂ«r kryerjen e operacioneve njĂ« herĂ« ose pĂ«r ngarkimin e tĂ« dhĂ«nave pĂ«r njĂ« periudhĂ« tĂ« caktuar.

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

Funksioni "fryma e fundit"

Një prishje energjie në një objekt të largët mund të jetë veçanërisht e pakëndshme, sepse nuk dihet se përse nuk ka qasje në objekt. Funksioni "Fryma e fundit" lejon që router-i të punojë për një kohë të caktuar pas ndërprerjes totale të energjisë dhe të dërgojë një mesazh se ndodhi një prishje dhe energjia rezervë nuk u aktivizua. Falë superkondensatorit të integruar, burimi i të cilit është ndjeshëm më i madh se ai i baterive, ai nuk kërkon shërbim dhe zëvendësim. Kjo është e dobishme për sistemet e rezervës së energjisë, në të cilat ndodhin çështje dhe është e rëndësishme të ndjehet momenti i humbjes totale të tensionit.

Router 4G si një server universall për IoT
Router-i do të dërgojë një sinjal për prishje energjie edhe pas ndërprerjes totale të energjisë

Për të reaguar siç duhet ndaj ngjarjes së humbjes së energjisë, duhet të dihet ndonjëherë për këtë.
Tensioni aktual i energjisë mund të merret ose përmes komandës shell 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 # ← tensioni i furnizimit
Temperature      : 37 C   # ← temperatura brenda kutisĂ«
Time             : 2019-08-16 16:21:18
Uptime           : 0 days, 11 hours, 43 minutes

Ose nëpërmjet kontrollit fizik Unix I/O (ioctl) dhe një programi në C/C++ ose një gjuhë tjetër.
Në tabelë janë treguar adresat e regjistrave të nevojshëm të harduerit. Tensioni aktual i furnizimit kthehet si një numër i plotë, në milivolt. Përdorimi i API-së me nivel të ulët është më i preferuar se skenaret shell në këtë rast për një reagim më të shpejtë. Informatat e hollësishme mbi punën me harduerin janë të disponueshme në udhëzuesin e zhvilluesit.

Router 4G si një server universall për IoT
Kërkesa ioctl, që jep tensionin aktual të furnizimit.

Interfacet Serial

Në router janë të integruara dy interface seriale: RS-232 dhe RS-485. Ato lejojnë lidhjen e pajisjeve periferike direkt në router, pa përdorur pajisje të tjera. Dhe në router mund të funksionojë një server i plotë Node-RED ose Nodejs, i cili lejon përdorimin e një pajisjeje për krijimin e një sistemi të thjeshtë automatizimi, pa kompjuterë dhe kontrolerë shtesë.

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

Sipas parazgjedhjes, të dy interface janë të disponueshme për punë si pajisje standarde seriale në Linux:

ls -la /dev/ttyS*
crw-------    1 root     root      251,   0 Jan  1  1970 /dev/ttyS0 # ← porti rs-232
crw-------    1 root     root      251,   1 Jan  1  1970 /dev/ttyS1 # ← porti rs-485 
crw-------    1 root     root      251,   5 Jan  1  1970 /dev/ttyS5 # ← i pa ndarĂ«

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

Modulet e personalizuara

Funksionaliteti i pajisjes mund të zgjerohet duke përdorur module të personalizuara: kjo është një variant i thjeshtuar i paketave, por pa menaxher të paketave. Lista e plotë e moduleve të disponueshme është në faqen https://advantech-bb.cz/products/software/user-modules.

Modulet instalohet manualisht, duke ngarkuar skedarin e paketës përmes ndërfaqes në internet:

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

Aktualisht janë në dispozicion 73 module. Ja disa interesante prej tyre:

  • Node-RED — njĂ« mjet popullor pĂ«r lidhjen e protokolleve tĂ« ndryshme industriale nĂ« njĂ« sistem tĂ« plotĂ«
  • Nodejs — njĂ« server i plotĂ« nodejs. Kapaciteti i madh i memorjes dhe procesori i fuqishĂ«m lejojnĂ« ekzekutimin e aplikacioneve intensive direkt nĂ« router!
  • Python2/3
  • Shell nĂ« internet — lejon punimin nĂ« konsolĂ« pĂ«rmes shfletuesit.
  • Azure IoT SDK Python — grup mjetesh pĂ«r zhvillimin e aplikacioneve pĂ«r Microsoft Azure IoT Hub.

Duke qenë se firmware i routerëve është i hapur, zhvilluesit mund të shkruajnë module të tyre të veta, përfshirë edhe ato me ndërfaqe web. Materialet referuese janë të disponueshme në udhëzuesin për shk writing e moduleve dhe dhe seksionin për zhvilluesit nëfaqen e internetit të kompanisë. Për lehtësinë e ndërtimit të paketave, një mjedis i gatshëm për përkthim të kryqëzuar është në dispozicion..

Burimet harduerike nëpërmjet shell-script-ëve

Për detyra të thjeshta automatizimi, është e përshtatshme të përdoren shell-script, nga të cilat mund të menaxhohen treguesit e dritës dhe të merret/vendoset gjendja e pin-eve digjitalë.

Treguesi i dritĂ«s Ă«shtĂ« i pĂ«rshtatshĂ«m pĂ«r tĂ« treguar gjendjen aktuale tĂ« ekzekutimit tĂ« komandave. PĂ«r shembull, treguesi i transferimit tĂ« tĂ« dhĂ«nave — ndriçim i shpeshtĂ«, pĂ«rpjekja pĂ«r t'u lidhur — ndriçim i rrallĂ«, pritja — ndizet vazhdimisht. Le tĂ« shqyrtojmĂ« komandĂ«n led. Ajo pranon vetĂ«m njĂ« argument — llojin e ndriçimit tĂ« LED-it.

# led
led on|off|fast|slow

Ja si duket në jetën e vërtetë:


Demonstrimi i modeleve të funksionimit të treguesit përdorues përmes komandave shell

Për të punuar me pinët digjitalë, përdoret komanda io.

$ io
Usage: io [get ] | [set  ]

io set out0 1 # Vendosni daljen digjitale OUT0 në gjendjen 1 (LOW)
io get bin0   #  Merrni vlerën e hyrjes digjitale BIN0

ËshtĂ« e rĂ«ndĂ«sishme tĂ« mbani mend se logjika nĂ« kĂ«tĂ« rast Ă«shtĂ« invers. Prandaj 1=LOW, 0=HIGH. Duke pĂ«rdorur komandĂ«n io ne mund tĂ« punojmĂ« lehtĂ«sisht me pinĂ«t digjitalĂ« nga bash-script dhe tĂ« ndĂ«rtosh logjikĂ« tĂ« thjeshtĂ« pĂ«r automatizim dhe menaxhim.

Si një demonstrim i thjeshtësisë së punës me hyrjet digjitale dhe treguesit, ne do të shkruajmë një script të padobishëm që tregon statusin e hyrjes digjitale me ndihmën e LED-it.

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

Parimi i funksionimit të script-it është i thjeshtë: nëse BIN0 është në gjendjen 0, atëherë diodi ndriçon shpesh, ndryshe ndriçon vazhdimisht. Këtu është si duket në jetën reale:


Demonstrimi i punës së bash-script-it që tregon gjendjen e hyrjes digjitale me ndihmën e treguesit.

Megjithëse ky script është primitiv, ai ilustron qartë se si në një rresht, pa softuer, biblioteka dhe konfigurime të tjera, mund të marrim të dhëna hyrëse nga hyrjet digjitale dhe të reagojmë ndaj tyre.

Linket

Ju ftojmë në forumit të partnerëve Advantech

Router 4G si një server universall për IoT
Forumit Advantech do të jetë një platformë unike për të diskutuar tendencat lokale dhe globale në fushën e Internetit të Things. Këtu do të keni mundësinë të shkëmbeni përvoja mbi 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ë kemi përshkruar në artikuj, dhe jo vetëm. Do të flasin liderët e industrisë dhe përfaqësuesit e partnerëve kyç - NVidia, Intel dhe kompani të tjera që po marrin pjesë aktive në zhvillimin e Internetit të Gjërave industrial në vitet e ardhshme. Ne do të jemi të lumtur të shohim çdo profesionist në fushën e automatizimit industrial dhe Internetit të Gjërave në këtë ngjarje. Pjesëmarrja në ngjarje është falas! Numri i vendeve është i kufizuar. Regjistrohuni sa më parë.

Burimi: habr.com

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