
Sērijas maršrutētāji ir paredzēti, lai aizvietotu klasisko kombināciju: vienas plates dators + modems + maršrutētājs. Tagad visu nepieciešamo loģiku var palaist tieši maršrutētājā. Pateicoties jaudīgajam ARM procesoram, 512 MB operatīvās atmiņas un ~2GB iebūvētās zibspuldzes atmiņas, maršrutētājā var pat palaist nodejs serveri!
Sekvenciālie RS-232/485 interfeisi ir iebūvēti maršrutētājā un pieejami nekavējoties operētājsistēmā ar pilnu root piekļuvi. Atvērtā vide, lai izstrādātu savas programmas un C/C++ bibliotēkas, lai strādātu ar zema līmeņa aparatūras API, ir arī pieejama.
Dziļā miega funkcija ļaus ekonomēt enerģiju, strādājot no akumulatora: maršrutētāju var aktivizēt tikai tad, kad savienojums patiešām ir nepieciešams.
Rakstā mēs izskatīsim interesantas ierīces funkcijas un mēģināsim praktiski strādāt ar ieejas-izejas interfeisiem no shell skriptiem.
Tehniskās specifikācijas
Sērijas maršrutētāji tiek veikti uz vienotas aparatūras platformas un tiek piedāvāti piecās modeļos, kas atšķiras ar LTE frekvenču joslām, Wi-Fi klātbūtni un ģeolokāciju (GNSS). Ierīces tiek pozicionētas kā aizstāšana vienas plates datora un maršrutētāja kombinācijai. Jaudīgais procesors un liels operatīvās atmiņas apjoms ļauj palaist resursus prasīgus lietotāja lietojumus tieši maršrutētājā.
- Cortex-A8 procesors — takts frekvence 1 GHz, 32 bitu arhitektūra
- 512 MB RAM
- Zibspuldzes atmiņa no 1,5 līdz 4 GB — lietotāja datu glabāšanai
- Ieejas-izejas porti — RS-232/485 interfeisi un digitālās ieejas-izejas porti pieejami lietotāja programmām
Atsevišķi jāizceļ modelis , kas darbojas pēc LTE Cat. M1 standarta (). LTE Cat. M1 protokols tika speciāli izstrādāts M2M risinājumiem, tam ir zema datu pārsūtīšanas ātrums (375 kb/s), kā arī liela darbības distance un uzlabota stabilitāte sarežģītos savienojumu apstākļos iekštelpās. Maršrutētājam ir iebūvēts , kas ļauj ierīcei strādāt īsu laiku pēc pilnīgas strāvas izslēgšanas.
Dziļā miega režīms
Dziļā miega režīms ļauj ievest maršrutētāju stāvoklī, kad visi procesi ir iesaldēti un aparatūras daļa ir izslēgta, lai ekonomētu enerģiju, tajā pašā laikā visas ierīces funkcijas tiek izslēgtas, un no puses tā izskatīsies pilnībā izslēgta. Enerģijas patēriņš šādā režīmā ir ne vairāk kā 10 mW.

Miegs režīmā maršrutētājs gandrīz patērē enerģiju un pamostas 3 sekunžu laikā
Kad ir nepieciešams pamodināt maršrutētāju datu pārsūtīšanai, tas pamodīsies ~3 sekunžu laikā. Protams, reģistrācijai mobilo tīklu vajadzēs papildu laiku, tomēr tas ir ievērojami ātrāk nekā maršrutētāja ielāde no nulles. Šī opcija ir noderīga autonomās jaudas sistēmām, kas lielāko daļu laika ir neaktīvas un aktivizējas reti, piemēram, drošības signālu vai rezerves bloka izpildei.
Pamodināšana un aizmigšana
Aizmigšanas un pamodināšanas kontrole notiek caur moduli .
Pastāv 2 veidi, kā kontrolēt miega režīmu:
- Caur digitālo ieeju — šajā režīmā maršrutētājs tiek kontrolēts no ārēja ierīce, piemēram, mikroprocesora. Uz LOW signāla digitālajā ieejā maršrutētājs aizmieg, bet, saņemot HIGH, pamostas vai otrādi. Var arī iestatīt aktivizēšanās laika ierobežojumu, lai pasargātu no nejaušiem pārslēgumiem.
- Caur iekšējo taimeri — maršrutētājs skaita laiku un pamostas/aizmieg noteiktajā laikā. To ērti izmantot vienreizēju operāciju veikšanai vai datu ielādēšanai noteiktā laika periodā.

