

Brugermodul
Node.js
ANSØGNINGSBEMÆRK

Brugte symboler
Fare – Oplysninger om brugersikkerhed eller potentiel skade på routeren.
Opmærksomhed – Problemer, der kan opstå i specifikke situationer.
Information eller meddelelse – Nyttige tips eller oplysninger af særlig interesse.
Example – Eksample af funktion, kommando eller script.

Advantech Czech sro, Sokolska 71, 562 04 Usti nad Orlici, Tjekkiet
Dokument nr. APP-0080-EN blev revideret den 7. maj 2021. Udgivet i Tjekkiet.
Node.js brugermodul
Web Interface
Når installationen af modulet er fuldført, kan modulets GUI aktiveres ved at klikke på modulnavnet på siden Brugermoduler på routerens web interface. Den venstre del af denne GUI indeholder en menu med en generel menusektion. Den generelle menusektion indeholder kun licenserne, der indeholder listen over alle licenser til selve Node.js og også relateret routerapplikation og returelement, som skifter tilbage fra modulets web side til routerens web konfigurationssider. Hovedmenuen for modulets GUI er vist på figur 2.
Indledning
Node.js-brugermodulet er ikke en del af routerens firmware. Den kan downloades fra icr.advantech.cz/user-modules. Installationsprocessen for brugermodulerne er beskrevet i Konfigurationsmanualen (se [1], [2], [3] og [4]). Dette brugermodul er kun kompatibelt med v3- og v4-platformsroutere!
Node.js-knuden er en proprietær JavaScript-runtime-miljønode på serversiden, der er tilgængelig for Advantech cellulære routere. Denne node bruges af Advantech-moduler skrevet i JavaScript, men kan bruges af enhver anden tredjeparts JavaScript-applikation til administration og vedligeholdelse af routere.
Routermodulet indeholder tilføjelsen af denne node til indbyggede noder:
- node-godkend-pam – asynkron PAM-godkendelse til NodeJS,
- when.js – Promises/A+ og when() implementering, inklusive et komplet ES6 Promise shim,
- router node – en proprietær node til Advantechs cellulære routere beskrevet i dette dokument i detaljer.
Opbygning af brugerdefinerede noder
En officiel måde at bygge og installere en node på er at bruge npm-kommandoen. Det er dog ikke muligt at finde det på vores routere, da routeren er indlejret enhed med begrænsede ressourcer, og nogle noder kræver et komplekst bygningsmiljø og høj ydeevne på grund af andre sprog end JavaScript.
Heldigvis er det nemt at forberede en node på en pc med Linux og derefter kopiere den til routeren.
For flere detaljer se https://icr.advantech.cz/support/faq/detail/building-the-custom-nodes-fornode-js-node-red.
Router node
Denne del af dokumentet er især dedikeret til programmører.
Routernode (kaldet "router") giver adgang til routerspecifikke funktioner og hardware.
Du kan indlæse Node.js-noden i din kode ved at require(“router”), f.eksampdet:
var r = require(“router”);
Vi vil bruge r-variablen fra dette example for at få adgang til alle ejendommene i det næste examples i denne note.
Simpelt eksample af Router Node Brug
Den næste figur er et example af indlæsning af Node.js node.

