Rumah  >  Artikel  >  Java  >  Bagaimanakah fungsi Java boleh diautomasikan dengan peranti IoT?

Bagaimanakah fungsi Java boleh diautomasikan dengan peranti IoT?

王林
王林asal
2024-04-28 13:24:021005semak imbas

Gunakan fungsi Java untuk menyambung ke peranti IoT dan mengambil tindakan automatik berdasarkan data mereka: Buat projek Cloud Function, pilih pencetus HTTP dan persekitaran Java 8. Tampalkan kod yang disediakan di dalam fungsi dan ia akan menyemak sama ada peranti didaftarkan. Buat pendaftaran peranti yang mengandungi peranti maya dan buat serta muat turun JWT untuk peranti itu. Sahkan identiti peranti dengan menghantar permintaan HTTP POST yang mengandungi JWT ke fungsi.

Bagaimanakah fungsi Java boleh diautomasikan dengan peranti IoT?

Gunakan fungsi Java untuk mengautomasikan dengan peranti IoT

Memanfaatkan peranti Internet Perkara (IoT) boleh mengautomasikan pelbagai tugas dengan hebat. Fungsi Java memudahkan untuk menyambung dengan peranti IoT dan bertindak mengikut data mereka.

Prasyarat

  • Java 8+
  • Akaun Cloud Functions ([Buat Akaun](https://console.cloud.google.com/functions/create))

Sediakan satu fungsi

    Sediakan satu fungsi baharu
  1. Projek Fungsi Awan.
  2. Dalam fungsi, pilih pencetus "HTTP".
  3. Dalam tab "Kod", pilih persekitaran "Java 8".
  4. Tampal kod berikut ke dalam fungsi:
import com.google.cloud.functions.HttpFunction;
import com.google.cloud.functions.HttpRequest;
import com.google.cloud.functions.HttpResponse;
import com.google.gson.Gson;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.util.Map;

public class IotDeviceAuth implements HttpFunction {

  private static Gson gson = new Gson();

  @Override
  public void service(HttpRequest request, HttpResponse response)
    throws IOException {
    Map<String, String> json = gson.fromJson(request.getReader(), Map.class);

    // 检查设备是否已注册
    String projectId = json.get("projectId");
    String cloudRegion = json.get("cloudRegion");
    String registryName = json.get("registryName");
    String deviceId = json.get("deviceId");
    String jwtToken = json.get("jwtToken");

    HttpURLConnection conn =
      JavaIotCore.createDeviceAuthConnection(
        projectId, cloudRegion, registryName, deviceId, jwtToken);

    BufferedWriter out = new BufferedWriter(new PrintWriter(conn.getOutputStream()));
    out.write(request.getReader().lines().collect(Collectors.joining()));
    out.flush();

    conn.connect();

    int responseCode = conn.getResponseCode();

    response.getWriter().write(
      "HTTP Code: " + responseCode + "\n"
        + "Device Authorized: " + (responseCode == HttpURLConnection.HTTP_OK ? "Yes" : "No"));
  }
}

Contoh praktikal

Untuk menunjukkan fungsi ini, kami akan:

  1. Membuat pendaftaran peranti Teras IoT Awan Google yang mengandungi peranti IoT maya.
  2. Buat dan muat turun Token Web JSON (JWT) pada peranti anda.
  3. Lulus JWT untuk berfungsi untuk mengesahkan identiti peranti.

Fungsi penyebaran

  1. Fungsi penyebaran.
  2. Uji fungsi dengan menghantar permintaan HTTP POST yang mengandungi JWT ke fungsi tersebut.

Kesimpulan

Dengan menggunakan fungsi Java, kami boleh menyambung ke peranti IoT dengan mudah dan mengambil tindakan automatik berdasarkan data mereka. Ini membantu kami memperhalusi proses kami, meningkatkan kecekapan dan mengurangkan ralat.

Atas ialah kandungan terperinci Bagaimanakah fungsi Java boleh diautomasikan dengan peranti IoT?. 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