

Moduł użytkownika
Node.js
UWAGA DOTYCZĄCA APLIKACJI

Użyte symbole
Niebezpieczeństwo — informacje dotyczące bezpieczeństwa użytkownika lub potencjalnego uszkodzenia routera.
Uwaga – Problemy, które mogą pojawić się w określonych sytuacjach.
Informacja lub zawiadomienie — przydatne wskazówki lub informacje o szczególnym znaczeniu.
Example – npampplik funkcji, polecenia lub skryptu.

Advantech Czech sro, Sokolska 71, 562 04 Usti nad Orlici, Czechy
Dokument nr APP-0080-EN został zaktualizowany w dniu 7 maja 2021 r. Wydany w Czechach.
Moduł użytkownika Node.js
Web Interfejs
Po zakończeniu instalacji modułu można wywołać GUI modułu, klikając nazwę modułu na stronie Moduły użytkownika w routerze web berło. Lewa część tego GUI zawiera menu z sekcją menu Ogólne. Sekcja menu ogólnego zawiera tylko Licencje zawierające listę wszystkich licencji dla samego Node.js, a także powiązaną aplikację routera i pozycję Return, która przełącza z powrotem z modułu web Strona do routera web strony konfiguracyjne. Główne menu GUI modułu pokazano na rysunku 2.
Wstęp
Moduł użytkownika Node.js nie jest częścią oprogramowania układowego routera. Można go pobrać z icr.advantech.cz/user-modules. Proces instalacji modułów użytkownika opisany jest w Instrukcji Konfiguracji (patrz [1], [2], [3] i [4]). Ten moduł użytkownika jest kompatybilny tylko z routerami platformy v3 i v4!
Węzeł Node.js jest zastrzeżonym węzłem środowiska uruchomieniowego JavaScript po stronie serwera, dostępnym dla routerów komórkowych Advantech. Ten węzeł jest używany przez moduły Advantech napisane w JavaScript, ale może być używany przez dowolną inną aplikację JavaScript innej firmy do administrowania i konserwacji routerów.
Moduł routera zawiera dodanie tego węzła do węzłów wbudowanych:
- węzeł-uwierzytelnianie-pam – asynchroniczne uwierzytelnianie PAM dla NodeJS,
- kiedy.js – Implementacja Promises/A+ i when(), w tym kompletna podkładka ES6 Promise,
- węzeł routera – zastrzeżony węzeł dla routerów komórkowych firmy Advantech opisany szczegółowo w tym dokumencie.
Budowanie niestandardowych węzłów
Oficjalnym sposobem budowania i instalowania węzła jest użycie polecenia npm. Jednak nie można go znaleźć na naszych routerach, ponieważ router jest urządzeniem wbudowanym z ograniczonymi zasobami, a niektóre węzły wymagają złożonego środowiska budowlanego i wysokiej wydajności ze względu na języki inne niż JavaScript.
Na szczęście łatwo jest przygotować węzeł na komputerze z systemem Linux, a następnie skopiować go na router.
Więcej szczegółów można znaleźć https://icr.advantech.cz/support/faq/detail/building-the-custom-nodes-fornode-js-node-red.
Węzeł routera
Ta część dokumentu jest dedykowana szczególnie programistom.
Węzeł routera (o nazwie „router”) zapewnia dostęp do określonych funkcji i sprzętu routera.
Możesz załadować węzeł Node.js do swojego kodu przez require(„router”), na przykładampna:
var r = wymagaj("router");
Użyjemy zmiennej r z tego example, aby uzyskać dostęp do wszystkich właściwości w następnym example w tej notatce.
Prosty Example użycia węzła routera
Następna postać to example ładowania Node.js węzeł.

