ホームページ  >  記事  >  バックエンド開発  >  PHPとMQTTを利用したリアルタイム在庫管理・早期警報機能

PHPとMQTTを利用したリアルタイム在庫管理・早期警報機能

WBOY
WBOYオリジナル
2023-07-11 11:46:361008ブラウズ

PHP と MQTT を使用して、リアルタイムの在庫管理と早期警告機能を実現します

1. 背景の紹介
現代のビジネス運営において、在庫管理は非常に重要な部分です。正確な在庫情報は、企業が製品の数量と変化をリアルタイムで把握するのに役立ち、より正確な購買および販売の意思決定を可能にします。同時に、在庫警告機能は在庫不足を事前に予測し、企業が在庫切れなどの悪影響を回避するのに役立ちます。

2. テクノロジーの選択
この記事では、サーバー側プログラミング言語として PHP を使用し、それを MQTT プロトコルと組み合わせて、リアルタイムの在庫管理と早期警告機能を実現します。一般的に使用される Web 開発言語として、PHP は学習と使用が簡単で、MQTT プロトコルはモノのインターネットやモバイル アプリケーションのシナリオに適した軽量のメッセージング プロトコルです。

3. 在庫管理機能の実装
1. データベース設計
まず、inventoryという名前のデータベースを作成し、製品の在庫情報を格納するproductsという名前のデータテーブルを作成します。データ テーブルには次のフィールドが含まれます:

  • id: 製品 ID
  • name: 製品名
  • quantity: 製品数量

2. ページのデザインと開発
在庫情報を表示するために、index.php という名前のファイルを作成します。このファイルには、すべての製品の名前と数量をリストし、ユーザーが製品名と数量を入力するためのフォームを提供できます。

3. データベース接続とデータ読み取り
PHP ファイルでは、データベースに接続し、データベースから商品在庫情報を読み取る必要があります。以下は、データベースに接続してデータを読み取るコード例です:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "inventory";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 从数据库中读取产品的库存信息
$sql = "SELECT id, name, quantity FROM products";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    echo "<table>";
    echo "<tr><th>产品ID</th><th>产品名称</th><th>产品数量</th></tr>";
  
    while($row = $result->fetch_assoc()) {
        echo "<tr><td>".$row["id"]."</td><td>".$row["name"]."</td><td>".$row["quantity"]."</td></tr>";
    }
  
    echo "</table>";
} else {
    echo "暂无产品信息";
}

$conn->close();
?>

IV. 在庫早期警告機能の実装
1. 在庫早期警告しきい値を設定します
在庫を実装するには早期警告機能では、在庫の早期警告しきい値を設定する必要があります。製品の在庫がこのしきい値を下回ると、システムは早期警告メッセージを発行します。

2. MQTT メッセージの送信
PHP ファイルでは、MQTT プロトコルを使用して警告メッセージを送信できます。以下は、MQTT メッセージを送信するコード例です:

<?php
require("phpMQTT.php");

$server = 'localhost';     //MQTT服务器地址
$port = 1883;                     //MQTT服务器端口号
$username = 'username';   //MQTT用户名
$password = 'password';   //MQTT密码

$mqtt = new phpMQTT($server, $port, "PHP MQTT Client");
if (!$mqtt->connect(true, NULL, $username, $password)) {
    exit(1);
}

$topic = 'inventory/alert';      //MQTT主题
$message = '产品A库存不足,请及时补货!';  //预警消息

// 发布MQTT消息
$mqtt->publish($topic, $message, 0, false);

$mqtt->close();
?>

3. MQTT メッセージのサブスクライブ
MQTT アラート メッセージを受信するには、別の PHP ファイルとプロセスで対応する MQTT トピックをサブスクライブする必要があります。受信したメッセージ。 MQTT メッセージをサブスクライブするコード例を以下に示します。

<?php
require("phpMQTT.php");

$server = 'localhost';     //MQTT服务器地址
$port = 1883;                     //MQTT服务器端口号
$username = 'username';   //MQTT用户名
$password = 'password';   //MQTT密码

$mqtt = new phpMQTT($server, $port, "PHP MQTT Client");
if (!$mqtt->connect(true, NULL, $username, $password)) {
    exit(1);
}

$topic = 'inventory/alert';      //MQTT主题

// 定义接收消息的回调函数
function messageReceived($topic, $message) {
    echo "接收到预警消息:[{$topic}] {$message}<br/>";
}

// 订阅MQTT主题并设置接收消息的回调函数
$mqtt->subscribe($topic, function($topic, $message){
    messageReceived($topic, $message);
}, 0);

while ($mqtt->proc()) { }

$mqtt->close();
?>

5. まとめ
PHP と MQTT プロトコルを使用することで、リアルタイムの在庫管理と早期警告機能を実現しました。 MQTT プロトコルを使用すると、リアルタイム メッセージのパブリッシュとサブスクライブを行うことができ、在庫が警告しきい値を下回ったときに警告メッセージをタイムリーに送信できます。これにより、企業の在庫管理の効率が向上し、在庫切れなどの問題を回避できます。同時に、データベースの設計と運用により、在庫情報の正確な記録と照会を実現できます。実際のアプリケーションでは、より具体的なビジネス シナリオを満たすために、特定のニーズに応じてコードを変更および最適化できます。

以上がPHPとMQTTを利用したリアルタイム在庫管理・早期警報機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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