IoT 기술의 지속적인 개발을 통해 MQTT (Message Queue Telemetry Transport) 프로토콜은 가벼운 통신 프로토콜이며 저 대역폭 및 불안정한 네트워크 환경에서 널리 사용됩니다. 이 기사에서는 PHP에서 MQTT 프로토콜의 통신 기능을 구현하는 방법을 자세히 소개하고 IoT 응용 프로그램을 신속하게 구축하는 데 도움이되는 관련 코드 예제를 제공합니다.
먼저 MQTT 프로토콜을 지원하는 PHP 라이브러리를 설치해야합니다. 이 기사는 MQTT 서버와 통신하기에 매우 적합한 도구 인 "PHPMQTT"라이브러리를 사용합니다.
라이브러리는 Composer Command Line 도구를 통해 설치할 수 있습니다. 터미널에서 다음 명령을 실행하십시오.
<span class="fun">작곡가는 Bluerhinos/phpmqttclient가 필요합니다</span>
다음으로 MQTT 서버에 연결하고 메시지를 게시하는 방법을 살펴 보겠습니다. 다음은 MQTT 서버에 연결하고 PHP 클라이언트를 통해 메시지를 보내는 방법을 보여주는 간단한 코드 예제입니다.
require("phpMQTT.php");
$server = "mqtt.example.com"; // MQTT서버 주소
$port = 1883; // MQTT서버 포트
$username = "your_username"; // 사용자 이름
$password = "your_password"; // 비밀번호
$client_id = "client_id"; // 고객ID
$topic = "your_topic"; // 주제를 게시하십시오
$message = "Hello, MQTT!"; // 메시지 내용
$mqtt = new phpMQTT($server, $port, $client_id);
if($mqtt->connect(true, NULL, $username, $password)) {
$mqtt->publish($topic, $message, 0);
$mqtt->close();
} else {
echo "연결이 실패했습니다!";
}
메시지 게시 외에도 PHP 클라이언트를 통해 MQTT 서버의 주제를 구독하고 해당 메시지를받을 수 있습니다. 다음 예는 주제를 구독하고 수신 된 메시지를 구독하는 방법을 보여줍니다.
require("phpMQTT.php");
$server = "mqtt.example.com"; // MQTT서버 주소
$port = 1883; // MQTT서버 포트
$username = "your_username"; // 사용자 이름
$password = "your_password"; // 비밀번호
$client_id = "client_id"; // 고객ID
$topic = "your_topic"; // 주제를 구독하십시오
$mqtt = new phpMQTT($server, $port, $client_id);
if($mqtt->connect(true, NULL, $username, $password)) {
$mqtt->subscribe($topic, 0);
while($mqtt->proc()) {
// 수신 된 메시지를 처리하십시오
}
$mqtt->close();
} else {
echo "연결이 실패했습니다!";
}
위 코드에서는 콜백 함수를 사용하여 구독 메시지를 처리합니다. 다음은 수신 된 메시지를 처리하고 출력하는 간단한 기능 예입니다.
function processMessage($topic, $message) {
echo "받은 메시지: " . $message . "\n";
}
require("phpMQTT.php");
$server = "mqtt.example.com"; // MQTT서버 주소
$port = 1883; // MQTT서버 포트
$username = "your_username"; // 사용자 이름
$password = "your_password"; // 비밀번호
$client_id = "client_id"; // 고객ID
$topic = "your_topic"; // 주제를 구독하십시오
$mqtt = new phpMQTT($server, $port, $client_id);
$mqtt->onMessage = "processMessage"; // 콜백 함수를 설정하십시오
if($mqtt->connect(true, NULL, $username, $password)) {
$mqtt->subscribe($topic, 0);
while($mqtt->proc()) { }
$mqtt->close();
} else {
echo "연결이 실패했습니다!";
}
이 기사는 실제 코드 예제를 통해 PHP에서 MQTT 프로토콜 통신 기능을 구현하기 위해 "PHPMQTT"라이브러리를 사용하는 방법을 보여줍니다. 이 예제를 기반으로 데이터 전송 및 메시지 관리를 위해 고유 한 IoT 응용 프로그램을 신속하게 구축 할 수 있습니다. 이 기사가 MQTT 프로토콜을 더 잘 이해하고 적용하는 데 도움이되기를 바랍니다.