

Module utilisateur
Node.js
NOTE D'APPLICATION

Symboles utilisés
Danger – Informations concernant la sécurité de l'utilisateur ou des dommages potentiels au routeur.
Attention – Problèmes pouvant survenir dans des situations spécifiques.
Information ou avis – Conseils utiles ou informations d'un intérêt particulier.
Example – Exampfichier de fonction, de commande ou de script.

Advantech Czech sro, Sokolska 71, 562 04 Usti nad Orlici, République tchèque
Le document n° APP-0080-EN a été révisé le 7 mai 2021. Sortie en République tchèque.
Module utilisateur Node.js
Web Interface
Une fois l'installation du module terminée, l'interface graphique du module peut être invoquée en cliquant sur le nom du module sur la page Modules utilisateur du routeur web interface. La partie gauche de cette interface graphique contient un menu avec une section de menu général. La section du menu général ne contient que les licences contenant la liste de toutes les licences pour Node.js lui-même ainsi que l'élément Application et retour du routeur associé, qui revient à partir du module web page du routeur web pages de configuration. Le menu principal de l'interface graphique du module est illustré à la figure 2.
Introduction
Le module utilisateur Node.js ne fait pas partie du micrologiciel du routeur. Il peut être téléchargé à partir de icr.advantech.cz/user-modules. Le processus d'installation des modules utilisateur est décrit dans le Manuel de configuration (voir [1], [2], [3] et [4]). Ce module utilisateur est uniquement compatible avec les routeurs de plate-forme v3 et v4 !
Le nœud Node.js est un nœud d'environnement d'exécution JavaScript côté serveur propriétaire disponible pour les routeurs cellulaires Advantech. Ce nœud est utilisé par les modules Advantech écrits en JavaScript mais peut être utilisé par toute autre application JavaScript tierce pour l'administration et la maintenance des routeurs.
Le module routeur contient l'ajout de ce nœud aux nœuds intégrés :
- nœud-authentifier-pam – authentification PAM asynchrone pour NodeJS,
- quand.js – Implémentation de Promises/A+ et when(), y compris une cale complète de promesse ES6,
- nœud de routeur - un nœud propriétaire pour les routeurs cellulaires d'Advantech décrits en détail dans ce document.
Construire les nœuds personnalisés
Un moyen officiel de créer et d'installer un nœud consiste à utiliser la commande npm. Cependant, il n'est pas possible de le trouver sur nos routeurs car le routeur est un périphérique embarqué avec des ressources limitées et certains nœuds nécessitent un environnement de construction complexe et des performances élevées en raison d'autres langages que JavaScript.
Heureusement, il est facile de préparer un nœud sur un PC avec Linux, puis de le copier sur le routeur.
Pour plus de détails, voir https://icr.advantech.cz/support/faq/detail/building-the-custom-nodes-fornode-js-node-red.
Nœud de routeur
Cette partie du document est spécialement dédiée aux programmeurs.
Le nœud de routeur (appelé « routeur ») permet d'accéder aux fonctions et au matériel spécifiques au routeur.
Vous pouvez charger le nœud Node.js dans votre code par require ("router"), par example:
var r = require("routeur");
Nous utiliserons la variable r de cet example pour accéder à toutes les propriétés dans l'ex suivantamples dans cette note.
Ex simpleampfichier d'utilisation du nœud de routeur
La figure suivante est un exampfichier de chargement du Node.js nœud.