Miega režīma dziļās iestatīšanas interfeiss
Funkcija „pēdējais elpas vilciens”
Kvarcējums pie attālinātā objekta var būt īpaši nepatīkams, jo nav skaidrs, kāpēc nav saziņas ar objektu. Funkcija „Pēdējais elpas vilciens” ļauj maršrutētājam darboties kādu laiku pēc pilnīgas elektroapgādes izslēgšanās un nosūtīt ziņojumu, ka notikusi avārija un rezerves enerģija nav iekļauta. Pateicoties iebūvētajam superkapacitāram, kura resurss ir ievērojami lielāks nekā akumulatoriem, tam nav nepieciešama apkope un maiņa. Tas ir noderīgi jaudas rezerves sistēmām, kurās iespējamas neveiksmes un ir svarīgi uzraudzīt pilnīgas sprieguma zuduma momentu.

Maršrutētājs nosūtīs signālu par elektroapgādes avāriju pat pēc pilnīgas barošanas izslēgšanās
Lai pareizi reaģētu uz elektroapgādes zuduma notikumu, ir jāzina par to.
Pašreizējo barošanas spriegumu var iegūt vai nu ar shell komandu status sys:
$ status sys
Firmware Version : 6.1.10 (2019-07-02)
Serial Number : ACZ1100000623519
Profile : Standarts
RTC Battery : Labi
Supply Voltage : 12.3 V # ← strāvas spriegums
Temperature : 37 C # ← temperatūra korpusā
Time : 2019-08-16 16:21:18
Uptime : 0 dienas, 11 stundas, 43 minūtes
Vai nu ar aparatūras Unix I/O kontroli (ioctl) un programmu C/C++ vai citā valodā.
Tabulā ir uzskaitītas nepieciešamo aparatūras reģistru adreses. Pašreizējais strāvas spriegums tiek atgriezts kā vesels skaitlis, milivoltā. Zemo līmeņu API izmantošana ir priekšroka, salīdzinot ar shell skriptiem, šajā gadījumā ātrākai reakcijai. Sīkāka informācija par aparatūras daļu ir pieejama

Ioctl pieprasījums, kas atgriež pašreizējo strāvas spriegumu.
Sekvenciārie interfeisi
Maršrutētājā ir iebūvēti divi sekvenciārie interfeisi: RS-232 un RS-485. Tie ļauj pieslēgt perifērijas ierīces tieši maršrutētājam, nesazinoties ar papildu automatizāciju. Tajā pašā laikā uz maršrutētāja var darboties pilnvērtīgs Node-RED vai Nodejs serveris, kas ļauj izmantot vienu ierīci, lai izveidotu vienkāršu automatizācijas sistēmu, bez papildu datoriem un kontrolieriem.

Pēc noklusējuma abi interfeisi ir pieejami darbam kā standarta serial ierīces Linux operētājsistēmā:
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 # ← nav izstrādāts
Visas standarta bibliotēkas atbalstīs šīs ierīces bez papildu konfigurācijām, tostarp modulis un citi.
Lietotāju moduļi
Ierīces funkcionalitāti var paplašināt, izmantojot lietotāju moduļus: tas ir vienkāršots pakotņu variants, tikai bez pakotņu pārvaldnieka. Pilns pieejamo moduļu saraksts ir pieejams mājaslapā .
Moduli tiek instalēti manuāli, augšupielādējot pakotnes failu caur tīmekļa interfeisu:

