如何利用 Java 函數建立物聯網感測器平台:使用 Java 函數專案、IoT Core 函式庫以及編寫感測器處理函數來回應來自 IoT Core 的事件。部署函數並將其配置為在 IoT Core 儀表板中從裝置接收事件。連接感測器,並將資料發佈到觸發函數的主題中。透過查看函數日誌來查看感測器資料。該平台可隨著裝置連接的增加而輕鬆擴展。
如何利用Java 函數建立物聯網感測器平台
簡介
隨著物聯網設備的蓬勃發展,建立一個平台來連接、管理和處理這些設備變得越來越重要。 Java 函數為創建此類平台提供了理想的框架,因為它提供了無伺服器運算環境的靈活性和可擴展性。
在本教學中,你將了解如何使用 Java 函數和 Google Cloud IoT Core 建立物聯網感測器平台。
先決條件
步驟
1. 建立一個Java 函數專案
使用下列指令建立一個新的Java 函數專案:
gcloud functions init my-sensor-platform --runtime java11
2. 安裝IoT Core 函式庫
在Maven 中加入IoT Core 相依性:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-iot</artifactId> <version>1.160.2</version> </dependency>
#3. 編寫感測器處理函數
建立名為SensorEventHandler.java
的Java 函數類別:
import com.google.cloud.functions.BackgroundFunction; import com.google.cloud.functions.Context; import com.google.common.io.BaseEncoding; import com.google.gson.Gson; import com.google.gson.JsonElement; import functions.eventpojos.CloudEvent; import functions.eventpojos.IotCoreEventData; import java.nio.charset.StandardCharsets; public class SensorEventHandler implements BackgroundFunction<CloudEvent> { private static final Gson gson = new Gson(); @Override public void accept(CloudEvent event, Context context) { IotCoreEventData eventData = gson.fromJson(event.getData().toString(), IotCoreEventData.class); String payload = new String( BaseEncoding.base64().decode(eventData.getBinaryData().getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8); System.out.println("Received payload: " + payload); } }
此函數接受來自IoT Core 的CloudEvent 並提取並列印事件資料。
4.部署函數
使用下列指令部署函數:
gcloud functions deploy SensorEventHandler
#5. 配置IoT Core
在IoT Core 儀表板中,建立一個新裝置:
實戰案例
連接感測器
連接一個物聯網感測器並將其註冊到你的設備。輪詢感測器,將資料發佈到 Cloud Pub/Sub 主題,該主題已配置為觸發你的雲端函數。
查看感測器資料
在 Cloud Functions 日誌中,你將看到函數輸出的感測器資料。
可擴展性
隨著更多感測器裝置的連接,你可以輕鬆地擴展你的平台,只需部署更多函數實例即可。
結論
使用 Java 函數建立物聯網感測器平台是快速、可擴展且經濟高效的解決方案。此平台可輕鬆連接、管理和處理來自各種物聯網設備的數據。
以上是如何利用Java函數創建物聯網感測器平台?的詳細內容。更多資訊請關注PHP中文網其他相關文章!