PHP 및 MQTT: 원격 에너지 모니터링 및 관리 시스템 구축
소개
에너지 수요 증가와 환경 인식 제고로 인해 원격 에너지 모니터링 및 관리 시스템 구축이 점점 더 중요해지고 있습니다. 이러한 시스템은 에너지 사용량을 실시간으로 모니터링하여 에너지 절약 관리를 할 수 있고, 원격제어를 통해 에너지 사용량을 조절할 수 있어 에너지 낭비와 탄소발자국을 줄일 수 있습니다. 이 기사에서는 PHP 및 MQTT 프로토콜을 사용하여 원격 에너지 모니터링 및 관리 시스템을 구축하는 방법을 살펴보고 참조할 수 있는 몇 가지 코드 예제를 제공합니다.
sudo apt-get install mosquitto sudo systemctl enable mosquitto sudo systemctl start mosquitto
mosquitto
또는 phpMQTT
확장 프로그램을 사용하도록 선택할 수 있습니다. 다음은 phpMQTT
확장을 사용하는 샘플 코드입니다. mosquitto
或者phpMQTT
扩展。下面是使用phpMQTT
扩展的示例代码。require("phpMQTT.php"); $server = "mqtt.example.com"; $port = 1883; $client_id = "phpMQTT-subscriber"; $mqtt = new phpMQTT($server, $port, $client_id); if ($mqtt->connect(true, NULL, "username", "password")) { $topics = array("energy/usage/#" => array("qos" => 0, "function" => "processMessage")); $mqtt->subscribe($topics, 0); while ($mqtt->proc()) { } $mqtt->close(); } else { echo "Failed to connect to MQTT server."; } function processMessage($topic, $message) { echo "Received message on topic: $topic "; echo "Message: $message "; // 在这里可以编写处理MQTT消息的代码逻辑 }
在上面的示例中,我们首先创建了一个phpMQTT对象并连接到MQTT服务器。然后,我们订阅了一个或多个主题,并定义了一个用于处理消息的回调函数processMessage
。通过调用proc
方法,我们可以持续接收和处理来自MQTT服务器的消息。
require("phpMQTT.php"); $server = "mqtt.example.com"; $port = 1883; $client_id = "phpMQTT-publisher"; $topic = "energy/usage"; $mqtt = new phpMQTT($server, $port, $client_id); if ($mqtt->connect(true, NULL, "username", "password")) { $usage_data = "100"; // 从能源使用设备中获取实时能源使用数据 $mqtt->publish($topic, $usage_data, 0); $mqtt->close(); } else { echo "Failed to connect to MQTT server."; }
在上面的示例中,我们创建了一个phpMQTT对象并连接到MQTT服务器。然后,我们使用publish
方法将实时能源使用数据发送到主题energy/usage
。
require("phpMQTT.php"); $server = "mqtt.example.com"; $port = 1883; $client_id = "phpMQTT-subscriber"; $topic = "energy/usage"; $mqtt = new phpMQTT($server, $port, $client_id); if ($mqtt->connect(true, NULL, "username", "password")) { $mqtt->subscribe(array($topic => array("qos" => 0, "function" => "processMessage")), 0); while ($mqtt->proc()) { // 处理其他业务逻辑 } $mqtt->close(); } else { echo "Failed to connect to MQTT server."; } function processMessage($topic, $message) { echo "Received message on topic: $topic "; echo "Message: $message "; // 在这里可以编写处理MQTT消息的代码逻辑 }
在上面的示例中,我们创建了一个phpMQTT对象并连接到MQTT服务器。然后,我们订阅了主题energy/usage
并定义了一个用于处理消息的回调函数processMessage
。通过调用proc
위의 예에서는 먼저 phpMQTT 객체를 생성하고 MQTT 서버에 연결했습니다. 그런 다음 하나 이상의 주제를 구독하고 메시지 처리를 위한 콜백 함수 processMessage
를 정의합니다. proc
메서드를 호출하면 MQTT 서버에서 계속해서 메시지를 수신하고 처리할 수 있습니다.
원격 에너지 모니터링 및 관리 시스템에서 장비측은 센서, 스마트 미터 등 에너지 사용 장비를 말합니다. 장치는 MQTT 서버에 에너지 사용량 데이터를 실시간으로 전송하고 서버로부터 제어 명령을 받아야 합니다.
publish
메소드를 사용하여 실시간 에너지 사용량 데이터를 energy/usage
주제로 보냅니다. energy/usage
주제를 구독하고 메시지 처리를 위한 콜백 함수 processMessage
를 정의합니다. proc
메서드를 호출하면 MQTT 서버에서 계속해서 메시지를 수신하고 처리할 수 있습니다. 🎜🎜결론🎜원격 에너지 모니터링 및 관리 시스템은 PHP 및 MQTT 프로토콜을 사용하여 쉽게 구축할 수 있습니다. MQTT 프로토콜은 가볍고 신뢰성이 높기 때문에 에너지 사용 장치와 웹 애플리케이션 간의 실시간 통신에 적합합니다. 에너지 사용량의 실시간 모니터링과 원격 제어를 통해 에너지 절약, 배출 감소 및 지속 가능한 발전이라는 목표를 달성할 수 있습니다. 🎜🎜참고자료: 🎜🎜🎜Mosquitto - https://mosquitto.org/🎜🎜phpMQTT - https://github.com/bluerhinos/phpMQTT🎜🎜위 내용은 PHP 및 MQTT: 원격 에너지 모니터링 및 관리 시스템 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!