Maison  >  Article  >  Java  >  Comment les fonctions Java peuvent-elles être automatisées avec les appareils IoT ?

Comment les fonctions Java peuvent-elles être automatisées avec les appareils IoT ?

王林
王林original
2024-04-28 13:24:021005parcourir

Utilisez les fonctions Java pour vous connecter aux appareils IoT et entreprendre des actions automatisées en fonction de leurs données : créez un projet Cloud Function, sélectionnez un déclencheur HTTP et un environnement Java 8. Collez le code fourni dans la fonction et il vérifiera si l'appareil est enregistré. Créez un registre de périphériques contenant le périphérique virtuel, puis créez et téléchargez le JWT pour le périphérique. Vérifiez l'identité de l'appareil en envoyant une requête HTTP POST contenant un JWT à la fonction.

Comment les fonctions Java peuvent-elles être automatisées avec les appareils IoT ?

Utilisez les fonctions Java pour automatiser avec les appareils IoT

L'exploitation des appareils Internet des objets (IoT) peut considérablement automatiser diverses tâches. Les fonctions Java facilitent la connexion aux appareils IoT et agissent sur leurs données.

Prérequis

  • Java 8+
  • Compte Cloud Functions ([Créer un compte](https://console.cloud.google.com/functions/create))

Configurer des fonctions

  1. Créer une nouvelle Projet Fonction Cloud.
  2. Dans la fonction, sélectionnez le déclencheur "HTTP".
  3. Dans l'onglet "Code", sélectionnez l'environnement "Java 8".
  4. Collez le code suivant dans la fonction :
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"));
  }
}

Exemple pratique

Pour démontrer cette fonction, nous allons :

  1. Créer un registre d'appareils Google Cloud IoT Core contenant des appareils IoT virtuels.
  2. Créez et téléchargez un jeton Web JSON (JWT) sur votre appareil.
  3. Passez JWT pour fonctionner pour vérifier l'identité de l'appareil.

Fonction de déploiement

  1. Fonction de déploiement.
  2. Testez la fonction en envoyant une requête HTTP POST contenant un JWT à la fonction.

Conclusion

En utilisant les fonctions Java, nous pouvons facilement nous connecter aux appareils IoT et prendre des actions automatisées en fonction de leurs données. Cela nous aide à affiner nos processus, à accroître l’efficacité et à réduire les erreurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn