

ユーザーモジュール
Node.js
アプリケーションノート

使用される記号
危険–ユーザーの安全またはルーターへの潜在的な損傷に関する情報。
注意–特定の状況で発生する可能性のある問題。
情報または通知–特に関心のある役立つヒントまたは情報。
Exampル–例amp関数、コマンド、またはスクリプトのファイル。

Advantech Czech sro、Sokolska 71、562 04 Usti nad Orlici、チェコ共和国
文書番号APP-0080-ENは7年2021月XNUMX日に改訂されました。チェコ共和国でリリースされました。
Node.jsユーザーモジュール
Web インタフェース
モジュールのインストールが完了すると、ルーターの[ユーザーモジュール]ページでモジュール名をクリックして、モジュールのGUIを呼び出すことができます。 web インターフェース。 このGUIの左側には、[一般]メニューセクションのあるメニューが含まれています。 一般メニューセクションには、Node.js自体のすべてのライセンスのリストを含むライセンスと、モジュールのから戻る関連するルーターアプリケーションとリターンアイテムのみが含まれます。 web ルーターのページ web 構成ページ。 モジュールのGUIのメインメニューを図2に示します。
導入
Node.jsユーザーモジュールは、ルーターのファームウェアの一部ではありません。 からダウンロードできます icr.advantech.cz/user-modules。 ユーザーモジュールのインストールプロセスは、構成マニュアルに記載されています([1]、[2]、[3]、および[4]を参照)。 このユーザーモジュールは、v3およびv4プラットフォームルーターとのみ互換性があります。
Node.jsノードは、Advantechセルラールーターで使用できる独自のサーバー側JavaScriptランタイム環境ノードです。 このノードは、JavaScriptで記述されたアドバンテックモジュールによって使用されますが、ルーターの管理と保守のために他のサードパーティのJavaScriptアプリケーションによって使用できます。
ルーターモジュールには、組み込みノードへのこのノードの追加が含まれています。
- ノード認証 pam – NodeJSの非同期PAM認証、
- when.js – Promises / A +およびwhen()の実装(完全なES6 Promiseシムを含む)
- ルーターノード– このドキュメントで詳細に説明されているアドバンテックのセルラールーター専用ノード。
カスタムノードの構築
ノードを構築してインストールする公式の方法は、npmコマンドを使用することです。 ただし、ルーターは限られたリソースの組み込みデバイスであり、一部のノードはJavaScript以外の言語のために複雑な構築環境と高性能を必要とするため、ルーターでそれを見つけることはできません。
幸い、Linuxを搭載したPCでノードを準備し、それをルーターにコピーするのは簡単です。
詳細については、 https://icr.advantech.cz/support/faq/detail/building-the-custom-nodes-fornode-js-node-red.
ルーターノード
ドキュメントのこの部分は、特にプログラマー専用です。
ルーターノード(「ルーター」という名前)は、ルーター固有の機能とハードウェアへのアクセスを提供します。
たとえば、require(“ router”)を使用して、コードにNode.jsノードをロードできます。amp上:
var r = require(“ router”);
この例のr変数を使用しますamp次の例のすべてのプロパティにアクセスするファイルampこのメモのファイル。
シンプルな例ampルーターノード使用のファイル
次の図は元ですampロードのファイル Node.js ノード。

ノードのプロパティ
2.1.1 製品名
ルーターの製品名がロードされた読み取り専用の文字列変数。 元amp使用法:
console.log(r.productName);
出力:SPECTRE-v3T-LTE
2.1.2 プラットフォームコード
ルーターのプラットフォームコードがロードされた読み取り専用の文字列変数。 それはのルーターによってサポートされています
v3およびv4本番プラットフォーム。 元amp使用法:
console.log(r.platformCode);
出力:V3
2.1.3 シリアルナンバー
ルーターのシリアル番号がロードされた読み取り専用の文字列変数。 元amp使用法:
console.log(r.serialNumber);
出力:ACZ1100000322054
2.1.4 firmwareVersion
ルーターのファームウェアバージョンでロードされる読み取り専用の文字列変数。 元amp使用法:
console.log(r.firmwareVersion);
出力:6.2.1(2019-10-16)
2.1.5 RTCBバッテリーOK
ルーターのRTCバッテリー状態がロードされた読み取り専用のブール変数。 TrueはOKを意味し、falseは悪いことを意味します。 元amp使用法:
console.log(r.RTCBatteryOK);
出力: true
2.1.6 電源
ルーターの電源ボリュームがロードされた読み取り専用のXNUMX進数変数tage。 元amp使用法:
console.log(r.powerSupply + 'V');
出力:11.701 V
2.1.7 温度
ルーターの内部温度が摂氏でロードされた読み取り専用の整数変数。 元amp使用法:
console.log(r.temperature + '◦C');
出力:39◦C
2.1.8 ユーザーLED
制御ルーターの「USR」LEDの書き込み専用ブール変数。 元amp使用法:
r.usrLED = 真;
USR LEDをオン(点灯)に設定します。
2.1.9 置き場
ルーターのバイナリ入力の値を持つ読み取り専用配列。 配列には、いくつかのバイナリ入力に関連する項目があります。 たとえば、ルーターにはBIN0とBIN1があるため、配列には有効なインデックス0と1があります。配列アイテムの値は0または1です。例amp使用法:
console.log( "セカンダリバイナリ入力:" + r.bIn [1]);
出力:0次バイナリ入力:XNUMX
2.1.10 試合
ルーターのバイナリ出力に関連する配列。 B_INに似ていますが、値を書き込むこともできます。
書き込み値は出力状態を変更します。 元amp使用法:
console.log(r.bOut [0]);
出力: 1
r.bOut [0] = 0;
最初のバイナリ出力を0に設定します。
2.1.11 Xバス
Xバスを操作するためのオブジェクト。 Xバスは、プロセス間の通信用の専用バスです。
たとえば、ネットワークインターフェイスがアップ/ダウンする情報やmanデーモンからのSMSをサブスクライブできます。 アプリケーション間で独自のトピックを送信/サブスクライブすることもできます。
XBus.publish(topic、payload、store = false)
トピック文字列とペイロード文字列を含むメッセージをXバスに送信します。 元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 dBm
信号品質:-8 dB
XBus.unsubscribe(topic)
トピックの購読を解除します。 元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'、
'status / mobile / mwan0'、
'status / mobile / mwan1'、
'watchdog / proc / bard'、
'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-JA)
[3] Advantech Czech:SmartMotion構成マニュアル(MAN-0024-JA)
[4] Advantech Czech:ICR-3200構成マニュアル(MAN-0042-EN)
[5]ユーザーモジュール: icr.advantech.cz/user-modules
[6] JS Foundation: https://nodered.org/
[EP]製品関連のドキュメントとアプリケーションは、次のエンジニアリングポータルで入手できます。 icr.advantech.cz 住所。
ドキュメント / リソース
![]() |
ADVANTECH RouterApp Node.js [pdf] ユーザーガイド ADVANTECH、RouterApp、Node.js |




