
Seeria ruuterid on loodud asendama klassikalist kombinatsiooni: ĂŒheplaadine arvuti + modem + ruuter. NĂŒĂŒd saab kogu vajaliku loogika kĂ€ivitada otse ruuteri peal. TĂ€nu vĂ”imsale ARM-protsessorile, 512 MB RAMile ja ~2 GB sisseehitatud flash-mĂ€lule, on ruuteril vĂ”imalik isegi Node.js serverit kĂ€ivitada!
JĂ€rjestikused RS-232/485 liidesed on samuti ruuterisse sisse ehitatud ja saadaval otse operatsioonisĂŒsteemis tĂ€ieliku root-juurdepÀÀsuga. Avatud keskkond oma programmide koostamiseks ja C/C++ teegid madalama taseme riistvaraga töötamiseks on samuti olemas.
SĂŒgava une funktsioon vĂ”imaldab energiat sÀÀsta aku toitel töötades: ruuterit saab aktiveerida ainult siis, kui ĂŒhendus on tĂ”eliselt vajalik.
KÀesolevas artiklis kÀsitleme seadme huvitavaid funktsioone ja proovime praktiliselt töötada sisendis-/vÀljundliidestega shell-skriptidest.
Tehnilised omadused
Seeria ruuterid on tehtud ĂŒhel riistvaraplatvormil ja esindatud viie mudeliga, mis erinevad LTE sageduste vahemikest, Wi-Fi olemasolust ja geolokatsioonist (GNSS). Seadmed on positsioneeritud kui asendajad ĂŒheplaadisest arvutist ja ruuterist. VĂ”imas protsessor ja suur RAMi maht vĂ”imaldavad kĂ€ivitada ressursimahukaid kasutajarakendusi otse ruuteri peal.
- Protsessor Cortex-A8 â taktsagedus 1 GHz, 32-bitine arhitektuur
- 512 MB RAM
- Flash-mĂ€lu 1,5 GB kuni 4 GB â kasutajate andmete salvestamiseks
- Sisendi-/vĂ€ljundiportide â RS-232/485 liidesed ja digitaalsete sisendi-/vĂ€ljundiportide on saadaval kasutajate programmide jaoks
Erinev mudel on , mis töötab LTE Cat. M1 standardi jĂ€rgi (). LTE Cat. M1 protokoll on spetsiaalselt vĂ€lja töötatud M2M lahenduste jaoks, tal on madal andmeedastuskiirus (375 kb/s), samuti suur edastusvahemik ja kĂ”rgendatud stabiilsus keerulistes ĂŒhendustingimustes siseruumides. Ruuteril on sisse ehitatud , mis vĂ”imaldab seadmel töötada lĂŒhikese aja jooksul pĂ€rast tĂ€ielikku toiteta jÀÀmist.
SĂŒgava une reĆŸiim
SĂŒgava une reĆŸiim vĂ”imaldab viia ruuteri seisundisse, kus kĂ”ik protsessid on peatatud ja riistvara osa on vĂ€lja lĂŒlitatud, et sÀÀsta energiat; samas need seadme funktsioonid lĂŒlitatakse vĂ€lja ja seestpoolt nĂ€eb see vĂ€lja nagu tĂ€iesti vĂ€lja lĂŒlitatud. Energiatarve sellises reĆŸiimis on mitte rohkem kui 10 mW.

Unekleidu reĆŸiimis ruuter tarbib peaaegu mitte mingit energiat ja Ă€rkab 3 sekundiga.
Kui ruuteri Ă€ratamiseks on vaja andmeid edastada, Ă€rkab ta umbes 3 sekundi pĂ€rast.. Loomulikult kulub modemi sisenemiseks mobiilivĂ”rku tĂ€iendav aeg, kuid see on oluliselt kiirem kui ruuteri nullist kĂ€ivitamine. See valik on kasulik autonoomsete toitesĂŒsteemide jaoks, mis on suure osa ajast ootereĆŸiimis ja aktiveerivad harva aktiivseid toiminguid, nagu nĂ€iteks signalisatsioon vĂ”i varuvĂ”imsuse plokk.
Ăratus ja uinak
Uinaku ja Àratuse juhtimine toimub mooduli kaudu. .
Une reĆŸiimi juhtimiseks on kaks vĂ”imalust:
- Digitaalse sisendi kaudu â selle reĆŸiimi korral juhib ruuterit vĂ€line seade, nĂ€iteks mikrokontroller. LOW-signaaliga digitaalne sissevool ruuter uinub ja HIGH signaaliga Ă€rkab, vĂ”i vastupidi. Samuti on vĂ”imalik seadistada aegudevĂ€lk, et vĂ€ltida juhuslikke vahetusi.
- Sisemise taimeri kaudu â ruuter arvutab aega ja Ă€rkab/uinub Ă”igel ajal. Seda on mugav kasutada ĂŒhekordsete toimingute tegemiseks vĂ”i andmete allalaadimiseks mÀÀratud aja jooksul.

