Full link development practice from device end to cloud end business system

1. エンタープライズ IoT プラットフォーム開発の実践

この記事を読むことで、以下のスキルを習得できます。

1. デバイスが MQTT プロトコルで Alibaba Cloud 上で購入した IoT エンタープライズインスタンスと双方向接続を確立し、デバイスが収集したデータをレポートするとともに、クラウドから発行される指示をリッスンする

2. レポートされたデータがルールエンジンの設定を通じてリアルタイムに指定データベースに保存される。コーディングは不要

3. レポートされたデータがルールエンジンの設定を通じてリアルタイムにビジネスサーバに転送される。AMQP プロトコル SDK が必要

4. ビジネスサーバが IoT Platform の API を呼び出し、デバイス側に制御コマンドを送信する

2. エンタープライズインスタンスの作成

まず、IoT Platform コンソール ( https://iot.console.aliyun.com ) にログインし、[インスタンスの購入] をクリックしてエンタープライズインスタンスを作成します。無料テスト用のパブリックインスタンスも利用できます。

次に、購入ページで実際のビジネス要件に応じて、リージョン、インスタンスタイプ、デバイス数、メッセージの上り / 下り TPS、ルールエンジン TPS などのパラメーターを選択します。[今すぐ購入] をクリックし、決済が正常に完了すると、エンタープライズインスタンスが作成されていることを確認できます。

数分後、エンタープライズインスタンスの作成が完了します。エンタープライズインスタンスに入ると、現在の仕様パラメーター、デバイスアクセスポイント情報、AMQP サブスクリプションアクセスポイント情報、およびクラウド API 呼び出しアクセスポイント情報を確認できます。以下のとおりです。

3. プロダクトの作成とデバイスの登録

エンタープライズインスタンスのデバイス管理ページで、まず「ホーム温度コントローラー」プロダクトを作成します。データ通信は JSON フォーマットで、認証方式はデバイスシークレットキーです。

プロダクトの機能定義ページで、温度と湿度の 2 つのプロパティを追加します。詳細は以下のとおりです。

最後に、デバイス管理ページでホームサーモスタットプロダクトに基づいて物理デバイスを登録し、デバイス ID 認証の 3 要素を取得します。以下のとおりです。

4. デバイスの接続とデータのレポート

デバイス ID 認証の 3 要素を取得したら、MQTT プロトコルでサブスクライブ済みのエンタープライズインスタンスに接続できます。デバイス側のアプリケーションロジックは下図のとおりです。

シミュレーションスクリプトを開始すると、デバイスがオンラインになり、物理モデルデータで最新の温度と湿度の値を確認できます。

モニタリングと運用保守のログサービスでは、デバイスがレポートしたデータのログも確認できます。以下のとおりです。

プログラミングなしでデバイスシミュレーターを使用してデバイスの動作をシミュレートすることもできます。

5. データベースへのデータ保存

まず、Table Storage インスタンス「IoTDataStore」を作成し、deviceName とタイムスタンプをプライマリキーとするデータテーブル「iot_Data」を作成します。以下のとおりです。

IoT エンタープライズインスタンスで、クラウドプロダクトフロー内にルールエンジンを作成し、データ処理 SQL を記述して、フローの送信先を前述のデータベーステーブルに設定します。

データソースを設定します。

データ送信先を設定します。

解決ルールを作成し、データフローを Table Storage 用に転送するスクリプト編集インターフェイスを開きます。

デバイスがデータをレポートすると、iot_Data データテーブルにリアルタイムで保存されたデータを確認できます。以下のとおりです。

エンタープライズインスタンスのログサービスでは、完全なフローログを確認でき、データリンクの例外のトラブルシューティングに役立ちます。以下のとおりです。

6. ビジネスサーバでのリアルタイムデータ受信

IoT シナリオの一部のデータは、ビジネスシステムでリアルタイムに処理する必要があります。サーバ側で AMQP モードをサブスクライブして、デバイスからレポートされるデータをリアルタイムで受信できます。

まず、エンタープライズインスタンスのサーバサブスクリプションに新しいコンスーマーグループを作成し、特定タイプのメッセージを受信するように設定します。以下のとおりです。

次に、クラウドプロダクトフローに解決ルールを作成し、フローの送信先を前述のサーバサブスクリプションコンスーマーグループに設定します。

最後に、ビジネスサーバ上で Alibaba Cloud アカウントの AccessKey を使用して IoT エンタープライズインスタンスとの AMQP 接続を確立するプログラムを作成します。リファレンスコードは以下のとおりです。

AMQP コールバックで受信したビジネスデータを処理します。リファレンスコードは以下のとおりです。

private static MessageListener messageListener = new MessageListener() {

@Override

public void onMessage(Message message) {
try {
//If you want to process the received message in a time-consuming way, please do it asynchronously to ensure that there is no time-consuming logic.
byte[] body = message.getBody(byte[].class);
String content = new String(body);
String topic = message.getStringProperty("topic");
String messageId = message.getStringProperty("messageId");
String tag = message.getStringProperty("tag");
logger. info("receive message"
+ ",n topic = " + topic
+ ",n messageId = " + messageId
+ ",n tag = " + tag
+ ",n content = " + content
+"n");
System.out.println();
} catch (Exception e) {
e.printStackTrace();
}
}
};

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.