

Карыстальніцкі модуль
Node.js
ЗАЎВАГА ДА ЗАЯЎКІ

Выкарыстоўваная сімволіка
Небяспека – інфармацыя аб бяспецы карыстальніка або патэнцыйным пашкоджанні маршрутызатара.
Увага - Праблемы, якія могуць узнікнуць у канкрэтных сітуацыях.
Інфармацыя або апавяшчэнне - карысныя парады або інфармацыя, якая прадстаўляе асаблівую цікавасць.
Example – Выклampфайл функцыі, каманды або сцэнара.

Advantech Czech sro, Sokolska 71, 562 04 Usti nad Orlici, Чэхія
Дакумент № APP-0080-EN быў перагледжаны 7 мая 2021 г. Выпушчаны ў Чэшскай Рэспубліцы.
Модуль карыстальніка Node.js
Web Інтэрфейс
Пасля завяршэння ўстаноўкі модуля можна выклікаць графічны інтэрфейс модуля, пстрыкнуўшы імя модуля на старонцы Карыстальніцкія модулі маршрутызатара web інтэрфейс. Левая частка гэтага графічнага інтэрфейсу змяшчае меню з раздзелам Агульнага меню. Раздзел агульнага меню змяшчае толькі Ліцэнзіі, якія змяшчаюць спіс усіх ліцэнзій для самога Node.js, а таксама адпаведны элемент "Прыкладанне маршрутызатара" і "Вяртанне", які пераключаецца назад з модуля web старонку на маршрутызатар web старонкі канфігурацыі. Галоўнае меню графічнага інтэрфейсу модуля паказана на малюнку 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,
- калі.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 у свой код патрабаваннем (“маршрутызатар”), напрыкладampль:
var r = require(“маршрутызатар”);
Мы будзем выкарыстоўваць зменную r з гэтага прыкладуample, каб атрымаць доступ да ўсіх уласцівасцей у наступным экзampу гэтай нататцы.
Просты Exampвыкарыстанне вузла маршрутызатара
Наступная фігура - экс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 крыніца харчавання
Зменная дзесятковага ліку, даступная толькі для чытання, загружаная з блокам харчавання маршрутызатара voltage. Прampвыкарыстанне:
console.log(r.powerSupply + 'V');
Выхад: 11.701 В.
2.1.7 тэмпература
Цэлая лікавая зменная толькі для чытання, у якую загружаецца ўнутраная тэмпература маршрутызатара ў градусах Цэльсія. напрыкладampвыкарыстанне:
console.log(r.temperature + '◦ C');
Выхад: 39 ◦ C
2.1.8 usrLED
Лагічная зменная толькі для запісу для святлодыёда «USR» кіравання маршрутызатарам. напрыкладampвыкарыстанне:
r.usrLED = праўда;
Ўключае святлодыёд USR (асвятленне).
2.1.9 бІн
Масіў толькі для чытання са значэннямі на бінарных уваходах маршрутызатара. У масіве ёсць элементы, звязаныя з шэрагам двайковых уваходаў. Напрыклад, маршрутызатар мае 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)
Адпраўляе паведамленне з тэмай String і карыснай нагрузкай String на X Bus. напрыкладampвыкарыстанне:
r.xBus.publish(“watchdog/proc/myapp”, “Час чакання: 300”);
Адпраўляе ў сістэмны запыт назірання за вашым дадаткам «myapp». Прыкладанне павінна адпраўляць гэта паведамленне рэгулярна не пазней за перыяд, вызначаны ў папярэднім паведамленні (300 с у гэтым прыкладзеample). Тайм-аўт 0 спыняе прагляд.
XBus.subscribe(тэма, зваротны выклік)
Падпісвайцеся, каб атрымліваць паведамленні па тэмах. напрыкладampвыкарыстанне:
функцыя:
xbus.subscribe(“status/mobile/mwan0”, (msg) => {console.log(msg.payload);});
Асінхронны выхад:
Рэгістрацыя: Хатняя сетка
Тэхналогія: LTE
Моц сігналу: -88 дБм
Якасць сігналу: -8 дБ
XBus.unsubscribe(тэма)
Адпісацца ад тэмы. напрыкладampвыкарыстанне:
r.XBus.unsubscribe(id);
Перастае атрымліваць інфармацыю аб рэгістрацыі ў сетцы ад папярэдняга былогаampле.
XBus.list()
Спісы захаваных паведамленняў. напрыкладampвыкарыстанне:
r.XBus.list();
выхад:
[ 'iface/ipv4/mwan0/config',
'iface/ipv4/mwan0/працуе',
'iface/ipv4/mwan1/config',
'iface/ipv4/mwan1/працуе',
'статус/мабільны/mwan0',
'статус/мабільны/mwan1',
'вартаўнік/прак/бард',
'watchdog/proc/bard6',
'вартавы сабака/proc/mwan1d',
'вартавы сабака/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 |