SĂŒvaune reĆŸiimi seadistamise liides
Viimase hingetÔuke funktsioon
Toitekatkestus eemalolevas objektis on eriti ebameeldiv, kuna ei ole selge, millest side objektiga puudub. Viimase hingetĂ”uke funktsioon vĂ”imaldab ruuteril töötada mĂ”nda aega pĂ€rast tĂ€ielikku voolukatkestust ja saata sĂ”num, et juhtus avarii ja varuvĂ”imsust ei lĂŒlitatud sisse. TĂ€nu sisseehitatud superkondensaatorile, mille ressurss on oluliselt suurem kui aku, ei vaja see hooldust ega asendamist. See on kasulik varutoitesĂŒsteemide jaoks, kus katkestusi vĂ”ib esineda ja on oluline jĂ€lgida pingekadu hetke.

Ruuter saadab signaali voolukatkestusest isegi pÀrast tÀielikku voolukatkestust.
Kuna Ôigesti reageerida voolukatkestusele, tuleb kuidagi teada saada selle kohta.
Praegust toitepinget saab saada kas shell-kÀsku kasutades 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 # â toiteping
Temperature : 37 C # â korpuse temperatuur
Time : 2019-08-16 16:21:18
Uptime : 0 days, 11 hours, 43 minutes
VÔi lÀbi riistvara Unix I/O juhtimise (ioctl) ja C/C++ vÔi mÔne muu keele programmiga.
Tabelis on nĂ€idatud vajalikud riistvararegistrite aadressid. Praegune toitepinge tagastatakse tĂ€isarvuna, millivoltides. Madalat taset API eelistatakse shell-skriptide ees kiirema reageerimise nimel. Ăksikasjalik informatsioon riistvaraga töötamise kohta on saadaval

Ioctl pÀring, mis tagastab praeguse toitepinge.
JĂ€rjestikused liidesed
Ruuterisse on integreeritud kaks jĂ€rjestikust liidest: RS-232 ja RS-485. Need vĂ”imaldavad ĂŒhendada perifeerseadmeid otse ruuterisse, ilma lisainfrastruktuurita. Selle juures vĂ”ib ruuteris töötada tĂ€islik Node-RED vĂ”i Nodejs server, mis vĂ”imaldab kasutada ĂŒhte seadet lihtsa automatiseerimissĂŒsteemi seadistamiseks, ilma tĂ€iendavate arvutite ja kontrolleriteta.

Vaikimisi on mÔlemad liidesed saadaval standardsete serial-seadmetena Linuxis:
ls -la /dev/ttyS*
crw------- 1 root root 251, 0 Jan 1 1970 /dev/ttyS0 # â RS-232 port
crw------- 1 root root 251, 1 Jan 1 1970 /dev/ttyS1 # â RS-485 port
crw------- 1 root root 251, 5 Jan 1 1970 /dev/ttyS5 # â ei ole vĂ€lja toodud
KÔik standardtöötlemisraamatukogud toetavad neid seadmeid ilma tÀiendavate seadistusteta, sealhulgas moodul ja teised.
Kasutaja moodulid
Seadme funktsionaalsust on vÔimalik laiendada kasutaja moodulitega: see on lihtsustatud versioon pakettidest, ainult ilma paketihaldurita. Kogu nimekiri saadaolevatest moodulitest on saadaval aadressil .
Moodulid paigaldatakse kĂ€sitsi faili ĂŒleslaadimise teel veebiliidese kaudu:

