


Brukermodul
Node.js
SØKNADSMERKNING

Brukte symboler
Fare – Informasjon om brukersikkerhet eller potensiell skade på ruteren.
Oppmerksomhet – Problemer som kan oppstå i spesifikke situasjoner.
Informasjon eller merknad – Nyttige tips eller informasjon av spesiell interesse.
Example – Eksample av funksjon, kommando eller skript.

Advantech Czech sro, Sokolska 71, 562 04 Usti nad Orlici, Tsjekkia
Dokument nr. APP-0080-EN ble revidert 7. mai 2021. Utgitt i Tsjekkia.
Node.js brukermodul
Web Grensesnitt
Når installasjonen av modulen er fullført, kan modulens GUI startes ved å klikke på modulnavnet på siden Brukermoduler på ruterens web grensesnitt. Den venstre delen av denne GUI inneholder en meny med en generell menydel. Den generelle menydelen inneholder bare lisensene som inneholder listen over alle lisensene for selve Node.js og også relatert ruterapplikasjon og returelement, som bytter tilbake fra modulens web side til ruteren web konfigurasjonssider. Hovedmenyen til modulens GUI er vist på figur 2.
Introduksjon
Node.js-brukermodulen er ikke en del av ruterens fastvare. Den kan lastes ned fra icr.advantech.cz/user-modules. Installasjonsprosessen for brukermodulene er beskrevet i konfigurasjonshåndboken (se [1], [2], [3] og [4]). Denne brukermodulen er kun kompatibel med v3- og v4-plattformrutere!
Node.js-noden er en proprietær JavaScript-runtime-miljønode på serversiden tilgjengelig for Advantech mobilrutere. Denne noden brukes av Advantech-moduler skrevet i JavaScript, men kan brukes av enhver annen tredjeparts JavaScript-applikasjon for ruteradministrasjon og vedlikehold.
Rutermodulen inneholder tillegg av denne noden til innebygde noder:
- node-autentisere-pam – asynkron PAM-autentisering for NodeJS,
- when.js – Promises/A+ og when() implementering, inkludert et komplett ES6 Promise shim,
- ruter node – en proprietær node for Advantechs mobilrutere beskrevet i dette dokumentet i detalj.
Bygging av egendefinerte noder
En offisiell måte å bygge og installere en node på er å bruke npm-kommandoen. Det er imidlertid ikke mulig å finne det på våre rutere da ruteren er en innebygd enhet med begrensede ressurser og noen noder krever et komplekst bygningsmiljø og høy ytelse på grunn av andre språk enn JavaScript.
Heldigvis er det enkelt å klargjøre en node på en PC med Linux og deretter kopiere den til ruteren.
For mer informasjon se https://icr.advantech.cz/support/faq/detail/building-the-custom-nodes-fornode-js-node-red.
Ruter Node
Denne delen av dokumentet er dedikert spesielt til programmerere.
Ruternode (kalt "ruter") gir tilgang til ruterspesifikke funksjoner og maskinvare.
Du kan laste inn Node.js-noden i koden din ved å kreve ("ruter"), for eksempelampde:
var r = require(“ruter”);
Vi vil bruke r-variabelen fra denne eksample for å få tilgang til alle eiendommene i neste eksamples i dette notatet.
Enkelt eksample av ruternodebruk
Den neste figuren er en eksample av lasting av Node.js node.

