IoT Platform は既に MQTT 、CoAP 、HTTP などの一般的なプロトコルをサポートしていますが、Modbus プロトコル、中国の防火遠隔監視システム警報ネットワーク通信プロトコル GB/T 26875.3-2011 および車載衛星通信トラッキングプロトコル JT808 はサポートされておらず、一部の特殊なケースでは、デバイスが IoT Platform へ接続できない場合があります。 その場合、一般プロトコル SDK を使用して、デバイスとプラットフォーム間のブリッジを迅速に構築し、IoT Platform に接続し、双方向のデータ通信を可能にする必要があります。

汎用プロトコル SDK

汎用プロトコル SDK はプロトコル自己適応型フレームワークで、デバイスまたはプラットフォームと IoT Platform の間の高効率の双方向通信に使用します。 SDK のアーキテクチャは以下のとおりです。

汎用プロトコルには、Core SDK と Server SDK の2つの SDK があります。
  • 汎用プロトコル Core SDK

    Core SDK は、セッションおよび設定管理などの機能をまとめています。 これは、デバイスと IoT Platform 間のネットブリッジのように機能し、デバイスの形式でプラットフォームと通信します。 これにより、IoT Platform の開発が大幅に簡略化されます。 その主な機能は次のとおりです。

    • 非持続的セッション管理機能を提供します。
    • 設定ファイルに基づいて設定の管理機能を提供します。
    • 接続管理機能を提供します。
    • アップストリーム通信機能を提供します。
    • ダウンストリーム通信機能を提供します。
    • デバイス認証をサポートします。

    デバイスが既にインターネットに接続されていて、IoT Platform とデバイスまたは既存のプラットフォームの間にブリッジを構築する場合は、Core SDK を選択してください。

  • 汎用プロトコル Server SDK

    Server SDK は、Core SDK 機能に基づいてデバイス接続サービスを提供します。 その主な機能は次のとおりです。

    • TCP/UDP に基づいているすべてのプロトコルをサポートします。
    • 転送用の TLS/SSL 暗号化をサポートします。
    • デバイス接続容量の水平方向の拡大をサポートします。
    • Netty ベースの通信サービスを提供します。
    • 自動化されカスタマイズ可能なデバイス接続と管理機能を提供します。

    接続サービスを最初から構築する場合は、通信用のソケットを提供する Server SDK を選択してください。

開発と展開

IoT コンソールで製品とデバイスを作成する

コンソールで製品とデバイスを作成します。 詳細については、『プロダクトの作成 (Pro Edition)』をご参照ください。 作成したネットブリッジデバイスの ProductKey、DeviceName、DeviceSecret を取得します。

ネットブリッジは仮想的な概念であり、ネットブリッジのデバイス情報として任意のデバイスの情報を使用することができます。

SDK の依存関係

汎用プロトコル SDK は現在 Java でのみ利用可能で、JDK 1.8 以降のバージョンをサポートしています。 Maven の依存関係を以下に示します。

<! -- Core SDK -->
<dependency>
    <groupId>com.aliyun.openservices</groupId>
    <artifactId>iot-as-bridge-sdk-core</artifactId>
    <version>1.0.0</version>
</dependency>

<! -- Server SDK -->
<dependency>
    <groupId>com.aliyun.openservices</groupId>
    <artifactId>iot-as-bridge-sdk-server</artifactId>
    <version>1.0.0</version>
</dependency>

開発 SDK

Core SDK の開発サーバー SDK」で、開発プロセスを簡単に紹介していきます。 詳細な実装については、javadoc を参照してください。

デプロイ

完成したブリッジ接続サービスは、「 ECS 」や「 SLB 」などのサービスを使用して Alibaba Cloud にデプロイすることも、通信セキュリティを保証するためにローカル環境にデプロイすることもできます。

プロセス全体 ( Alibaba Cloud ECS を使用してデプロイする場合 ) は以下のとおりです。