Rumah  >  Artikel  >  Java  >  Bagaimana untuk mencipta platform sensor IoT menggunakan fungsi Java?

Bagaimana untuk mencipta platform sensor IoT menggunakan fungsi Java?

PHPz
PHPzasal
2024-04-28 22:15:01975semak imbas

Cara mencipta platform penderia IoT menggunakan fungsi Java: Gunakan projek fungsi Java, perpustakaan Teras IoT dan tulis fungsi pemprosesan sensor untuk bertindak balas kepada acara daripada Teras IoT. Letak fungsi dan konfigurasikannya untuk menerima acara daripada peranti dalam papan pemuka Teras IoT. Sambungkan penderia dan terbitkan data ke topik yang mencetuskan fungsi. Lihat data penderia dengan melihat log fungsi. Platform berskala dengan mudah apabila ketersambungan peranti meningkat.

Bagaimana untuk mencipta platform sensor IoT menggunakan fungsi Java?

Cara mencipta platform sensor IoT menggunakan fungsi Java

Pengenalan

Dengan ledakan peranti IoT, semakin penting untuk membina platform untuk menyambung, mengurus dan memproses peranti ini . Java Functions menyediakan rangka kerja yang ideal untuk mencipta platform sedemikian kerana ia menyediakan fleksibiliti dan skalabiliti persekitaran pengkomputeran tanpa pelayan.

Dalam tutorial ini, anda akan belajar cara mencipta platform penderia IoT menggunakan fungsi Java dan Teras IoT Awan Google.

Prasyarat

  • Java Development Kit (JDK) dipasang
  • Cloud SDK
  • Akaun teras Google Cloud IoT

Steps

projek Java

Gunakan arahan berikut Buat projek fungsi Java baharu:

gcloud functions init my-sensor-platform --runtime java11

2. Pasang perpustakaan Teras IoT

Tambah kebergantungan Teras IoT dalam Maven:

<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud-iot</artifactId>
  <version>1.160.2</version>
</dependency>

3. Tulis fungsi pemprosesan sensor

Buat fungsi Java: SensorEventHandler.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);
  }
}

Fungsi ini menerima CloudEvent daripada IoT Core dan mengekstrak serta mencetak data acara.

4. Letak fungsi

Letakkan fungsi menggunakan arahan berikut:

gcloud functions deploy SensorEventHandler

5 Konfigurasikan IoT Core

Dalam papan pemuka IoName Core, buat peranti baharu:

. jenis peranti.
  • Dalam tab "Sambungan", pilih "Fungsi Awan".
  • Berikan nama fungsi awan.
  • Simpan peranti.
Kes praktikal

Sambungkan penderia

Sambungkan penderia IoT dan daftarkannya ke peranti anda. Tinjau penderia untuk menerbitkan data ke topik Cloud Pub/Sub yang telah dikonfigurasikan untuk mencetuskan fungsi awan anda.

Lihat data penderia

Dalam log Fungsi Awan, anda akan melihat output data penderia mengikut fungsi tersebut.

Skalabiliti

Memandangkan lebih banyak peranti penderia disambungkan, anda boleh menskalakan platform anda dengan mudah hanya dengan menggunakan lebih banyak tika fungsi.

Kesimpulan

Menggunakan fungsi Java untuk mencipta platform penderia IoT ialah penyelesaian yang pantas, berskala dan kos efektif. Platform ini memudahkan untuk menyambung, mengurus dan memproses data daripada pelbagai peranti IoT.

Atas ialah kandungan terperinci Bagaimana untuk mencipta platform sensor IoT menggunakan fungsi Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn