この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
mae3xx_ope:setup_mh920:start [2016/12/13 14:25] admin |
mae3xx_ope:setup_mh920:start [2017/01/20 15:05] (現在) development |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
+ | ====== 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とします。 | ||
+ | |||
+ | <file generic mh920_bridge> | ||
+ | ENABLE=0 | ||
+ | CONFIG=/opt/mh920/bridge/mh920_bridge.ini | ||
+ | |||
+ | # --- Example --- | ||
+ | # ENABLE=1|0 | ||
+ | # CONFIG=(Full path to configuration file) | ||
+ | </file> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | 独自の設定ファイルは、デフォルトのものが /opt/mh920/bridge/mh920_bridge.ini にあります。 | ||
+ | |||
+ | <file generic 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 | ||
+ | </file> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ^ セクション ^ 項目 ^ 内容 ^ 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を使って起動します。 | ||
+ | |||
+ | <code> | ||
+ | root@plum:~# initctl reload-configuration | ||
+ | root@plum:~# initctl start mh920_bridge | ||
+ | mh920_bridge start/running, process 2515 | ||
+ | </code> | ||
+ | |||
+ | 最後の行の出力が「start/running」となったら起動しています。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== ブリッジソフトウェアの使用(pingモード) ==== | ||
+ | |||
+ | [PingMode]セクションで「enable=yes」とした場合、pingモードで起動します。\\ | ||
+ | 動作ログは /var/log/upstart/mh920_bridge.log で確認できます。\\ | ||
+ | 子機の電源を途中からOnしたりOffした場合の動作ログを示します。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | <code> | ||
+ | # 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) | ||
+ | </code> | ||
+ | |||
+ | (1)の時点では、対象の子機への経路情報が取得出来ないので、(2)のように出力されます。\\ | ||
+ | (3)の時点で、子機の電源がOnされたので、子機への経路情報が取得されます。その結果、(4)で生存確認要求が送信され、(5)で返答がありました。\\ | ||
+ | (6)の時点で、子機の電源がOffされたので、子機への経路情報はモジュールに残っていて取得出来ますが、生存要求への返答要求はなくなりました(8)。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== デモソフトウェアの設定 ==== | ||
+ | |||
+ | (準備中) | ||