Node egenskaber
2.1.1 produktnavn
Skrivebeskyttet strengvariabel indlæst med routerens produktnavn. Eksampbrugsled:
console.log(r.produktnavn);
Udgang: SPECTRE-v3T-LTE
2.1.2 platformkode
Skrivebeskyttet strengvariabel indlæst med routerens platformkode. Det understøttes af routere af
v3 og v4 produktionsplatforme. Eksampbrugsled:
console.log(r.platformCode);
Udgang: V3
2.1.3 serienummer
Skrivebeskyttet strengvariabel indlæst med routerens serienummer. Eksampbrugsled:
console.log(r.serienummer);
Udgang: ACZ1100000322054
2.1.4 firmwareversion
Skrivebeskyttet strengvariabel indlæst med routerens firmwareversion. Eksampbrugsled:
console.log(r.firmwareVersion);
Output: 6.2.1 (2019-10-16)
2.1.5 RTCBatteryOK
Skrivebeskyttet boolesk variabel indlæst med routerens RTC-batteritilstand. Sand betyder OK, falsk betyder dårligt. Eksampbrugsled:
console.log(r.RTCBatteryOK);
Output: sandt
2.1.6 Strømforsyning
Skrivebeskyttet decimaltalsvariabel indlæst med routerens strømforsyning voltage. Eksampbrugsled:
console.log(r.powerSupply + 'V');
Udgang: 11.701 V.
2.1.7 temperatur
Skrivebeskyttet heltalsvariabel indlæst med routerens interne temperatur i Celsius-grader. Eksampbrugsled:
console.log(r.temperatur + '◦ C');
Output: 39 ◦ C
2.1.8 usrLED
Kun skrivebar boolesk variabel til kontrolrouterens "USR" LED. Eksampbrugsled:
r.usrLED = sand;
Indstiller USR LED til ON (belysning).
2.1.9 beholder
Skrivebeskyttet array med værdier på routerens binære input. Arrayet har elementer relateret til en række binære inputs. F.eks. har routeren BIN0 og BIN1, så arrayet har gyldige indeks 0 og 1. Array-elementerne kan have værdierne 0 eller 1. Ex.ampbrugsled:
console.log(“Den sekundære binære input: ” + r.bIn[1]);
Udgang: Den sekundære binære indgang: 0
2.1.10 ud
Array relateret til routerens binære udgange. Det ligner B_IN, men du kan også skrive værdier.
Skriftlig værdi ændrer outputtilstand. Eksampbrugsled:
console.log(r.bOut[0]);
Output: 1
r.bOut[0] = 0;
Indstiller den første binære udgang til 0.
2.1.11 XBus
Objektet til at arbejde med X Bus. X Bus er en proprietær bus til kommunikation mellem processer.
Du kan f.eks. abonnere på information om, hvilken netværksgrænseflade der går op/ned eller SMS fra en man-dæmon. Du kan også sende/abonnere på dine egne emner mellem dine ansøgninger.
XBus.publish(emne, nyttelast, store=false)
Sender besked med emnestreng og nyttelaststreng til X Bus. Eksampbrugsled:
r.xBus.publish(“watchdog/proc/myapp”, “Timeout: 300”);
Sender til systemets overvågningsanmodning for at se din "myapp"-applikation. Ansøgningen skal sende denne meddelelse regelmæssigt senest i den periode, der er defineret i den foregående meddelelse (300 s i dette ex.ample). Timeout 0 holder op med at se.
XBus.subscribe(emne, tilbagekald)
Abonnerer for at få beskeder med emne. Eksampbrugsled:
Fungere:
xbus.subscribe(“status/mobile/mwan0”, (msg) => {console.log(msg.payload);});
Asynkron udgang:
Tilmelding: Hjemmenetværk
Teknologi: LTE
Signalstyrke: -88 dBm
Signalkvalitet: -8 dB
XBus.unsubscribe(emne)
Afmeld emnet. Eksampbrugsled:
r.XBus.unsubscribe(id);
Stopper med at modtage information om tilmelding til netværk fra det forrige example.
XBus.list()
Viser gemte beskeder. Eksampbrugsled:
r.XBus.list();
Produktion:
[ 'iface/ipv4/mwan0/config',
'iface/ipv4/mwan0/running',
'iface/ipv4/mwan1/config',
'iface/ipv4/mwan1/running',
'status/mobil/mwan0',
'status/mobil/mwan1',
'vagthund/proc/bard',
'watchdog/proc/bard6',
'watchdog/proc/mwan1d',
'watchdog/proc/mwan2d',
'watchdog/proc/mwanxd' ]
XBus.read(emne)
Læs gemte beskeder fra XBus. Eksampbrugsled:
r.XBus.read('face/ipv4/mwan0/config');
Produktion:
Op: 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] Brugermoduler: icr.advantech.cz/user-modules
[6] JS Foundation: https://nodered.org/
[EP] Produktrelaterede dokumenter og ansøgninger kan fås på Engineering Portal på icr.advantech.cz adresse.
Dokumenter/ressourcer
![]() |
ADVANTECH RouterApp Node.js [pdfBrugervejledning ADVANTECH, RouterApp, Node.js |