Propriétés du nœud
2.1.1 nom du produit
Variable de chaîne en lecture seule chargée avec le nom de produit du routeur. Exampfichier d'utilisation :
console.log(r.productName);
Sortie : SPECTRE-v3T-LTE
2.1.2 plate-formeCode
Variable de chaîne en lecture seule chargée avec le code de plate-forme du routeur. Il est pris en charge par les routeurs de
Plateformes de production v3 et v4. Exampfichier d'utilisation :
console.log(r.platformCode);
Sortie : V3
2.1.3 numéro de série
Variable de chaîne en lecture seule chargée avec le numéro de série du routeur. Exampfichier d'utilisation :
console.log(r.serialNumber);
Sortie : ACZ1100000322054
2.1.4 FirmwareVersion
Variable de chaîne en lecture seule chargée avec la version du micrologiciel du routeur. Exampfichier d'utilisation :
console.log(r.firmwareVersion);
Sortie : 6.2.1 (2019-10-16)
2.1.5 RTCBatterieOK
Variable booléenne en lecture seule chargée avec l'état de la batterie RTC du routeur. Vrai signifie OK, faux signifie mauvais. Exampfichier d'utilisation :
console.log(r.RTCBatterieOK);
Sortie : vrai
2.1.6 source de courant
Variable de nombre décimal en lecture seule chargée avec le volume d'alimentation du routeurtage. Exampfichier d'utilisation :
console.log(r.powerSupply + 'V');
Sortie: 11.701 V
2.1.7 température
Variable de nombre entier en lecture seule chargée avec la température interne du routeur en degrés Celsius. Exampfichier d'utilisation :
console.log(r.temperature + '◦ C');
Sortie : 39 C
2.1.8 LED usr
Variable booléenne en écriture seule pour la LED « USR » du routeur de contrôle. Exampfichier d'utilisation :
r.usrLED = vrai ;
Règle la LED USR sur ON (éclairage).
2.1.9 poubelle
Tableau en lecture seule avec des valeurs sur les entrées binaires du routeur. Le tableau contient des éléments liés à un certain nombre d'entrées binaires. Par exemple, le routeur a BIN0 et BIN1 donc le tableau a des index valides 0 et 1. Les éléments du tableau peuvent avoir les valeurs 0 ou 1. Exampfichier d'utilisation :
console.log(« L'entrée binaire secondaire : » + r.bIn[1]);
Sortie : L'entrée binaire secondaire : 0
2.1.10 combat
Tableau lié aux sorties binaires du routeur. C'est similaire à B_IN mais vous pouvez également écrire des valeurs.
La valeur écrite change l'état de la sortie. Exampfichier d'utilisation :
console.log(r.bOut[0]);
Sortie : 1
r.bOut[0] = 0 ;
Met la première sortie binaire à 0.
2.1.11 XBus
L'objet pour travailler avec X Bus. X Bus est un bus propriétaire pour la communication entre les processus.
Par exemple, vous pouvez souscrire des informations sur l'interface réseau qui monte/descendre ou SMS à partir d'un démon man. Vous pouvez également envoyer/souscrire vos propres sujets entre vos candidatures.
XBus.publish(sujet, charge utile, store=false)
Envoie un message avec la chaîne de sujet et la chaîne de charge utile à X Bus. Exampfichier d'utilisation :
r.xBus.publish(« chien de garde/proc/monapp », « Délai d'expiration : 300 »);
Envoie au système une demande de surveillance pour regarder votre application « myapp ». L'application doit envoyer ce message régulièrement au plus tard dans le délai défini dans le message précédent (300 s dans cet example). Timeout 0 arrête de regarder.
XBus.subscribe(sujet, rappel)
Abonnez-vous pour recevoir des messages avec le sujet. Exampfichier d'utilisation :
Fonction:
xbus.subscribe("status/mobile/mwan0", (msg) => {console.log(msg.payload);});
Sortie asynchrone :
Inscription : Réseau domestique
Technologie : LTE
Force du signal : -88 dBm
Qualité du signal : -8 dB
XBus.unsubscribe(sujet)
Désabonnez-vous du sujet. Exampfichier d'utilisation :
r.XBus.unsubscribe(id);
Ne reçoit plus d'informations sur l'inscription au réseau de l'ex précédentample.
XBus.list()
Répertorie les messages enregistrés. Exampfichier d'utilisation :
r.XBus.list();
Sortir:
[ 'iface/ipv4/mwan0/config',
'iface/ipv4/mwan0/running',
'iface/ipv4/mwan1/config',
'iface/ipv4/mwan1/running',
'statut/mobile/mwan0',
'statut/mobile/mwan1',
'chien de garde/proc/barde',
'chien de garde/proc/bard6',
'chien de garde/proc/mwan1d',
'chien de garde/proc/mwan2d',
'chien de garde/proc/mwanxd' ]
XBus.read(sujet)
Lire les messages stockés à partir de XBus. Exampfichier d'utilisation :
r.XBus.read('face/ipv4/mwan0/config');
Sortir:
Jusqu'à : 1
Iface : usb0
Adresse : 10.184.131.221
Passerelle: 192.168.253.254
DNS1 : 217.77.165.211
DNS2 : 217.77.165.81
[1] Advantech Czech : Manuel de configuration SmartStart (MAN-0022-EN)
[2] Advantech Czech : Manuel de configuration SmartFlex (MAN-0023-EN)
[3] Advantech Czech : Manuel de configuration SmartMotion (MAN-0024-EN)
[4] Advantech tchèque : Manuel de configuration ICR-3200 (MAN-0042-EN)
[5] Modules utilisateur : icr.advantech.cz/user-modules
[6] Fondation JS : https://nodered.org/
[EP] Les documents et applications relatifs aux produits peuvent être obtenus sur le portail d'ingénierie à l'adresse icr.advantech.cz adresse.
Documents / Ressources
![]() |
ADVANTECH RouterApp Node.js [pdf] Guide de l'utilisateur ADVANTECH, RouterApp, Node.js |




