Best Practices of IoT Platform Device Labeling Function and Rule Engine Combination
はじめに
IoT シナリオでは、デバイスはさまざまな場所にデプロイされ、構築前にデバイスの位置を特定することは困難です。また、後続のサービスはデバイス情報に基づいて管理する必要があります。このようなシナリオでは、IoT Platform が提供するデバイスの動的タグ付け機能を利用してプログラムを実現し、手動入力によるエラーを回避できます。
ここでは、スマート自動販売機の管理を例に、デバイスタグ付け機能をご紹介します。
西湖風景区における自動販売機の配置
image.png
技術ソリューション
各デバイスがオンラインになった後、IoT Platform のタグ更新用トピックにデータを送信(パブリッシュ)することで、実際の座標を更新します。
デバイスタグリクエストトピック
/sys/{productKey}/{deviceName}/thing/deviceinfo/update
デバイスタグデータペイロード
{
"id": 1570605202,
"version": "1.0",
"params": [
{
"attrKey": "coordinate",//label (coordinate key is coordinate, other labels can customize the key)
"attrValue": "120.14915:30.230687"//label value
},
{
"attrKey": "city",//label
"attrValue": "Hangzhou"//label value
}
],
"method": "thing.deviceinfo.update"
}
スマート自動販売機には GPS モジュールが内蔵されており、対応する緯度と経度を取得できます。さらに AMAP の解析サービスを利用することで、現在地のある都市を取得できます。上記の情報に基づき、指定されたトピックにペイロードデータを送信し、デバイスに固有のタグを付与します。
image.png
クラウド API を通じたデバイスのタグ付け
image.png
API リスト
Log Service
Log Service を通じて、特定のデバイスの動的タグ付けプロセスをトラブルシューティングできます。
Log Service にアクセスし、対応するプロダクトを選択して、照会対象のデバイスの DeviceName を入力し、キーワードに「deviceinfo」と入力して検索をクリックすると、デバイスタグ更新のメッセージレコードがフィルターされます。
image.png
messageID をクリックすると、このメッセージの詳細を確認できます。使用されたトピックや更新された 2 件のデバイスタグデータなどが含まれます。
image.png
拡張シナリオ
デバイスの絞り込み
デバイスのタグが更新された後、タグに基づいて条件に一致するデバイスを検索できます。
image.png
ルールエンジンのデータフローによるタグ情報の受け渡し
ルールエンジンのデータ処理 SQL では、attribute(key) 機能を使用して、キーに対応するデバイスタグの値を取得することもできます。たとえば、attribute('city') で「Hangzhou」の値を取得できます。
attribute 機能を使用する SQL のリファレンス:
SELECT
deviceName() as deviceName,
timestamp('yyyy-MM-dd HH:mm:ss') as time,
attribute('city') as city,
price,
userId
FROM
"/a8*****i3B/+/user/order/data"
IoT シナリオでは、デバイスはさまざまな場所にデプロイされ、構築前にデバイスの位置を特定することは困難です。また、後続のサービスはデバイス情報に基づいて管理する必要があります。このようなシナリオでは、IoT Platform が提供するデバイスの動的タグ付け機能を利用してプログラムを実現し、手動入力によるエラーを回避できます。
ここでは、スマート自動販売機の管理を例に、デバイスタグ付け機能をご紹介します。
西湖風景区における自動販売機の配置
image.png
技術ソリューション
各デバイスがオンラインになった後、IoT Platform のタグ更新用トピックにデータを送信(パブリッシュ)することで、実際の座標を更新します。
デバイスタグリクエストトピック
/sys/{productKey}/{deviceName}/thing/deviceinfo/update
デバイスタグデータペイロード
{
"id": 1570605202,
"version": "1.0",
"params": [
{
"attrKey": "coordinate",//label (coordinate key is coordinate, other labels can customize the key)
"attrValue": "120.14915:30.230687"//label value
},
{
"attrKey": "city",//label
"attrValue": "Hangzhou"//label value
}
],
"method": "thing.deviceinfo.update"
}
スマート自動販売機には GPS モジュールが内蔵されており、対応する緯度と経度を取得できます。さらに AMAP の解析サービスを利用することで、現在地のある都市を取得できます。上記の情報に基づき、指定されたトピックにペイロードデータを送信し、デバイスに固有のタグを付与します。
image.png
クラウド API を通じたデバイスのタグ付け
image.png
API リスト
Log Service
Log Service を通じて、特定のデバイスの動的タグ付けプロセスをトラブルシューティングできます。
Log Service にアクセスし、対応するプロダクトを選択して、照会対象のデバイスの DeviceName を入力し、キーワードに「deviceinfo」と入力して検索をクリックすると、デバイスタグ更新のメッセージレコードがフィルターされます。
image.png
messageID をクリックすると、このメッセージの詳細を確認できます。使用されたトピックや更新された 2 件のデバイスタグデータなどが含まれます。
image.png
拡張シナリオ
デバイスの絞り込み
デバイスのタグが更新された後、タグに基づいて条件に一致するデバイスを検索できます。
image.png
ルールエンジンのデータフローによるタグ情報の受け渡し
ルールエンジンのデータ処理 SQL では、attribute(key) 機能を使用して、キーに対応するデバイスタグの値を取得することもできます。たとえば、attribute('city') で「Hangzhou」の値を取得できます。
attribute 機能を使用する SQL のリファレンス:
SELECT
deviceName() as deviceName,
timestamp('yyyy-MM-dd HH:mm:ss') as time,
attribute('city') as city,
price,
userId
FROM
"/a8*****i3B/+/user/order/data"
Related Articles
-
A detailed explanation of Hadoop core architecture HDFS
Knowledge Base Team
-
What Does IOT Mean
Knowledge Base Team
-
6 Optional Technologies for Data Storage
Knowledge Base Team
-
What Is Blockchain Technology
Knowledge Base Team
Explore More Special Offers
-
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