Šobrīd ir pieejami 73 moduļi. Šeit ir daži interesanti no tiem:
- — populārs rīks dažādu rūpniecisko protokolu apvienošanai vienotā sistēmā
- — pilnvērtīgs nodejs serveris. Lielais operatīvās atmiņas apjoms un jaudīgs procesors ļauj palaist resursietilpīgas lietotnes tieši uz maršrutētāja!
- — ļauj strādāt konsolē caur pārlūkprogrammu.
- — rīku komplekts Microsoft Azure IoT Hub programmu izstrādei.
Tā kā maršrutētāju programmatūra ir atvērta, izstrādātāji var rakstīt savus moduļus, tostarp ar tīmekļa saskarni. Atsauces materiāli pieejami un kompānijas vietnē. Lai atvieglotu pakotņu veidošanu, ir pieejama gatava .
Aparatūras resursi caur shell skriptiem
Vienkāršām automatizācijas uzdevumu risināšanai ērtāk izmantot shell skriptus, ar kuriem var pārvaldīt gaismas indikāciju un iegūt/iestatīt digitālo pin modu stāvokli.
Gaismas indikācijai ir ērti parādīt pašreizējo komandu izpildes stāvokli. Piemēram, datu pārsūtīšana — bieža mirgošana, pieslēgšanās mēģinājums — reta mirgošana, gaidīšanas režīms — nepārtraukta gaismas iedegšanās. Apskatīsim komandu led. Tai ir tikai viens arguments — gaismas dioda mirgošanas veids.
# led
led on|off|fast|slow
Lūk, kā tas izskatās reālajā dzīvē:
Lietotāja indikatora režīmu demonstrācija caur shell komandām
Darbojoties ar digitālajiem pin moduļiem, tiek izmantota komanda io.
$ io
Usage: io [get ] | [set ]
io set out0 1 # Iestatīt digitālo izeju OUT0 stāvokli 1 (LOW)
io get bin0 # Iegūt digitālā ieejas BIN0 vērtību
Ir svarīgi atcerēties, ka šajā gadījumā loģika ir inversa. Attiecīgi 1=LOW, 0=HIGH. Izmantojot komandu io mēs varam viegli strādāt ar digitālajiem pin moduļiem no bash skriptiem un veidot vienkāršu loģiku automatizācijai un pārvaldībai.
Kā vienkāršu darba demonstrāciju ar digitālajiem ieejas un indikāciju, uzrakstīsim bezjēdzīgu skriptu, kas attēlo digitālās ieejas statusu ar gaismas dioda palīdzību.
#!/bin/bash
while true
do
[ $(io get bin0) -eq 0 ] && led fast || led on
done
Skripta darbības princips ir vienkāršs: ja BIN0 ir stāvoklī 0, diods mirgo bieži, citādi tas iedegas nepārtraukti. Lūk, kā tas izskatās dzīvē:
Bash skripta demonstrācija, kas parāda digitālās ieejas stāvokli ar indikatora palīdzību.
Neskatoties uz šī skripta primitivitāti, tas ilustrē, kā vienā rindā, bez papildu programmatūras, bibliotēkām un iestatījumiem var iegūt ieejas datus no digitālajiem ieejas un reaģēt uz tiem.
Saites
- Šajā rakstā netiek apspriestas maršrutētāju tīkla funkcijas, piemēram, slodzes balansēšana, failover, VPN utt., jo visas šīs tēmas jau ir izpētītas citā mūsu rakstā: .
- Maršrutētāja pielietojuma piemērs ir mūsu pirmajā rakstā: .
- Iepazīties ar produktu cenām var kopējā . Mūsu vietne krieviski vēl nav gatava.
Aicinām uz Advantech partneru forumu

Advantech forums kļūs par unikālu platformu lokālo un globālo tendenciju apspriešanai Internetu lietu jomā. Šeit jūs varēsiet apmainīties ar pieredzi par jaunu tehnoloģisko risinājumu un produktu izmantošanu, atrast jaunus klientus un partnerus. Jums būs iespēja apskatīt produktus, par kuriem mēs rakstījām rakstos, un ne tikai. Mūsu pasākumā uzstāsies nozares līderi un galveno partneru pārstāvji – NVidia, Intel un citas kompānijas, kas aktīvi piedalās industriālā Internetu lietu attīstībā tuvākajos gados. Mēs priecāsimies redzēt visus speciālistus industriālās automatizācijas un Internetu lietu jomā šajā pasākumā. Piedalīšanās pasākumā ir bezmaksas! Vietu skaits ir ierobežots. .
Avots: habr.com
