

Потребителски модул
Node.js
БЕЛЕЖКА ЗА ПРИЛОЖЕНИЕ

Използвани символи
Опасност – Информация относно безопасността на потребителя или потенциална повреда на рутера.
Внимание – Проблеми, които могат да възникнат в конкретни ситуации.
Информация или известие – Полезни съвети или информация от специален интерес.
Example – Прampфайл на функция, команда или скрипт.

Advantech Czech sro, Sokolska 71, 562 04 Usti nad Orlici, Чехия
Документ № APP-0080-EN беше ревизиран на 7 май 2021 г. Издаден в Чешката република.
Потребителски модул Node.js
Web Интерфейс
След като инсталацията на модула приключи, GUI на модула може да бъде извикан чрез щракване върху името на модула на страницата User modules на рутера web интерфейс. Лявата част на този GUI съдържа меню със секция от общо меню. Общият раздел на менюто съдържа само Лицензите, съдържащи списъка с всички лицензи за самия Node.js, както и свързаното приложение за рутер и елемент за връщане, който превключва обратно от модула web страница към рутера web конфигурационни страници. Главното меню на GUI на модула е показано на фигура 2.
Въведение
Потребителският модул Node.js не е част от фърмуера на рутера. Може да се изтегли от icr.advantech.cz/user-modules. Процесът на инсталиране на потребителските модули е описан в Ръководството за конфигуриране (вижте [1], [2], [3] и [4]). Този потребителски модул е съвместим само с рутери на платформа v3 и v4!
Възелът Node.js е собствен възел на среда за изпълнение на JavaScript от страната на сървъра, достъпен за клетъчни рутери на Advantech. Този възел се използва от модули на Advantech, написани на JavaScript, но може да се използва от всяко друго JavaScript приложение на трета страна за администриране и поддръжка на рутери.
Модулът на рутера съдържа добавянето на този възел към вградените възли:
- node-authenticate-pam – асинхронно PAM удостоверяване за NodeJS,
- when.js – Имплементация на Promises/A+ и when(), включително пълна подложка на ES6 Promise,
- рутер възел – собствен възел за клетъчни рутери на Advantech, описани подробно в този документ.
Изграждане на персонализирани възли
Официален начин за изграждане и инсталиране на възел е използването на командата npm. Въпреки това не е възможно да го намерите на нашите рутери, тъй като рутерът е вградено устройство с ограничени ресурси и някои възли изискват сложна среда за изграждане и висока производителност поради други езици, различни от JavaScript.
За щастие е лесно да подготвите възел на компютър с Linux и след това да го копирате в рутера.
За повече подробности виж https://icr.advantech.cz/support/faq/detail/building-the-custom-nodes-fornode-js-node-red.
Рутер възел
Тази част от документа е посветена специално на програмистите.
Рутерният възел (наречен „рутер“) осигурява достъп до специфични за рутера функции и хардуер.
Можете да заредите възела Node.js във вашия код чрез require(“router”), напрampле:
var r = изискване (“рутер”);
Ще използваме променливата r от този примерample за достъп до всички свойства в следващия exampв тази бележка.
Обикновен прampза използване на рутер възел
Следващата фигура е бившample за зареждане на Node.js възел.

