Maison  >  Article  >  développement back-end  >  PHP et MQTT réalisent une présentation et une analyse en temps réel des données des appareils distants

PHP et MQTT réalisent une présentation et une analyse en temps réel des données des appareils distants

WBOY
WBOYoriginal
2023-07-08 18:06:341101parcourir

PHP et MQTT réalisent la présentation et l'analyse en temps réel des données des appareils distants

Introduction :
Avec le développement de la technologie de l'Internet des objets, de plus en plus d'appareils sont connectés à Internet et génèrent une grande quantité de données. Afin d'obtenir et d'analyser les données des appareils en temps réel, cet article présentera comment utiliser les protocoles PHP et MQTT pour réaliser une présentation et une analyse en temps réel des données des appareils distants.

1. Qu'est-ce que le protocole MQTT ? MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie léger, flexible et ouvert largement utilisé dans le domaine de l'Internet des objets. Le protocole MQTT est basé sur le modèle de publication/abonnement, prend en charge la communication avec des appareils à faible bande passante et à faible consommation et présente les caractéristiques de fiabilité des messages et d'efficacité de transmission élevée.

2. Construction du serveur MQTT

    Installer le serveur MQTT
  1. Choisissez d'installer et de configurer le serveur MQTT. Cet article recommande d'utiliser Eclipse Mosquitto comme serveur MQTT. Veuillez vous référer à la documentation officielle pour les méthodes d'installation spécifiques. Après une installation réussie, démarrez le serveur MQTT.
  2. Définir les sujets MQTT
  3. Les sujets MQTT sont utilisés pour identifier les messages publiés et souscrits par les appareils. Le thème peut être personnalisé en fonction des besoins réels, par exemple : "/devices/device1/temperature".
3. Intégration de PHP et MQTT

  1. Installez la bibliothèque client MQTT

    Utilisez Composer pour installer la bibliothèque client MQTT Vous pouvez l'installer via la commande suivante :

    composer require php-mqtt/client

  2. Connectez-vous au serveur MQTT

    Dans. le fichier PHP, utilisez Le code suivant se connecte au serveur MQTT :

    use PhpMqttClientMqttClient;
    
    $mqtt = new MqttClient('mqtt://localhost:1883');
    $mqtt->connect();

    Vous devez remplacer 'localhost' par l'adresse IP du serveur MQTT, et '1883' est le numéro de port par défaut du serveur MQTT.

  3. Publier un message

    Utilisez le code suivant pour publier un message sur le sujet MQTT spécifié :

    $topic = '/devices/device1/temperature';
    $payload = '25°C';
    $qosLevel = 0; // 可选,默认为0
    
    $mqtt->publish($topic, $payload, $qosLevel);

    Les valeurs de $topic et $payload peuvent être modifiées en fonction des besoins réels.

  4. Abonnez-vous au message

    Utilisez le code suivant pour vous abonner au sujet MQTT spécifié :

    $topic = '/devices/device1/temperature';
    $qosLevel = 0; // 可选,默认为0
    
    $mqtt->subscribe($topic, function ($topic, $message) {
     // 在此处处理接收到的消息
    }, $qosLevel);

    Le message reçu peut être traité dans la fonction de rappel, comme stocker le message dans la base de données ou le présenter au premier plan. interface finale en temps réel.

4. Présentation et analyse en temps réel des données de l'appareil

    Utilisez HTML et JavaScript pour créer une page frontale
  1. Créez une page HTML pour une présentation en temps réel des données de l'appareil. Vous pouvez utiliser JavaScript pour interagir avec les scripts PHP back-end, par exemple en utilisant la technologie Ajax pour obtenir régulièrement des données sur les appareils du serveur et actualiser la page de manière dynamique.
  2. Script PHP pour obtenir les données de l'appareil
  3. Créez un script PHP pour obtenir les données de l'appareil à partir d'une base de données ou d'un serveur MQTT. Vous pouvez choisir d'obtenir les données les plus récentes ou les données dans un intervalle de temps spécifié en fonction de vos besoins.
  4. Mettre à jour les données de l'appareil en temps réel
  5. Utilisez la technologie JavaScript et Ajax pour demander régulièrement des scripts PHP dans la page frontale afin d'obtenir les données de l'appareil et mettre à jour les données sur la page en temps réel.
5. Résumé

Cet article explique comment utiliser les protocoles PHP et MQTT pour réaliser une présentation et une analyse en temps réel des données des appareils distants. Grâce au mode publication/abonnement du protocole MQTT, la transmission en temps réel et la garantie de fiabilité des données de l'appareil peuvent être obtenues, et avec l'aide des fonctions puissantes de PHP, la flexibilité d'acquisition, de stockage et d'application des données peut être obtenue. J'espère que cet article pourra vous fournir des références et vous aider dans le développement d'applications Internet des objets.

Référence :

    Documentation officielle d'Eclipse Mosquitto : https://mosquitto.org/documentation/
  1. php-mqtt/client Page GitHub : https://github.com/php-mqtt/client

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