本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS IoT SiteWise Edge 上的 EMQX 代理程式的訊息承載格式
若要讓 IoT SiteWise 發佈者元件取用外部應用程式的資料並將其發佈至 AWS IoT SiteWise 雲端,傳送給代理程式的承載必須符合特定要求。
了解承載格式是與 AWS IoT SiteWise Edge 成功進行 MQTT 通訊的關鍵。雖然稍後章節涵蓋連線設定程序,但我們會先提供承載需求,協助您規劃實作。
MQTT 主題需求
MQTT 主題結構沒有限制,包括使用的關卡或字元數。不過,我們建議主題符合承載中的 propertyAlias
欄位。
範例 屬性別名範例
如果 MQTT 主題是 site1/line1/compressor1/temperature
,請確保propertyAlias
相符。
{ "assetId": "compressor_asset_01", "propertyAlias": "
site1/line1/compressor1/temperature
", "propertyId": "temperature_sensor_01", "propertyValues": [ { "quality": "GOOD", "timestamp": { "offsetInNanos": 0, "timeInSeconds": 1683000000 }, "value": { "doubleValue": 23.5 } } ] }
JSON 承載結構
MQTT 訊息承載是以 JSON 撰寫,並遵循 AWS IoT SiteWise API 參考中定義的PutAssetPropertyValueEntry
訊息格式。
{ "assetId": "string", "propertyAlias": "string", "propertyId": "string", "propertyValues": [ { "quality": "string", "timestamp": { "offsetInNanos": number, "timeInSeconds": number }, "value": { "booleanValue": boolean, "doubleValue": number, "integerValue": number, "stringValue": "string" } } ] }
注意
若要讓訊息視為有效,只有下列其中一個條件可以是 true:
-
propertyAlias
已設定 ,或 -
assetId
和propertyId
都已設定
PutAssetPropertyValueEntry
具有在此內容中不需要entryId
的欄位。