Właściwości węzła
2.1.1 nazwaproduktu
Zmienna łańcuchowa tylko do odczytu ładowana z nazwą produktu routera. Byłyampsposób użytkowania:
console.log(r.nazwaProduktu);
Wyjście: SPECTRE-v3T-LTE
2.1.2 kod platformy
Zmienna łańcuchowa tylko do odczytu, załadowana kodem platformy routera. Jest obsługiwany przez routery firmy
Platformy produkcyjne v3 i v4. Byłyampsposób użytkowania:
console.log(r.Kod Platformy);
Wyjście: V3
2.1.3 numer seryjny
Zmienna łańcuchowa tylko do odczytu, załadowana numerem seryjnym routera. Byłyampsposób użytkowania:
console.log(r.numer seryjny);
Wyjście: ACZ1100000322054
2.1.4 Wersja oprogramowania układowego
Zmienna łańcuchowa tylko do odczytu, załadowana wersją oprogramowania sprzętowego routera. Byłyampsposób użytkowania:
console.log(r.wersja oprogramowania);
Wyjście: 6.2.1 (2019)
2.1.5 Bateria RTC OK
Zmienna logiczna tylko do odczytu ładowana ze stanem baterii RTC routera. Prawda oznacza OK, fałsz oznacza zły. Byłyampsposób użytkowania:
konsola.log(r.RTCBatteryOK);
Wyjście: prawda
2.1.6 zasilacz
Zmienna liczb dziesiętnych tylko do odczytu ładowana z zasilacza routera voltagmi. Byłyampsposób użytkowania:
console.log(r.powerSupply + ' V');
Wyjście: 11.701 V.
2.1.7 temperatura
Zmienna będąca liczbą całkowitą tylko do odczytu obciążona wewnętrzną temperaturą routera w stopniach Celsjusza. Byłyampsposób użytkowania:
console.log(r.temperatura + '◦ C');
Wyjście: 39 ◦ C
2.1.8 usrLED
Zmienna logiczna przeznaczona tylko do zapisu dla diody LED „USR” routera sterującego. Byłyampsposób użytkowania:
r.usrLED = prawda;
Ustawia diodę LED USR na ON (oświetlenie).
2.1.9 kosz
Tablica tylko do odczytu z wartościami na wejściach binarnych routera. Tablica zawiera pozycje związane z wieloma wejściami binarnymi. Np. router ma BIN0 i BIN1, więc tablica ma prawidłowe indeksy 0 i 1. Elementy tablicy mogą mieć wartości 0 lub 1. Np.ampsposób użytkowania:
console.log(„Wtórne wejście binarne: ” + r.bIn[1]);
Wyjście: wtórne wejście binarne: 0
2.1.10 atak
Tablica związana z wyjściami binarnymi routera. Jest podobny do B_IN, ale możesz też zapisywać wartości.
Zapisana wartość zmienia stan wyjścia. Byłyampsposób użytkowania:
konsola.log(r.bOut[0]);
Wyjście: 1
r.bWyjście[0] = 0;
Ustawia pierwsze wyjście binarne na 0.
2.1.11 Autobus X
Obiekt do współpracy z X Bus. X Bus to zastrzeżona magistrala do komunikacji między procesami.
Np. możesz zasubskrybować informacje o tym, który interfejs sieciowy idzie w górę/w dół lub SMS-a od demona man. Możesz także wysyłać/subskrybować własne tematy pomiędzy aplikacjami.
XBus.publish(temat, ładunek, sklep=false)
Wysyła wiadomość z tematem String i ładunkiem String do X Bus. Byłyampsposób użytkowania:
r.xBus.publish(„watchdog/proc/myapp”, „Timeout: 300”);
Wysyła do systemu żądanie obejrzenia aplikacji „myapp”. Wniosek musi wysyłać tę wiadomość regularnie, nie później niż w okresie określonym w poprzednim komunikacie (300 s w tym example). Limit czasu 0 przestaje oglądać.
XBus.subscribe(temat, wywołanie zwrotne)
Subskrybuje, aby otrzymywać wiadomości z tematem. Byłyampsposób użytkowania:
Funkcjonować:
xbus.subscribe(„status/mobile/mwan0”, (msg) => {console.log(msg.payload);});
Wyjście asynchroniczne:
Rejestracja: Sieć domowa
Technologia: LTE
Siła sygnału: -88 dBm
Jakość sygnału: -8 dB
XBus.unsubscribe(temat)
Wypisz się z tematu. Byłyampsposób użytkowania:
r.XBus.unsubscribe(identyfikator);
Przestaje otrzymywać informacje o rejestracji do sieci z poprzedniego example.
XBus.list()
Wyświetla zapisane wiadomości. Byłyampsposób użytkowania:
r.XBus.list();
Wyjście:
[ 'iface/ipv4/mwan0/config',
'iface/ipv4/mwan0/działanie',
'iface/ipv4/mwan1/config',
'iface/ipv4/mwan1/działanie',
„status/mobilny/mwan0”,
„status/mobilny/mwan1”,
„strażnik/proc/bard”,
„strażnik/proc/bard6”,
„watchdog/proc/mwan1d”,
„watchdog/proc/mwan2d”,
'watchdog/proc/mwanxd' ]
XBus.odczyt(temat)
Czytaj zapisane wiadomości z XBus. Byłyampsposób użytkowania:
r.XBus.read('face/ipv4/mwan0/config');
Wyjście:
W górę: 1
Interfejs: usb0
Adres: 10.184.131.221
Gateway: 192.168.253.254
DNS1: 217.77.165.211
DNS2: 217.77.165.81
[1] Advantech Czech: Instrukcja konfiguracji SmartStart (MAN-0022-EN)
[2] Advantech Czech: Instrukcja konfiguracji SmartFlex (MAN-0023-EN)
[3] Advantech Czech: Instrukcja konfiguracji SmartMotion (MAN-0024-EN)
[4] Advantech Czech: Podręcznik konfiguracji ICR-3200 (MAN-0042-EN)
[5] Moduły użytkownika: icr.advantech.cz/user-modules
[6] Fundacja JS: https://nodered.org/
[EP] Dokumenty i aplikacje związane z produktami można uzyskać na portalu inżynierskim pod adresem icr.advantech.cz adres.
Dokumenty / Zasoby
![]() |
ADVANTECH RouterApp Node.js [plik PDF] Instrukcja użytkownika ADVANTECH, RouterApp, Node.js |




