M2M
人の直接操作を必須とせず、機器同士で測定値や制御指示などを自動的にやり取りする通信の形態である。機器からサーバへの定期報告や、受け取った情報に基づく装置の遠隔制御などに使われる。
イマシルちゃんの解説
M2Mは、機械が別の機械やサーバと情報をやり取りする通信の形なんだ。
例えば倉庫の温度計が測った値を送り、管理装置がその結果を見て冷却装置を動かす仕組みを考えてみてね。
人が毎回送信ボタンを押さなくても、決めた間隔や温度の変化に合わせて情報を届けられるよ。
機器が直接サーバへ送る構成もあれば、中継装置が近くの機器の情報を集める構成もあるんだ。
現場を巡回する回数を減らしたり、異常に早く気付いたりするために役立つよ。
どれくらい早く届けたいか、電池をどれくらい持たせたいかに合わせて通信の仕組みを選ぶことが大切なんだ。
この解説はわかりやすかったですか?
より深い解説
自動通信に着目した考え方
M2MはMachine-to-Machineの略である。温度の報告、電力量の収集、設備の状態確認などを機器が自律的に行うことで、人が機器ごとに読み取りや送信を指示する負担を減らす。動作条件の設定や保守まで無人である必要はなく、集めた情報を人が確認する構成も含む。ETSI TS 102 689 は、直接的な人の介在を必須としない通信としてM2Mを位置付けている。
M2Mは通信の利用形態であり、特定の無線方式やアプリケーションプロトコルの名前ではない。有線LANや携帯電話網などの複数の手段を使える。機器とサーバが通信する場合もM2Mであり、同じ種類の機器が一対一で直結する構成に限定されない。
IoTは、現実の物や仮想的な物を情報通信技術で結び付けてサービスを実現するという、より広い構成や利用を扱う概念である。M2Mが機器間の自動通信に着目するのに対し、IoTでは収集した情報の共有やサービスへの活用も考える。両者の範囲は重なり、M2Mの仕組みをIoTシステムの一部として利用できる。ITU-T Y.4000/Y.2060 はIoTの全体像を定義している。
現場の機器とサーバを結ぶ構成
物理的な温度や圧力を検出する装置をセンサーという。これに対し、制御信号を受けてモーターや弁などを動かす装置をアクチュエーターという。値を集めるだけの監視と、値に応じて設備を動かす制御では必要な通信の方向が異なる。制御を行う場合は、指示を送る経路と実行結果を返す経路も設計する。
機器が自身の通信機能でサーバへ接続する構成のほかに、複数の機器をゲートウェイでまとめる構成がある。この中継装置は現場側と上位側の通信方式を変換したり、測定結果をまとめて転送したりする。現場の機器がIPを扱えなくても、中継装置が上位のIPネットワークとの間を仲介できる。ETSI TS 102 690 第4章 は直接接続と中継を使う接続を示している。
集約すると各機器に広域通信機能を持たせる負担を抑えやすい。一方で中継装置が停止すると、その配下の複数の機器が同時に通信できなくなる場合がある。重要な設備では、上位との接続が切れても現場側で必要な判断を続けるか、運転を停止するかを設備の要件として決める。
通信方式はデータ量だけで選ばない
送信する値が小さくても、台数が多い場合や送信時刻が重なる場合には通信負荷が増える。また、電池駆動の機器では送信するデータだけでなく、接続の確立や受信待ちによる消費電力も考える必要がある。用途ごとに次の条件を確認する。
| 確認する条件 | 設計に与える影響 |
|---|---|
| データ量と発生頻度 | 通信速度や月間通信量に加え、一度に集中する量を見積もる。 |
| 許容できる遅延 | 後で届けばよい記録と、期限内に届く必要がある警報を区別する。 |
| 設置場所と移動 | 到達距離、遮蔽物、圏外になる場所、移動への対応を確認する。 |
| 電源と保守周期 | 通信を休止できる時間と、遠隔からの指示を受けられる頻度を決める。 |
| 欠測や重複の許容範囲 | 保存、再送、重複検出などの必要性を決める。 |
省電力のために通信機能を休止するスリープを利用すると、機器が受信可能になるまで指示を待たせる場合がある。電池の寿命を優先して休止時間を長くする設計と、いつでも即座に遠隔操作する要求は両立しないことがある。ETSI TS 102 689も休止中の機器への配送や、アプリケーションが許容する遅延を考慮した送信時刻の調整を要求項目として扱っている。
いつ送るかと届かない状態を区別する
サーバなどが機器へ順番に問い合わせて値を集める方式をポーリングという。収集側で取得時刻を管理しやすいが、変化がない機器にも問い合わせるための通信が発生する。反対に、機器側で条件の成立を検出して送信する方式をイベント駆動という。温度が設定値を超えたときだけ送る構成などが該当する。
変化時だけ送信する方式では、何も届かない理由が「正常で変化がない」ためか「故障して送れない」ためか分からない。そこで定期的な生存確認の通知であるハートビートを組み合わせ、一定期間届かなければ調査する設計が考えられる。異常発生時の通知間隔と生存確認の間隔は目的が異なるので分けて決める。
受信データには機器を特定するIDと値の単位を付ける。また、値を測定した時刻を表すタイムスタンプを記録する。通信断の間に保存した値が後からまとめて届くと、受信時刻と測定時刻が大きく離れるためである。時刻の同期方法や機器の時計のずれも考慮し、過去の測定値を現在値として表示しないようにする。
切断と再実行を前提にする
一時的な通信断に備えて、機器や中継装置に未送信データを一時保存するバッファを設ける方法がある。保存できる期間を超えた場合に古い値を捨てるのか、警報だけを優先して残すのかを決める。蓄積した全件を復旧直後に送ると負荷が集中するため、通常の通信を妨げない送信速度も設定する。
再接続や再送が失敗した際に、待ち時間を2倍ずつなど指数関数的に長くする方法を指数バックオフという。多数の機器が同じ時刻に再試行し続けることを避けるため、待ち時間に乱数によるばらつきを加える設計も使える。これらは実装上の選択であり、M2Mという名称だけで備わる機能ではない。
制御では、サーバが応答を受信できなかったことと、装置が指示を実行しなかったことを区別する必要がある。例えば「設定温度を1度下げる」という指示が実行済みで応答だけ失われた場合、同じ指示を再送するとさらに1度下がる。処理IDで重複を検出する方法や「設定温度を18度にする」という指示にする方法が考えられる。同じ操作を繰り返しても結果が変わらない性質を冪等性という。送信の成否だけでなく、必要に応じて装置の実際の状態を確認する。
共通機能をアプリケーションから分ける
多数の用途で機器を接続すると、機器登録やアクセス権限、データ保存などをアプリケーションごとに作る負担が大きくなる。oneM2Mは、こうした機能を共通サービス層として扱う標準化の枠組みである。通信ネットワークと個別のアプリケーションの間に共通機能を置く考え方を採る。oneM2Mの公式解説 は、データの保存と共有、通知、機器管理などをその機能として示している。
ただし、全てのM2Mシステムがこの標準を実装するわけではない。また、共通の通信方法を採用していても「温度」の単位や機器IDの意味が一致しなければ、データを正しく利用できない。接続手順だけでなく、データの形式と意味も合わせる必要がある。
導入後の管理と安全性
機器の台帳には設置場所、担当者、通信先、ソフトウェア版、機器識別子などの対応関係を記録する。アドレスや機器IDを申告できるだけでは、正しい機器であることの証明にはならない。鍵や証明書などで通信相手を確かめる認証を行い、その機器が送信してよいデータや実行してよい操作を制限する。特に設備を動かす権限は測定値の参照権限と分けて考える。
通信内容の暗号化に加え、不正な書換えを検出できることも必要である。機器に脆弱性が見つかったときに備えてソフトウェア更新の手順を用意し、適用前に更新元や改変の有無を検証する。長期間設置する機器では鍵や証明書の更新も計画する。NISTIR 8259A は、機器の識別、データ保護、アクセス制限、安全な更新などの基本機能を整理している。
障害調査では、最後に正常な測定値を受信した時刻を確認する。一台だけ止まった場合はその機器の電源や現場側の接続を調べ、同じ中継装置の配下が一斉に止まった場合は共通する装置や上位回線を調べる。通信だけ復旧しても古い値が残ることがあるため、届いたデータの鮮度と制御結果まで確認する。廃止する機器については登録を解除し、残された認証情報を使用できない状態にする。