ホームページ >バックエンド開発 >PHPチュートリアル >PHP および MQTT: リアルタイムの気象データ取得および表示システムを構築する
PHP および MQTT: リアルタイムの気象データ取得および表示システムを構築する
要約: この記事では、PHP および MQTT プロトコルを使用してリアルタイムの気象データ取得および表示システムを構築する方法を紹介します。データ交換とリアルタイム更新に MQTT プロトコルを使用することで、気象データ ソースから最新の気象情報を取得し、Web サイトに表示できます。
require 'vendor/autoload.php'; $client = new PhpMqttClientMqttClient('mqtt://your-mqtt-server'); $client->connect(); $client->subscribe('weather', function (string $topic, string $message) { // 处理收到的天气数据 }); while ($client->loop()) { // 始终保持连接 }
コードでは、mqtt.php ライブラリを使用して MQTT クライアントを作成し、MQTT に接続します。サーバ。次に、subscribe()
メソッドを呼び出して「weather」という名前のトピックをサブスクライブし、受信した気象データを処理するコールバック関数を指定します。最後に、ループを使用して MQTT サーバーへの接続を維持し、データの受信を継続できるようにします。
function getWeatherData() { $apiKey = 'your-api-key'; $city = 'your-city'; $url = "http://api.openweathermap.org/data/2.5/weather?q=$city&appid=$apiKey"; $response = file_get_contents($url); $data = json_decode($response, true); return $data['weather'][0]['description']; } $weatherData = getWeatherData();
コードでは、getWeatherData()
という名前の関数を定義します。この関数は、HTTP リクエストを OpenWeatherMap API に送信して気象データを取得します。 API キーと都市名をパラメータとして指定する必要があります。次に、file_get_contents()
関数を使用して HTTP リクエストを送信し、json_decode()
関数を使用して応答を解析します。最後に、気象データから説明的な情報を返します。
$client->publish('weather', $weatherData);
コードでは、publish()
メソッドを使用して天気データを公開します。 「天気」という名前のトピック。このメソッドは、新しい気象データが取得されるたびに呼び出して、最新の気象データを加入者に送信できます。
<!DOCTYPE html> <html> <head> <title>实时天气数据</title> </head> <body> <h1>实时天气数据</h1> <div id="weather"></div> <script> var client = new Paho.MQTT.Client('your-mqtt-server', 1883, 'clientId'); client.connect({ onSuccess: function () { client.subscribe('weather'); } }); client.onMessageArrived = function (message) { document.getElementById('weather').innerHTML = message.payloadString; } </script> </body> </html>
このコードでは、まず MQTT クライアントを作成し、connect()
メソッドを使用して MQTT サーバーに接続します。次に、subscribe()
メソッドを使用して「天気」トピックをサブスクライブし、新しいメッセージを受信したときに Web ページ上の天気データを更新します。
結論
PHP と MQTT プロトコルを使用すると、リアルタイムの気象データの取得および表示システムを構築できます。気象データ ソースからリアルタイム データを取得し、MQTT プロトコルを使用してデータを加入者に渡すことで、ユーザーに正確な気象情報を提供できます。この記事がリアルタイムの気象データ表示システムの構築に役立ち、より良いユーザー エクスペリエンスを提供できることを願っています。
以上がPHP および MQTT: リアルタイムの気象データ取得および表示システムを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。