本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
與元件中的用戶端裝置互動
您可以開發與連接至核心裝置的用戶端裝置互動的自訂 Greengrass 元件。例如,您可以開發執行下列動作的元件:
-
處理來自客戶端設備的 MQTT 消息並將數據發送到AWS 雲端目的地。
-
將 MQTT 訊息傳送至用戶端裝置以啟動處理行動。
用戶端裝置會透過核心裝置上執行的 MQTT Broker 元件連線至核心裝置並與核心裝置進行通訊。根據預設,用戶端裝置只能透過 MQTT 互相通訊,而 Greengrass 元件無法接收這些 MQTT 訊息或將訊息傳送到用戶端裝置。
Greengrass 件使用本地發布/訂閱界面在核心裝置上進行通訊。若要與 Greengrass 元件中的用戶端裝置進行通訊,請設定MQTT 橋接器元件執行下列動作:
-
將 MQTT 訊息從用戶端裝置轉送至本機發佈/訂閱。
-
轉送來自本機發佈/訂閱用戶端裝置的 MQTT 訊息。
您還可以與 Greengrass 組件中的客戶端設備陰影進行交互。如需詳細資訊,請參閱 與用戶端裝置陰影互動並同步處理。
設定和部署 MQTT 橋接器元件
MQTT 橋接器元件會使用主題對應清單,每個主題對應都會指定訊息來源和訊息目的地。若要與用戶端裝置通訊,請部署 MQTT 橋接器元件,並在元件組態中指定每個來源和目的地主題。
若要將 MQTT 橋接元件部署到核心裝置或核心裝置群組,建立部署包括aws.greengrass.clientdevices.mqtt.Bridge
元件。指定主題對映,mqttTopicMapping
,在部署中的 MQTT 橋接器元件組態中。
下列範例會定義將 MQTT 橋接器元件設定為轉送clients/MyClientDevice1/hello/world
從用戶端裝置到本機發佈/訂閱代理程式的主題。所以此merge
組態更新需要序列化的 JSON 物件。如需詳細資訊,請參閱 更新零組件組態。
您可以使用 MQTT 主題萬用字元來轉送符合主題篩選器之主題的郵件。如果您使用 MQTT 橋接器 v2.2.0 或更新版本,則當來源代理程式為本機發佈/訂閱時,您可以在主題篩選器中使用 MQTT 主題萬用字元。如需詳細資訊,請參閱「」MQTT 橋接器元件組態。
從用戶端裝置接收 MQTT 訊息
您可以訂閱您為 MQTT 橋接元件設定的本機發佈/訂閱主題,以接收來自用戶端裝置的訊息。
在自訂元件中接收來自用戶端裝置的 MQTT 訊息
-
設定和部署 MQTT 橋接器元件轉送來自 MQTT 主題的訊息,其中用戶端裝置會發佈至本機發佈/訂閱主題。
-
使用本機發佈/訂閱IPC 介面訂閱 MQTT 橋接器轉送訊息的主題。如需詳細資訊,請參閱發佈/訂閱本地訊息及SubscribeToTopic。
所以此Connect 並測試用戶端裝置教學包括一個部分,您可以在其中開發一個組件,該組件可從客戶端設備訂閱消息。如需詳細資訊,請參閱 步驟 4:開發與用戶端裝置通訊的元件。
將 MQTT 訊息傳送至用戶端裝置
您可以發佈到您為 MQTT 橋接元件設定的本機發佈/訂閱主題,以便將訊息傳送至用戶端裝置。
若要將 MQTT 訊息發佈到自訂元件中的用戶端裝置
-
設定和部署 MQTT 橋接器元件將來自本機發佈/訂閱主題的訊息轉送至用戶端裝置訂閱的 MQTT 主題。
-
使用本機發佈/訂閱IPC 介面,發佈至 MQTT 橋接器轉送郵件的主題。如需詳細資訊,請參閱 發佈/訂閱本地訊息 和 PublishToTopic。