ソリューション会社(ISV)について引き続き話し合います。 この号では、INPROSISTEM AlexandrSurkovのテクニカルディレクターがCECMICセキュリティIoTシステムのアーキテクチャ開発の経験について語っています 。
多くの人々は、 「モノのインターネット」の概念は、私たちが毎日使用するネットワークと密接にリンクしていると考えています。 多くのデバイスがグローバルネットワークを通じて単一の全体に結合され、デバイスとサーバー間でデータを交換し、世界のデジタル画像を作成する画像を想像できます。 この記事では、何百ものセンサーを組み合わせたシステムの作成方法について説明します。
「インターネット」の概念はもっと広く考えるべきです。 この場合、これはデバイスに共通のネットワークです。 10個のデバイス、場合によっては10,000個のデバイスを含めることができます。有線でも、無線でもかまいません。 1つの部屋に配置でき、複数の国をカバーできます。 それはすべて、システムに設定されているタスクに依存します。
さらに、デバイスの小さなネットワークでさえも多くの困難を伴います。
問題の声明
境界セキュリティシステムの開発を任されました。 境界線は、オブジェクトを囲むフェンスです。 その長さは無制限です。
システムはゼロから作成されました。 設計が開始されるまでに、周囲の振動を収集し、それを分析して、フェンスの克服または破壊の事実を明確に判断することができたプロトタイプセンサーがありました。 経験的に、センサーは約10メートルごとに設置する必要があると判断しました。
センサーに加えて、リレーを備えた制御デバイスと「ドライ接点」を備えた制御デバイスも計画されました。 システムは、幅広い温度と気象条件の屋外条件で動作する必要があります。
だから:
- 3種類のデバイス。
- 1キロメートルあたり少なくとも100台のデバイス。
- キロメートル数は制限されていません。
- システムは屋外でなければなりません。
アーキテクチャに関する主な質問をすぐに強調できます。
- データおよび電力伝送の構成。
- 情報フローの配布:データを分析する場所と方法。
- セキュリティソリューション:使用するプロトコル。
- 非常に多くのデバイスを管理する方法。
一般的なソリューションスキーム
Clemens Vastersは、モノのインターネットシステムの開発者が直面していることについて素晴らしい記事を書きました 。 同じ問題を解決する必要がありました。
多くの決定は、GOSTおよびそのようなシステムの他の要件によって決定されました。 しかし、私たち自身が多くを発明しなければなりませんでした。
まず、システム内の情報フローを配布する方法を理解する必要がありました。 振動の分析には、時間と周波数の両方の成分が使用されました。 0〜500ヘルツの周波数範囲。 したがって、測定は毎秒1000回行う必要があります。 各測定は、それぞれ10ビットの3軸で行われます。
合計3 * 10 * 1000 = 1つのセンサーのみから30キロビット/秒。 1キロメートル(100センサー)の場合、これは3メガビットです。
このデータは送信できますが、処理方法は? 10 kmの境界線では、既に1秒あたり30メガビットのデータが提供されます。 サーバーの負荷は、デバイスの数とともに増加することがわかりました。
各センサーがデータ自体を処理し、アラームファクトのみを出力することが決定されました。 これにより、データ量が大幅に削減され、コンピューティングの負荷が分散されました。
ワイヤレスがバッテリーを必要とするという事実のため、ネットワークは有線で選択されました。 リアルタイムシステムがあるため、バッテリの寿命は非常に短くなります。 さらに、負の温度は供給要素の容量を大幅に低下させます。 また、無線通信の減衰は比較的簡単であり、これはすでにセキュリティシステムにとって非常に重大な欠点です。
GOSTでは、フェンスに沿って220Vを敷設することは禁止されているため、デバイスには定電圧で「給電」されます。
ネットワークアーキテクチャとしてバスを選択しました。 これにより、各センサーにワイヤを引っ張らないようになりました。
ただし、バスはネットワークの長さとデバイスの数に制限を課します。 そのため、新しいデバイス、ゲートウェイが導入されました。 2つのバスがあり、サーバーとの間でデバイス管理とデータ送信を行っています。 また、栄養と環境のパラメーターの監視にも関与しています。
したがって、サーバーから別の大きな負荷が削除されます:センサー管理。
さらに、分散コンピューティング負荷を伴うこのモジュラーアプローチにより、サーバー要件を大幅に増やすことなく、非常に多数のセンサーを共通システムに統合できます。
センサーのような残りのアクチュエーターはバスに接続されます。
結果はこのスキームです:
相互作用のプロトコルと方法の選択
ここで、データの送信方法を決定する必要がありました。 システム内の各デバイスは、2種類の交換に参加します。
- サーバーからのコマンド-サーバーへの応答。
- デバイスからサーバーへの非同期イベント。
コマンドは、デバイスの状態を変更して構成するために使用されます。 デバイスがサーバーの情報(センサーからのアラームなど)を表示する場合、イベントが生成されます
サーバー側では、ゲートウェイはバス上のデバイスの管理に加えて、電力と温度のパラメータも監視するため、他のすべてのユーザーと同じエグゼクティブデバイスと見なされます。
バスとしての選択は、主にRS485とCANの間でした。 これらの2つの標準のみが、十分に長い距離で多くのデバイスを接続することを可能にしました。
分析の結果、CANを優先しました。 ネットワーク設定は次のように選択されました。
- 最大500メートル。
- 最大100台のデバイス。
- 50 kbpsの速度。
私たちの意見では、これはシステムの速度、デバイス密度、ネットワーク長の最適なバランスです。
ゲートウェイは、2つのCANドライバーを搭載したマイクロコントローラーを使用するため、1つのゲートウェイで2つの側面を作り、1 kmを閉じることができました。
CANには他の利点もあります:ノイズ耐性、衝突の解決、および宛先へのパケット配信の保証。 さらに、ネットワークエラーを診断するためのかなり強力なモデルがあります。
ただし、CANはネットワークのリンク層のみを表します。 それと直接作業するために、より高いレベルの多くのプロトコルがあります。 最も有名なのはCANOpenです。
さまざまなオプションを検討した結果、どのプロトコルも適切ではないという結論に達しました。 私たちのタスクには複雑すぎるもの、使用するために控除を必要とするもの、実装したいものをサポートしないものがあります。
そして、 PlugAndPlayの原則に従ってシステムを実装したかったのです 。
- 電源を切らずにデバイスを接続および切断します。
- システム構成の変更の自動検出。
- システムは、組み立て後すぐに動作を開始するはずです
最終的に、シンプルでありながら強力なプロトコルを作成することで、意図したことを実行できました。 バス帯域幅が小さく、マイクロコントローラの計算能力が小さいことを説明しているため、プロトコルタイプはバイトになりました。 帯域幅の最適化により、プロトコルはCANと非常に強力に接続されていることが判明しましたが、理論的には他の標準に移植可能にすることができました。
このプロトコルでは次のことができます。
- 接続されたデバイスを即座に検出
- デバイスの切断を検出する
- 要求/応答モードで動作します。
- 非同期イベントを送信します。
- デバイスからストリーミングデータを転送します。
デバイスとゲートウェイ間の交換を確立した後は、サーバーを処理する必要があります。
ゲートウェイにはイーサネット出力があります 。 これは最も用途の広いデータ転送技術です。 ネットワークは、光チャネル、ワイヤレスチャネル、通常のツイストペアケーブルなど、自由に編成できます。この場合、光コンバーターとアクセスポイントを使用して、このネットワークにいつでも接続できます。 これにより、顧客は任意の複雑さと長さのネットワークインフラストラクチャを設計できます。
データ転送は、TCP / IPに基づくバークレーソケットを使用して編成されました。 このソリューションにより、サーバーは、ソフトウェアプラットフォームに依存せずに、任意のセンサーから情報を受信することが保証されます。 TCP / IPを介して独自のプロトコルを開発しました。 また、マイクロコントローラー側の作業を最適化するためのバイトです。 バイトプロトコルには大きなマイナス点があります:複雑さとそれに続く修正。 ただし、マイクロコントローラーデバイスのテキストプロトコルは冗長すぎます。
ソフトウェア開発に関して最も困難なのはサーバーでした。 非同期マルチスレッド相互作用モデルを実装しました。これにより、変更に即座に応答する「ライブ」システムを取得できました。 新しいデバイスの接続、ゲートウェイとの接続の切断、センサーからのアラーム、デバイスのカバーを開く-システム内のイベントは、同時に発生しても即座に記録されます。
その結果、単一のセンター、つまりサーバーを介して管理される柔軟なモジュラーシステムが得られました。 また、独自のプロトコルを備えているため、システムに接続してイベントを受信できます。 これにより、システムを大規模な複合体の不可欠な部分として使用し、ほぼ無限にスケーリングできます。
セキュリティの問題
システムのセキュリティにより、すべてが非常にシンプルであることが判明しました。 実際、保護されたサイトにあるすべてのネットワークは、それ自体が保護されたサイトです。 したがって、システムが動作するすべてのネットワークは「信頼」されます。
さらに、情報セキュリティシステムをハッキングする「価格」は、他のシステムを克服する方法よりもはるかに高くなります。 言い換えれば、経験のある侵入者は障害を克服する簡単な方法を見つけますが、経験の浅い侵入者は単にシステムをクラックすることはできません。
そのため、情報保護の特別な方法は使用せず、基本原則のみに限定しました。
次は?
システムはすでに形成されているという事実にもかかわらず、私たちは積極的に開発を続け、新しい使用方法を模索しています。
システムの開発における方向性の1つは、機械学習です。 これらのアルゴリズムを使用すると、トラックの列車や飛行機からのノイズなど、定期的な干渉を除去できます。 この方向の実験では、Azure Machine Learningが非常に役立ちます。 機械学習用の既製のソリューションが多数含まれているため、すぐに結果を得ることができます。
フェンシング振動の分析は、システムに組み込まれたテクノロジーを使用する唯一の方法からはほど遠いものです。 高層ビル、パイプラインとガスパイプライン、壊れやすい商品、タービンの振動診断、さまざまな設計の可動部品の振動制御は、可能性の完全なリストではありません。
このようなシステムのセンサーの数は増加するだけであり、ここではインターネットの使用が禁止されていないサイトでのクラウドシステムへの移行を見逃すことはほとんどありません。
Microsoft IoTの非常に有望な新技術は、私たちに見えます。 単一のWindowsプラットフォームは、異なるハードウェアプラットフォームに共通のコードを記述できるため、理論的には多くの時間を節約できます。
また、データ処理にはAzure IoT Suiteを使用します。 開発者によると、多くのIoTデバイスを組み合わせて管理できるだけでなく、それらからの大量のデータを処理できるツールが含まれています。 これは近いうちに確認するものです。
おわりに
システムの開発を開始したとき、「モノのインターネット」の概念はまだそのような人気を得ていませんでした。 私たちが初めて出会った多くのことで、ほとんど経験がありませんでした。 さて、この概念について多くのことが書かれ、話されたとき、正しい道が選ばれたことが明らかになりました。
仕事は難しく、長いものでした。 システムの最初の商用バージョンの作成には約3年かかりました。 1つ目は、個々のデバイスのエンジニアリングサンプルの開発です。 システム全体の開発に別の年が費やされました。 3年目はデバッグとデバッグでした。
この間、さまざまなエンジニアリングの問題を解決するための膨大な経験を積んできました。 さらに、ケースの選択、ケーブル製品、生産および物流の組織化は、システム自体の開発と同じくらいの労力を費やしました。
現在、システムはマウントされ、ロシアおよび海外の多くの施設で機能しています。 それらの最大のものは、全長が15 kmを超える複数の境界で構成されています。 デザインには、より大きなオブジェクトもあります。
より詳細な情報は、システムのWebサイトで入手できます。