Nodeegenskaper
2.1.1 produktnavn
Skrivebeskyttet strengvariabel lastet med ruterens produktnavn. Eksampbruksområde:
console.log(r.produktnavn);
Utgang: SPECTRE-v3T-LTE
2.1.2 plattformkode
Skrivebeskyttet strengvariabel lastet med ruterens plattformkode. Den støttes av rutere av
v3 og v4 produksjonsplattformer. Eksampbruksområde:
console.log(r.plattformkode);
Utgang: V3
2.1.3 serienummer
Skrivebeskyttet strengvariabel lastet med ruterens serienummer. Eksampbruksområde:
console.log(r.serienummer);
Utgang: ACZ1100000322054
2.1.4 fastvareversjon
Skrivebeskyttet strengvariabel lastet med ruterens fastvareversjon. Eksampbruksområde:
console.log(r.firmwareVersion);
Utdata: 6.2.1 (2019-10-16)
2.1.5 RTCBatteryOK
Skrivebeskyttet boolsk variabel lastet med ruterens RTC-batteristatus. Sant betyr OK, usant betyr dårlig. Eksampbruksområde:
console.log(r.RTCBatteryOK);
Utgang: sant
2.1.6 strømforsyning
Skrivebeskyttet desimalnummervariabel lastet med ruterens strømforsyning voltage. Eksampbruksområde:
console.log(r.powerSupply + 'V');
Utgang: 11.701 V.
2.1.7 temperatur
Skrivebeskyttet heltallsvariabel lastet med ruterens interne temperatur i Celsius-grader. Eksampbruksområde:
console.log(r.temperatur + '◦ C');
Utgang: 39 ◦ C
2.1.8 usrLED
Bare skrivebar boolsk variabel for kontrollruterens "USR" LED. Eksampbruksområde:
r.usrLED = sant;
Setter USR LED til PÅ (belysning).
2.1.9 bin
Skrivebeskyttet matrise med verdier på ruterens binære innganger. Matrisen har elementer relatert til en rekke binære innganger. Ruteren har for eksempel BIN0 og BIN1 slik at arrayet har gyldige indekser 0 og 1. Array-elementene kan ha verdiene 0 eller 1. Eks.ampbruksområde:
console.log(“Den sekundære binære inngangen: ” + r.bIn[1]);
Utgang: Den sekundære binære inngangen: 0
2.1.10 ut
Array relatert til ruterens binære utganger. Det ligner på B_IN, men du kan også skrive verdier.
Skriftlig verdi endre utgangstilstand. Eksampbruksområde:
console.log(r.bOut[0]);
Utgang: 1
r.bOut[0] = 0;
Setter den første binære utgangen til 0.
2.1.11 XBus
Objektet for å jobbe med X Bus. X Bus er en proprietær buss for kommunikasjon mellom prosesser.
Du kan for eksempel abonnere på informasjon om hvilket nettverksgrensesnitt som går opp/ned eller SMS fra en manndemon. Du kan også sende/abonnere på dine egne emner mellom søknadene dine.
XBus.publish(emne, nyttelast, store=false)
Sender melding med emnestreng og nyttelaststreng til X Bus. Eksampbruksområde:
r.xBus.publish(“watchdog/proc/myapp”, “Timeout: 300”);
Sender til systemovervåkingsforespørselen om å se på "minapp"-applikasjonen din. Søknaden må sende denne meldingen regelmessig senest innen den perioden som er definert i forrige melding (300 s i denne eks.ample). Timeout 0 slutter å se.
XBus.subscribe(emne, tilbakeringing)
Abonnerer for å få meldinger med emne. Eksampbruksområde:
Funksjon:
xbus.subscribe(“status/mobile/mwan0”, (msg) => {console.log(msg.payload);});
Asynkron utgang:
Registrering: Hjemmenettverk
Teknologi: LTE
Signalstyrke: -88 dBm
Signalkvalitet: -8 dB
XBus.unsubscribe(topic)
Avslutt abonnementet på emnet. Eksampbruksområde:
r.XBus.unsubscribe(id);
Slutter å motta informasjon om registrering til nettverk fra forrige eksample.
XBus.list()
Viser lagrede meldinger. Eksampbruksområde:
r.XBus.list();
Produksjon:
[ 'iface/ipv4/mwan0/config',
'iface/ipv4/mwan0/running',
'iface/ipv4/mwan1/config',
'iface/ipv4/mwan1/running',
'status/mobil/mwan0',
'status/mobil/mwan1',
'vakthund/proc/bard',
'watchdog/proc/bard6',
'watchdog/proc/mwan1d',
'watchdog/proc/mwan2d',
'watchdog/proc/mwanxd' ]
XBus.read(topic)
Les lagrede meldinger fra XBus. Eksampbruksområde:
r.XBus.read('face/ipv4/mwan0/config');
Produksjon:
Opp: 1
Iface: usb0
Adresse: 10.184.131.221
Gateway: 192.168.253.254
DNS1: 217.77.165.211
DNS2: 217.77.165.81
[1] Advantech Czech: SmartStart Configuration Manual (MAN-0022-EN)
[2] Advantech Czech: SmartFlex Configuration Manual (MAN-0023-EN)
[3] Advantech Czech: SmartMotion Configuration Manual (MAN-0024-EN)
[4] Advantech Czech: ICR-3200 Configuration Manual (MAN-0042-EN)
[5] Brukermoduler: icr.advantech.cz/user-modules
[6] JS Foundation: https://nodered.org/
[EP] Produktrelaterte dokumenter og søknader kan fås på Engineering Portal på icr.advantech.cz adresse.
Dokumenter / Ressurser
![]() | RouterApp Node.js |
Referanser
- Brukerhåndbokmanual.tools
