

Módulo Usuario
Node.js
NOTA DE APLICACIÓN

Símbolos usados
Perigo: información sobre a seguridade do usuario ou posibles danos no router.
Atención - Problemas que poden xurdir en situacións específicas.
Información ou aviso: consellos útiles ou información de especial interese.
Example – Example de función, comando ou script.

Advantech Czech sro, Sokolska 71, 562 04 Usti nad Orlici, República Checa
O documento número APP-0080-EN foi revisado o 7 de maio de 2021. Publicado na República Checa.
Módulo de usuario Node.js
Web Interface
Unha vez completada a instalación do módulo, pódese invocar a GUI do módulo facendo clic no nome do módulo na páxina Módulos de usuario do router. web interface. A parte esquerda desta GUI contén un menú cunha sección de menú Xeral. A sección do menú xeral contén só as Licenzas que conteñen a lista de todas as licenzas para o propio Node.js e tamén o elemento Aplicación de enrutador e devolución relacionados, que cambia desde o módulo do módulo. web páxina ao router web páxinas de configuración. O menú principal da GUI do módulo móstrase na Figura 2.
Introdución
O módulo de usuario Node.js non forma parte do firmware do enrutador. Pódese descargar de icr.advantech.cz/user-modules. O proceso de instalación dos módulos de usuario descríbese no Manual de configuración (ver [1], [2], [3] e [4]). Este módulo de usuario só é compatible con enrutadores de plataforma v3 e v4.
O nodo Node.js é un nodo propietario do entorno de execución de JavaScript no servidor dispoñible para os enrutadores móbiles Advantech. Este nodo é usado polos módulos Advantech escritos en JavaScript pero pode ser usado por calquera outra aplicación JavaScript de terceiros para a administración e mantemento de enrutadores.
O módulo de enrutador contén a adición deste nodo aos nodos integrados:
- nodo-autenticar-pam - autenticación PAM asíncrona para NodeJS,
- cando.js - Implementación de Promises/A+ e when(), incluíndo un complemento completo de ES6 Promise,
- nodo do enrutador - un nodo propietario para os enrutadores móbiles de Advantech descritos en detalle neste documento.
Construír os nodos personalizados
Unha forma oficial de construír e instalar un nodo é usar o comando npm. Non obstante, non é posible atopalo nos nosos enrutadores xa que o enrutador é un dispositivo incorporado con recursos limitados e algúns nodos requiren un ambiente de construción complexo e un alto rendemento debido a outras linguaxes que non sexan JavaScript.
Afortunadamente, é fácil preparar un nodo nun PC con Linux e despois copialo no router.
Para máis detalles vexa https://icr.advantech.cz/support/faq/detail/building-the-custom-nodes-fornode-js-node-red.
Nodo de enrutador
Esta parte do documento está dedicada especialmente aos programadores.
O nodo do enrutador (chamado "router") proporciona acceso a funcións e hardware específicos do enrutador.
Podes cargar o nodo Node.js no teu código require ("router"), por exemploampLe:
var r = require ("router");
Usaremos a variable r deste example para acceder a todas as propiedades no seguinte examples nesta nota.
Simple Exampficheiro de uso do nodo do router
A seguinte figura é un example de cargar o Node.js nodo.