Praeguseks on saadaval 73 moodulit. Siin on mÔned huvitavad neist:
- â populaarne tööriist erinevate tööstusprotokollide ĂŒhendamiseks terviklikuks sĂŒsteemiks
- â tĂ€isfunktsionaalne Nodejs server. Suur hulk RAMi ja vĂ”imas protsessor vĂ”imaldab kĂ€ivitada ressursimahukaid rakendusi otse ruuteris!
- â vĂ”imaldab töötada konsoolis brauseri kaudu.
- â arendustööriistade komplekt Microsoft Azure IoT Hub'i jaoks.
Kuna ruuteri tarkvara on avatud, saavad arendajad kirjutada oma mooduleid, sealhulgas veebiliidese. Viidatud materjalid on saadaval ja ettevÔtte veebisaidil. Pakettide mugavaks koostamiseks on saadaval valmis .
Riistvaralisi ressursse saab hallata shell-skriptide kaudu.
Lihtsate automatiseerimistegevuste jaoks on mugav kasutada shell-skripte, millega saab juhtida valgusindikaatoreid ja saada/mÀÀrata digitaalsete pinsakeste olekut.
Valgusindikaatoriga on mugav nĂ€idata kĂ€su tĂ€itmise hetkeolekut. NĂ€iteks: andmete edastamise nĂ€itamine â sagedane vilkumine, ĂŒhenduse loomise katse â harv vilkumine, tĂŒhikĂ€ik â pidev pĂ”lemine. Vaadakem kĂ€sku led. Sellele antakse ainult ĂŒks argumendi â LED-i vilkumise tĂŒĂŒp.
# led
led on|off|fast|slow
Nii see tegelikult vÀlja nÀeb:
Kasutaja indikaatori tööreĆŸiimide demonstreerimine shell-kĂ€skude kaudu.
Digitaalsete pinsakeste haldamiseks kasutatakse kÀsku io.
$ io
Kasutamine: io [get <pin>] | [set <pin> <value>]
io set out0 1 # Seada digitaalne vÀljund OUT0 olekusse 1 (LOW)
io get bin0 # Saada digitaalne sisend BIN0 vÀÀrtus.
Oluline on meeles pidada, et loogika on sel juhul vastupidine. Seega 1=LOW, 0=HIGH. Kasutades kÀsku io saame hÔlpsasti töötada digitaalsete pinsakestega bash-skriptides ja luua lihtsat loogikat automatiseerimiseks ja juhtimiseks.
Kuna demonstreerime digitaalsete sisendite ja indikaatori lihtsust, kirjutame kasutu skripti, mis kuvab digitaalsete sisendite olekut LED-i kaudu.
#!/bin/bash
while true
do
[ $(io get bin0) -eq 0 ] && led fast || led on
done
Skripti toimimise pÔhimÔte on lihtne: kui BIN0 olek on 0, vilgub diood sageli, muidu pÔleb pidevalt. Nii see vÀlja nÀeb:
Bash-skripti demonstreerimine, mis nÀitab digitaalsete sisendite olekut indikaatori kaudu.
Hoolimata sellest skriptist, mis vĂ”ib tunduda primitiivne, illustreerib see selgelt, kuidas ĂŒhe reaga, ilma tĂ€iendava tarkvara, raamatukogude ja seadistusteta, saab saada andmeid digitaalsetest sisenditest ja neile reageerida.
Viidatud lingid
- KÀesolevas artiklis ei kÀsitleta ruuterite vÔrgu funktsioone, nagu koormuse jaotamine, failover, VPN jne, kuna need teemad on juba kÀsitletud teises meie artiklis: .
- Ruuteri kasutamise nÀide on meie esimeses artiklis: .
- Toodete hindadega tutvuda saab ĂŒldises . Oma venekeelne veebileht pole veel valmis.
Kutsume teid Advantech'i partnerfoorumile

Advantech'i foorum saab olema ainulaadne koht kohalike ja globaalse Interneti-asjade suundumuste arutamiseks. Siin saate jagada kogemusi uute tehnoloogiliste lahenduste ja toodete kasutamisest, leida uusi kliente ja partnereid. Teil on vĂ”imalus nĂ€ha tooteid, millest oleme artiklites rÀÀkinud, ja mitte ainult. Meie seas esinevad tööstuse liidrid ja vĂ”tmepartnerite esindajad â NVidia, Intel ja teised ettevĂ”tted, kes osalevad aktiivselt tööstuslike Interneti-asjade edendamisel lĂ€hiaastatel. Ootame ĂŒritusele kĂ”iki tööstusautomaatika ja Interneti-asjade spetsialiste. Osalemine ĂŒritusel on tasuta! Kohtade arv on piiratud. .
Allikas: habr.com
