====== 920MHz帯マルチホップ無線 SmartHop を使用する ======
MA-E360/NLには、沖電気工業株式会社の [[https://www.oki.com/jp/920M/mh/module/|920MHz帯無線通信モジュール MH920]] (透過モデル/コーディネータ)が内蔵されています。
このモジュールは、Linuxからはttyデバイス(/dev/ttyS0)として認識されます。
このデバイスに特定のデータフォーマットでデータを書き込むと、モジュールを制御したり、モジュールを通して無線の向こう側のデバイス(例: Modbus機器)とデータをやりとりすることができます。
このモジュールに対して、以下の操作を行えるソフトウエアを用意しました。
* ブリッジソフトウェア: MH920の設定を行ったり、他のソフトウェアからのデータをフォーマット変換してMH920に送信したりするソフト
* デモソフトウェア: ブリッジソフトウェアを通して、MH920無線ユニット(子機)に接続されたModbus機器のデータを取得するソフト
\\
==== ブリッジソフトウェアの設定 ====
ブリッジソフトウェアは、upstartで起動の有無を設定し、独自の設定ファイルで詳細な設定を行います。
upstartの設定ファイルは、 /etc/default/mh920_bridge にあります。\\
ブリッジソフトウェアを起動させるには、ENABLE=1とします。
ENABLE=0
CONFIG=/opt/mh920/bridge/mh920_bridge.ini
# --- Example ---
# ENABLE=1|0
# CONFIG=(Full path to configuration file)
\\
独自の設定ファイルは、デフォルトのものが /opt/mh920/bridge/mh920_bridge.ini にあります。
[General]
nwkey=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
pan_id=0
nw_id=MH920
channel=1
device=/dev/ttyMH920
virtdev=/dev/virtMH920
debug=yes
[ShortAddress]
2=2
3=3
[PFilter]
pfilter=1
timeout=10
[PingMode]
enable=no
mac_1=00 25 36 00 00 00 00 01
interval=20
\\
^ セクション ^ 項目 ^ 内容 ^ Notes |
|[General] | | 動作全般の設定 | |
|:::| nwkey | ネットワーク暗号鍵 | 2桁の16進数を16個。未指定の場合暗号化しない|
|:::| pan\_id | IEEE802.15.4g PAN ID | 0001~FFFE |
|:::| nw\_id | ネットワーク名 | 16文字以内 |
|:::| channel | IEEE802.15.4g チャネル| 1〜27, 奇数のみ|
|:::| device | MH920デバイス名 | /dev/ttyMH920固定|
|:::| virtdev | 仮想デバイス名 | 他のソフトウエアがこのデバイス(tty)に書き込むと、MH920に送信される|
|:::| debug | デバッグ出力 | yesにすると/var/log/upstart/mh920\_bridge.logにデバッグメッセージが出力される |
|[ShortAddress] | | 局番→ショートアドレスの対応 | |
|:::| (数字) | ショートアドレス | 項目名の数字の局番をもつ機器に対応する子機のショートアドレスを指定する。\\ 例: Modbusの局番5の機器がショートアドレス7の子機に接続されている場合は"5=7"と指定する |
|[PFilter] | | パケットフィルタ | |
|:::| pfilter | パケットフィルタの種類 | 0: なし \\ 1: あり(ポーリング) \\ 2: あり(通知型) |
|:::| timeout | ポーリング時通信タイムアウト時間 | 1~60(秒) 0.1秒単位で指定可能 |
|[PingMode] | | ノード生存確認要求 | 子機に対してノード生存確認要求を送信し続ける専用モード |
|:::| enable | 有効化 | yesにするとブリッジとしては動作しなくなる |
|:::| mac_(数字) | 要求送信先MACアドレス | 2桁の16進数を8個 \\ 項目名の数字を変えて複数指定可能 |
|:::| interval | 要求送信間隔 | 秒 |
\\
==== ブリッジソフトウェアの使用 ====
設定ファイルを編集したら、upstartを使って起動します。
root@plum:~# initctl reload-configuration
root@plum:~# initctl start mh920_bridge
mh920_bridge start/running, process 2515
最後の行の出力が「start/running」となったら起動しています。
\\
==== ブリッジソフトウェアの使用(pingモード) ====
[PingMode]セクションで「enable=yes」とした場合、pingモードで起動します。\\
動作ログは /var/log/upstart/mh920_bridge.log で確認できます。\\
子機の電源を途中からOnしたりOffした場合の動作ログを示します。
\\
# API_reset:
# API_set_basic_setting:
# API_set_protocol_setting:
# API_set_nwkey_setting:
# API_set_addrlist_setting:
# API_set_packet_filtering:
# API_start_operation:
wait for joinning network.
confirmed joinning network.
Getting route info. ←(1)
No route info. ←(2)
Getting route info.
No route info.
Getting route info. ←(3)
Sending ping. ←(4)
ping response recieved. ←(5)
Getting route info.
Sending ping.
ping response recieved.
Getting route info. ←(6)
Sending ping. ←(7)
No response. ←(8)
(1)の時点では、対象の子機への経路情報が取得出来ないので、(2)のように出力されます。\\
(3)の時点で、子機の電源がOnされたので、子機への経路情報が取得されます。その結果、(4)で生存確認要求が送信され、(5)で返答がありました。\\
(6)の時点で、子機の電源がOffされたので、子機への経路情報はモジュールに残っていて取得出来ますが、生存要求への返答要求はなくなりました(8)。
\\
==== デモソフトウェアの設定 ====
(準備中)