ホームページ >バックエンド開発 >PHPチュートリアル >PHPとMQTT: IoTをベースにしたリアルタイムトラフィック管理システムの構築

PHPとMQTT: IoTをベースにしたリアルタイムトラフィック管理システムの構築

WBOY
WBOYオリジナル
2023-07-09 21:22:381304ブラウズ

PHP と MQTT: モノのインターネットに基づくリアルタイム トラフィック管理システムの構築

はじめに:
モノのインターネット テクノロジの急速な発展に伴い、相互接続されるデバイスがますます増えています。その中でも、トラフィック管理システムは、IoT アプリケーションの重要な分野の 1 つです。この記事では、PHP および MQTT プロトコルを使用して、モノのインターネットに基づいたリアルタイム トラフィック管理システムを構築する方法を紹介し、コード例を示します。

1.MQTT とは何ですか?
MQTT は、帯域幅が狭く、帯域幅が不安定で、ネットワーク遅延が大きい環境に適した軽量のメッセージ送信プロトコルです。 MQTT はメッセージのパブリッシュとサブスクリプション モデルに焦点を当てており、デバイス間のデータ通信を低エネルギー消費と高効率で可能にします。

2. リアルタイム トラフィック管理システムのアーキテクチャ
この記事のリアルタイム トラフィック管理システムは次のコンポーネントで構成されます:

  1. MQTT サーバー: メッセージ送信を担当します。そして経営陣。
  2. 交通監視機器: カメラ、センサーなど、交通データの収集を担当します。
  3. バックエンド サーバー: トラフィック監視デバイスからのデータを受信して​​処理するために使用されます。
  4. フロントエンド インターフェイス: 交通管理システムのリアルタイム情報を表示するために使用されます。

3. 実装手順

  1. MQTT サーバーのインストール
    まず、サーバーに MQTT サーバーをインストールして設定する必要があります。その中でも、Mosquitto は人気のあるオープン ソース MQTT サーバーであり、次のコマンドを使用してインストールできます:

    sudo apt-get update
    sudo apt-get install mosquitto

    インストールが完了したら、Mosquitto サービスを開始する必要があります:

    sudo service mosquitto start
  2. PHP コードの作成
    次に、MQTT サーバーと対話するための PHP コードを作成する必要があります。 PHP の MQTT クライアント ライブラリを使用すると、開発プロセスを簡素化できます。以下はサンプル コードです:

    <?php
    require("phpMQTT.php");
    
    $mqtt = new phpMQTT("localhost", 1883, "ClientID" . rand());
    
    if(!$mqtt->connect()){
     exit(1);
    }
    
    $mqtt->publish("traffic/camera1", "Hello, MQTT!");
    
    $mqtt->close();
    ?>

    上の例では、最初に phpMQTT ライブラリを導入し、MQTT インスタンスを作成しました。次に、MQTT サーバーへの接続を試行します。接続に成功すると、publish メソッドを使用して、指定されたトピックにメッセージをパブリッシュできます。

  3. メッセージの受信と処理
    サーバー側では、トラフィック監視デバイスからのメッセージを受信して​​処理するコードを記述する必要があります。以下はサンプル コードです。

    <?php
    require("phpMQTT.php");
    
    function messageReceived($topic, $msg){
     // 处理消息的逻辑代码
     echo "Received message: $msg";
    }
    
    $mqtt = new phpMQTT("localhost", 1883, "Server");
    
    if(!$mqtt->connect()){
     exit(1);
    }
    
    $mqtt->subscribe("traffic/+/camera1", 0);
    
    while($mqtt->proc()){
     
    }
    
    $mqtt->close();
    ?>

    上記の例では、まず、受信したメッセージを処理する messageReceived 関数を定義します。次に、MQTT インスタンスを作成し、MQTT サーバーに接続しました。次に、subscribe メソッドを使用して、特定のトピックに関するメッセージを購読します。 while ループで proc メソッドを使用して、受信メッセージの処理を続行します。

  4. フロントエンド ディスプレイ
    最後に、フロントエンド インターフェイスを通じて交通管理システムのリアルタイム情報を表示できます。 HTML、CSS、JavaScript を使用してフロントエンド インターフェイスを実装し、Ajax テクノロジを使用してバックエンド サーバーと対話できます。

4. 概要
この記事では、PHP および MQTT プロトコルを使用して、モノのインターネットに基づいたリアルタイム トラフィック管理システムを構築する方法を紹介します。 MQTT サーバーをインストールして構成し、MQTT サーバーと対話するための PHP コードを作成します。同時に、メッセージ処理とフロントエンド表示のサンプルコードも提供します。このリアルタイム交通管理システムは、交通データをリアルタイムで収集し、フロントエンド インターフェイスを通じてユーザーに表示できます。これは、交通の監視と計画にとって非常に重要です。

コード例:

  1. phpMQTT ライブラリ: https://github.com/bluerhinos/phpMQTT
  2. MQTT サーバーのインストール: https://mosquitto.org/ダウンロード/

参考資料:

  1. https://mqtt.org/
  2. https://www.w3schools.com/php/php_ajax_intro .asp
  3. https://developer.mozilla.org/en-US/docs/Glossary/Server

以上がPHPとMQTT: IoTをベースにしたリアルタイムトラフィック管理システムの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。