====== 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)。 \\ ==== デモソフトウェアの設定 ==== (準備中)