Свойства на възела
2.1.1 име на продукт
Низова променлива само за четене, заредена с името на продукта на рутера. Прampначин на използване:
console.log(r.productName);
Изход: SPECTRE-v3T-LTE
2.1.2 platformCode
Низова променлива само за четене, заредена с кода на платформата на рутера. Поддържа се от рутери на
v3 и v4 производствени платформи. Прampначин на използване:
console.log(r.platformCode);
Изход: V3
2.1.3 сериен номер
Низова променлива само за четене, заредена със серийния номер на рутера. Прampначин на използване:
console.log(r.serialNumber);
Изход: ACZ1100000322054
2.1.4 версия на фърмуера
Низова променлива само за четене, заредена с версията на фърмуера на рутера. Прampначин на използване:
console.log(r.firmwareVersion);
Изход: 6.2.1 (2019-10-16)
2.1.5 RTCBatteryOK
Булева променлива само за четене, заредена със състоянието на RTC батерията на рутера. Вярно означава добре, невярно означава лошо. Прampначин на използване:
console.log(r.RTCBatteryOK);
Изход: вярно
2.1.6 захранване
Променлива с десетично число само за четене, заредена със захранването на рутера voltagд. Прampначин на използване:
console.log(r.powerSupply + 'V');
Изход: 11.701 V
2.1.7 температура
Променлива с цяло число само за четене, заредена с вътрешната температура на рутера в градуси по Целзий. Прampначин на използване:
console.log(r.temperature + '◦ C');
Изход: 39 ◦ C
2.1.8 usrLED
Булева променлива само за запис за светодиода „USR“ на контролния рутер. Прampначин на използване:
r.usrLED = вярно;
Задава USR LED на ON (светене).
2.1.9 bIn
Масив само за четене със стойности на двоичните входове на рутера. Масивът има елементи, свързани с редица двоични входове. Например рутерът има BIN0 и BIN1, така че масивът има валидни индекси 0 и 1. Елементите на масива могат да имат стойности 0 или 1. Пр.ampначин на използване:
console.log(“Вторичният двоичен вход: ” + r.bIn[1]);
Изход: Вторичният двоичен вход: 0
2.1.10 навън
Масив, свързан с двоичните изходи на рутера. Подобно е на B_IN, но можете също да записвате стойности.
Записаната стойност променя изходното състояние. Прampначин на използване:
console.log(r.bOut[0]);
Резултат: 1
r.bOut[0] = 0;
Задава първия двоичен изход на 0.
2.1.11 XBus
Обектът за работа с X Bus. X Bus е собствена шина за комуникация между процесите.
Например можете да се абонирате за информация кой мрежов интерфейс се движи нагоре/надолу или SMS от мъжки демон. Можете също така да изпращате/абонирате свои собствени теми между вашите приложения.
XBus.publish(тема, полезен товар, store=false)
Изпраща съобщение с низ на тема и полезен низ на X Bus. Прampначин на използване:
r.xBus.publish(“watchdog/proc/myapp”, “Timeout: 300”);
Изпраща заявка за наблюдение на системата, за да гледа вашето приложение „myapp“. Приложението трябва да изпраща това съобщение редовно не по-късно от периода, дефиниран в предишното съобщение (300 s в този примерample). Изчакване 0 спира гледането.
XBus.subscribe(тема, обратно извикване)
Абонира се за получаване на съобщения с тема. Прampначин на използване:
функция:
xbus.subscribe(“статус/мобилен/mwan0”, (msg) => {console.log(msg.payload);});
Асинхронен изход:
Регистрация: Домашна мрежа
Технология: LTE
Сила на сигнала: -88 dBm
Качество на сигнала: -8 dB
XBus.unsubscribe(тема)
Отпишете се от темата. Прampначин на използване:
r.XBus.unsubscribe(id);
Спира да получава информация за регистрация в мрежа от предишния бившampле.
XBus.list()
Изброява съхранените съобщения. Прampначин на използване:
r.XBus.list();
Изход:
[ 'iface/ipv4/mwan0/config',
'iface/ipv4/mwan0/running',
'iface/ipv4/mwan1/config',
'iface/ipv4/mwan1/running',
'статус/мобилен/mwan0',
'статус/мобилен/mwan1',
'куче пазач/процедур/бард',
'watchdog/proc/bard6',
'watchdog/proc/mwan1d',
'watchdog/proc/mwan2d',
'watchdog/proc/mwanxd']
XBus.read(тема)
Четете съхранени съобщения от XBus. Прampначин на използване:
r.XBus.read('face/ipv4/mwan0/config');
Изход:
Нагоре: 1
Iface: usb0
Адрес: 10.184.131.221
Шлюз: 192.168.253.254
DNS1: 217.77.165.211
DNS2: 217.77.165.81
[1] Advantech Czech: Ръководство за конфигуриране на SmartStart (MAN-0022-EN)
[2] Advantech Czech: Ръководство за конфигуриране на SmartFlex (MAN-0023-EN)
[3] Advantech Czech: Ръководство за конфигуриране на SmartMotion (MAN-0024-EN)
[4] Advantech Czech: Ръководство за конфигуриране на ICR-3200 (MAN-0042-EN)
[5] Потребителски модули: icr.advantech.cz/user-modules
[6] Фондация JS: https://nodered.org/
[EP] Документи и приложения, свързани с продукта, могат да бъдат получени на Инженерния портал на адрес icr.advantech.cz адрес.
Документи / Ресурси
![]() |
ADVANTECH RouterApp Node.js [pdf] Ръководство за потребителя ADVANTECH, RouterApp, Node.js |