Propiedades do nodo
2.1.1 productName
Variable de cadea de só lectura cargada co nome do produto do enrutador. Example de uso:
console.log(r.productName);
Saída: SPECTRE-v3T-LTE
2.1.2 PlatformCode
Variable de cadea de só lectura cargada co código da plataforma do enrutador. É compatible con enrutadores de
Plataformas de produción v3 e v4. Example de uso:
console.log(r.platformCode);
Saída: V3
2.1.3 número de serie
Variable de cadea de só lectura cargada co número de serie do enrutador. Example de uso:
console.log(r.número de serie);
Saída: ACZ1100000322054
2.1.4 Versión de firmware
Variable de cadea de só lectura cargada coa versión do firmware do enrutador. Example de uso:
console.log(r.firmwareVersion);
Saída: 6.2.1 (2019-10-16)
2.1.5 RTCBatteryOK
Variable booleana de só lectura cargada co estado da batería RTC do enrutador. Verdadeiro significa ben, falso significa malo. Example de uso:
console.log(r.RTCBatteryOK);
Saída: verdadeiro
2.1.6 fonte de alimentación
Variable de número decimal de só lectura cargada coa fonte de alimentación do router voltage. Example de uso:
console.log(r.powerSupply + 'V');
Saída: 11.701 V
2.1.7 temperatura
Variable de número enteiro de só lectura cargada coa temperatura interna do enrutador en graos Celsius. Example de uso:
console.log(r.temperature + '◦ C');
Saída: 39 ◦ C
2.1.8 usrLED
Variable booleana de só escritura para o LED "USR" do enrutador de control. Example de uso:
r.usrLED = verdadeiro;
Establece o LED USR en ON (iluminación).
2.1.9 bIn
Matriz de só lectura con valores nas entradas binarias do enrutador. A matriz ten elementos relacionados cunha serie de entradas binarias. Por exemplo, o enrutador ten BIN0 e BIN1 polo que a matriz ten índices válidos 0 e 1. Os elementos da matriz poden ter valores 0 ou 1. Ex.ample de uso:
console.log ("A entrada binaria secundaria: " + r.bIn[1]);
Saída: entrada binaria secundaria: 0
2.1.10 fóra
Matriz relacionada coas saídas binarias do enrutador. É semellante a B_IN pero tamén podes escribir valores.
O valor escrito cambia o estado de saída. Example de uso:
console.log(r.bOut[0]);
Saída: 1
r.bOut[0] = 0;
Establece a primeira saída binaria en 0.
2.1.11 XBus
O obxecto para traballar con X Bus. X Bus é un bus propietario para a comunicación entre procesos.
Por exemplo, pode subscribirse información sobre a interface de rede que sube ou baixa ou SMS dun daemon man. Tamén pode enviar/subscribir os seus propios temas entre as súas aplicacións.
XBus.publish(tema, carga útil, tenda=falso)
Envía mensaxe co tema String e carga útil String a X Bus. Example de uso:
r.xBus.publish(“watchdog/proc/myapp”, “Tempo de espera: 300”);
Envía ao sistema a solicitude de observación para ver a túa aplicación "myapp". A aplicación debe enviar esta mensaxe regularmente a máis tardar no período definido na mensaxe anterior (300 s neste ex.ample). O tempo de espera 0 deixa de ver.
XBus.subscribe(tema, devolución de chamada)
Subscríbete para recibir mensaxes con tema. Example de uso:
Función:
xbus.subscribe(“status/mobile/mwan0”, (msg) => {console.log(msg.payload);});
Saída asíncrona:
Inscrición: Rede doméstica
Tecnoloxía: LTE
Intensidade do sinal: -88 dBm
Calidade do sinal: -8 dB
XBus.unsubscribe(tema)
Cancelar a subscrición do tema. Example de uso:
r.XBus.unsubscribe(id);
Deixa de recibir información sobre o rexistro na rede do anterior example.
XBus.list()
Lista as mensaxes almacenadas. Example de uso:
r.XBus.list();
Saída:
[ 'iface/ipv4/mwan0/config',
'iface/ipv4/mwan0/running',
'iface/ipv4/mwan1/config',
'iface/ipv4/mwan1/running',
'status/mobile/mwan0',
'status/mobile/mwan1',
'can vixiante/proc/bardo',
'watchdog/proc/bard6',
'watchdog/proc/mwan1d',
'watchdog/proc/mwan2d',
'watchdog/proc/mwanxd']
XBus.read (tema)
Le as mensaxes almacenadas de XBus. Example de uso:
r.XBus.read('face/ipv4/mwan0/config');
Saída:
Arriba: 1
Iface: usb0
Enderezo: 10.184.131.221
Pasarela: 192.168.253.254
DNS1: 217.77.165.211
DNS2: 217.77.165.81
[1] Advantech Czech: Manual de configuración de SmartStart (MAN-0022-EN)
[2] Advantech Czech: Manual de configuración SmartFlex (MAN-0023-EN)
[3] Advantech Czech: Manual de configuración de SmartMotion (MAN-0024-EN)
[4] Advantech Czech: Manual de configuración ICR-3200 (MAN-0042-EN)
[5] Módulos de usuario: icr.advantech.cz/user-modules
[6] Fundación JS: https://nodered.org/
[EP] Os documentos e aplicacións relacionados cos produtos pódense obter no Portal de Enxeñaría en icr.advantech.cz enderezo.
Documentos/Recursos
![]() |
ADVANTECH RouterApp Node.js [pdfGuía do usuario ADVANTECH, RouterApp, Node.js |




