Devices
ページ: セットアップ -> デバイス
デバイスは、PLC、LoRaWANリレーノード、あるいは別のAoTサーバーといった1台のハードウェアを表す複合エントリで、そのハードウェアに必要な入力・出力を1か所にまとめます。接続情報はデバイス側で一度だけ入力すればよく、デバイスが作成した入力・出力にそのままコピーされます。
このページは 設定 -> デバイス から開き、入力のすぐ上に並びます。デバイスは機能の一覧には含まれないため、デバイスの追加・編集・削除はこのページでのみ行います。
デバイスは入力・出力・機能とどう違うか~
| 種類 | 何を表すか |
|---|---|
| 入力 | 測定値の発生源となるものです。値を読み取り、測定値データベースに保存します。 |
| 出力 | 1つの制御です。リレーを切り替えたり、デューティサイクルを設定したり、コマンドを送信したりします。 |
| 機能 | 測定値と出力に対して働くロジックです(条件付き機能、PID、トリガーなど)。 |
| デバイス | ハードウェアそのものです。接続情報を保持し、そのハードウェアとやり取りする入力・出力を所有し、まとめてオン・オフを切り替えます。 |
デバイス自体は何も測定・制御しません — 実際の仕事はすべて、その入力・出力が行います。デバイスが加えるのは、接続情報をまとめる1つの場所、そのハードウェアに属するものの一覧、そしてひとまとめに有効化できる1つのスイッチです。
デバイスに属する項目は、それでも入力ページ・出力ページに一覧表示され、設定もそちらで行います。デバイスページはそれらを隠すものではなく、両ページの代わりになるものでもありません。
デバイスへの所属には、2通りの方法があります。
| 所属 | 意味 | 有効化に連動するか |
|---|---|---|
| 所有 | その項目がこのデバイスによって作成された、またはリンクした時点でどのデバイスにも属していなかった、という状態です。1つの項目のオーナーは最大1つです。 | はい |
| 参照 | その項目はすでに別の場所に属していて、このデバイスにもあわせて表示されている状態です。一覧では (参照) と表示されます。 | いいえ |
デバイスは他のデバイスを含むこともできます。下位デバイスは常に参照であり、所有項目になることはありません。また、ループを作ってしまうリンク(デバイスが自分自身の中に入ってしまう状態)は拒否されます。
デバイスの追加~
ページ上部のドロップダウンで種類を選びます — 項目は Device: <type name> の形式で表示されます — そして 追加 を押します。
その種類にひな形がある場合は、その入力・出力が一括で作成され、すでにデバイスにリンクされた状態になります。チャンネルはあえて空のままにしてあります — レジスタマップやリモート測定値の一覧はサイトごとに異なるため、決め打ちできないからです。チャンネルの入力は入力ページ・出力ページで行うか、リモートAoTサーバーの場合は、接続情報を保存した後にデバイスが検出する一覧から選んで行います。
デバイスの追加・編集・リンク・並べ替えには、コントローラを編集 権限が必要です。
このページにタブはありません。カードは各カード左側のハンドルをドラッグして並べ替えることができ、順序はドロップした時点で保存されます。
組み込みのデバイスの種類~
| 種類 | 作成されるもの | デバイス側で入力する接続情報 |
|---|---|---|
| Remote AoT Server | 収集用の入力(AoT: Remote AoT: Measurements)とオン/オフ制御用の出力(Remote AoT Output: On/Off) | リモートホスト(ポートを含めてもよい)、リモートAPIキー、プロトコル(HTTPS/HTTP)、TLS証明書の検証、リクエストタイムアウト |
| Modbus PLC (Generic) | Modbus TCPの入力とModbus TCPコイルの出力 | ホスト、ポート(既定は502)、ユニット/スレーブID、タイムアウト、再試行回数 |
| AoT-C (Solar 12V Relay Node) | ChirpStack MQTTのテレメトリ入力とChirpStackダウンリンクの出力 | DevEUI、MQTTブローカーのホスト/ポート/認証情報/TLS、ChirpStack gRPCサーバーとAPIキー、参加させる既存のLoRaWANクラススケジューラー |
| Custom (no fixed type) | 何も作成されません — 空のコンテナです | なし。既存の入力・出力・デバイスを自分でアタッチします。 |
AoT-Cの種類は、既存の LoRaWANクラススケジューラーに参加する形をとり、新規にスケジューラーを作ることはありません。これは、複数のノードで1つのスケジューラーを共有するためです。
デバイス一覧~
各カードには、左から順に次のものが表示されます。
- 並べ替え用のドラッグハンドル。
- デバイス名。クリックするとデバイスの固有IDがクリップボードにコピーされます。
- ステータスバッジと、そのデバイスが所有する入力・出力の件数。
- 有効化 / 無効化。
- 設定ドロワーを開く歯車アイコン。
このバッジは、そのデバイスの入力・出力が通信について報告する内容から導かれ、数秒おきに更新されます。
| バッジ | 意味 |
|---|---|
| 正常 | 少なくとも1つの項目が通信状況を報告でき、かつ異常を報告している項目が1つもない状態です。 |
| 異常 | 少なくとも1つの項目が通信の異常を報告している状態です。 |
| 確認不可 | このデバイスの配下に、通信状況を報告できるものが1つもない状態です。これは失敗ではありません — ほとんどのドライバーには、そもそもその問いに答える手段がないだけです。 |
件数は、そのデバイスが所有する入力・出力の数です。参照されている項目は数えません。
デバイス設定~
歯車アイコンを押すと、上から順に次のセクションを持つドロワーが開きます。
- 基本設定 — このデバイスの名前、メモ、地図上の配置(地図上へのデバイスの配置を参照)。
- 詳細設定 — そのデバイス固有のオプションで、ほとんどの種類では接続情報を指します。
- 測定チャンネル / 制御チャンネル — このデバイス配下のチャンネルの値・状態を表示するだけの読み取り専用ビュー(チャンネルを参照)。
- 入力 / 出力 — 入力・出力のリンク・リンク解除と、現在のリンク状況の確認(リンクを参照)。
- 下位デバイス — 同様の操作を、他のデバイスに対して行います。
一番下のボタンは 閉じる、削除、複製、保存 です。
Note
デバイスは、設定を保存する前に無効化しておく必要があります。有効化されたまま保存しようとするとエラーで拒否され、何も変更されません。無効化してから保存し、その後で再び有効化してください。
測定チャンネルと制御チャンネル~
このセクションには、各測定チャンネルの現在値と各制御チャンネルの現在の状態だけが表示され、それ以外は何もありません。ボタンは一切ありません — リンクされている出力には、単純なオン/オフチャンネルもあれば、開閉が対になったアクチュエーター、PWMチャンネルなど様々な形があり、ここに単一の操作系を置いてもそのすべてには合わないためです。
チャンネルを操作・設定するには、入力 / 出力 セクションの名前リンクを使ってください。それぞれの項目自身のページへ移動します。
既存の入力・出力・デバイスのリンク~
入力 / 出力 セクションと 下位デバイス セクションでは、検索可能なドロップダウンにこのデバイスへまだリンクされていないものすべてが列挙されます。1つ選んで リンク を押してください。現在リンクされているものはすぐ下に一覧表示されるため、ボタンの効果がその真下で確認できます。
- どのデバイスにも属していない入力・出力は、このデバイスに所有されます。
- すでに他の場所に属している項目は、参照として追加され、その旨が表示されます。同じ項目を複数のデバイスから参照することもできます。
- 他のデバイスは常に参照として追加され、ループを作ってしまうリンクは拒否されます。
- スペーサーは候補として提示されません。
リンク解除 は所属関係だけを取り除きます。入力・出力・デバイスそのものには手を加えず、動作もそのまま続きます — ただ、このデバイスの中には表示されなくなるだけです。
有効化~
デバイスを有効化すると、デバイス自体が有効化され、続いてそのデバイスが所有する入力が有効化されます。無効化はその逆です。
- 参照されている項目は、この連鎖では決して切り替わりません。同じ入力を2つのデバイスが参照している場合、一方をオフにしても、もう一方のデータ取得が止まってはならないからです。
- 出力はこの連鎖に含まれません。出力には固有の有効化状態がなく、作成された時点でデーモンに登録されます。
- 所有している入力を有効化できない場合 — たいていはデバイスを追加した直後で、接続情報がまだ空のときに起こります — それでもデバイスそのものは有効化され、失敗は警告として報告されます。そうしないと、修正に必要な設定にたどり着けなくなってしまいます。
接続情報と、それが下位の項目へ伝わる仕組み~
デバイス側に入力した接続情報は、デバイスを保存するたびに、そのデバイスが作成した入力・出力へコピーされます — 作成時だけではありません。作成された時点ではそれらの項目はまだ空なので、実際に値が入るのは保存された瞬間です。
- コピーは親から子への一方向です。子を直接編集しても、コピー対象の項目以外のフィールドが親によって上書きされることはありません。
- コピーされるのは、そのデバイスの種類が「共有する」と定めたフィールドだけで、しかもそのデバイスが作成した項目に対してだけです。自分でリンクした項目は自身の接続情報を保持し続け、その入力はそれぞれの項目のページで行います。
- コピーされるのは、両側で名前が一致するフィールドだけです。ドライバーによって同じ事実の呼び名が異なる場合は、そのデバイスの種類側で個別に対応します(AoT-Cの種類はDevEUIについてこれを行っています)。
別のAoTサーバーへの接続~
Remote AoT Server の種類は、もう1台のAoTを1つのデバイスとして扱います。収集用の入力が向こう側のサーバーの測定値をこちらへ取り込み、制御用の出力が向こう側の出力を切り替えます。
始める前に必要なものは次のとおりです。
- リモートサーバーのホストまたはIPアドレス。既定のポートで応答しない場合はポートも(例:
192.168.0.9:8084)。 - リモートサーバー側で発行されたAPIキー。
管理 -> システム管理 -> ユーザーでそのユーザーを編集し、キーを生成します。キーは生成された瞬間に一度だけ表示されます。セキュリティを参照してください。 - そのサーバーがHTTPSで到達できるか、平文のHTTPでしか到達できないか。
Note
APIキーは、それが属するユーザーの権限をすべて引き継ぎます。管理者に属するキーは、そのサーバーの測定値だけでなく、物理デバイスの制御権まで許してしまいます。収集専用の接続には、設定の閲覧しか許されていないロールに属するリモートユーザーの、読み取り専用権限のキーを使ってください。
TLS証明書を検証 は必ずオンのままにしてください。オフの間は、2台のサーバーの間にいる誰でもAPIキーを盗聴でき、そのキーがあればリモートの農場のバルブを開閉できてしまいます。
接続情報を保存すると、次のようになります。
- デバイスがリモートサーバーに測定値の一覧を問い合わせ、収集用の入力にある Remote Measurement のドロップダウンを埋めてくれるため、2回保存する必要はありません。リモートサーバーに到達できなかった場合でも保存自体は成功し、後で入力ページから再試行できます。
- 収集用の入力を開き、必要な測定値の数を設定し、各チャンネルにリモートの測定値を選び、表示されているものに合わせて各チャンネルの測定単位を設定します。
- 作成された入力・出力の名前には、リモートホストがかっこ書きで追加されるため、一覧やグラフの中で複数のリモートサーバーを区別できます。かっこより前の部分は自分でつけた名前としてそのまま保たれ、AoTが保守するのはかっこの中のホスト部分だけです。APIキーが名前に入ることはありません。
リモートのPWM出力はひな形には含まれません。ほとんどのサイトでは不要だからです。必要な場合は、その出力を自分で追加し、入力 / 出力 セクションでリンクしてください — 自分でリンクする項目の接続情報は、その項目自身の上で入力します。
地図上へのデバイスの配置~
デバイス設定の一番上にある地図セクションでは、地図の選択、位置の設定、マーカーのアイコン・色・サイズの設定によってデバイスを地図上に配置します。複合デバイスは、地図上ではその配下のデバイス群を束ねるコンテナとして扱われます。
地図の図形や施設の取り付け先は、それ自体の中にデバイスを格納しているわけではありません。ゾーンのポリゴン、施設のスロット、センサーの役割といった「場所」はそれ自体として存在し、デバイスは一定の期間、その場所に結び付けられているだけです。だからこそ、何も描き直さずにデバイスを交換でき、交換をまたいでグラフが途切れずに続くのです。
削除と複製~
削除 はデバイスのエントリそのものを取り除きます。その入力・出力までは削除しません — それらは自身のページに残ったまま動作を続け、消えるのはこのデバイスに属していたという記録だけです。
デバイスが削除されると、次のようになります。
- 場所への現在の結び付きは終了しますが、どのハードウェアがいつどの場所を占めていたかという履歴は保たれます。
- ゾーンのポリゴンと施設のスロットはそのまま残り、未割り当ての場所として地図エディタ・施設エディタにその旨が表示されます。削除されるのは、デバイスがなくなった時点で何も指さなくなる、デバイス自身の位置マーカーだけです。
- 地図がデバイスと一緒に削除されることはありません。
Note
所有していたデバイスが削除された入力・出力にも、かつての所有者だった記録は残ります。そのため、それを別のデバイスにリンクすると、所有項目としてではなく参照として追加され、新しいデバイスの有効化によって切り替わることもありません。そのような入力は、入力ページから有効化してください。
複製 はデバイスのエントリだけをコピーします。複製されたデバイスに入力・出力はありません — 新しく追加したデバイスのひな形を使うか、複製したデバイスに自分で項目をリンクしてください。