>백엔드 개발 >PHP 튜토리얼 >PHP 및 MQTT를 사용한 원격 장치 작동 및 제어

PHP 및 MQTT를 사용한 원격 장치 작동 및 제어

王林
王林원래의
2023-07-08 19:09:241052검색

PHP 및 MQTT를 사용하여 원격 장치 작동 및 제어 달성

소개:
MQTT(Message Queuing Telemetry Transport)는 장치 간 통신 및 데이터 전송을 실현할 수 있는 경량의 개방형 게시/구독 메시지 전송 프로토콜입니다. PHP는 MQTT 프로토콜과 통합되어 웹 애플리케이션에서 장치의 원격 작동 및 제어를 용이하게 할 수 있는 널리 사용되는 서버 측 스크립팅 언어입니다.

이 기사에서는 PHP 및 MQTT 프로토콜을 사용하는 방법을 소개하고 샘플 코드를 통해 원격 장치 작동 및 제어 프로세스를 보여줍니다.

1단계: MQTT PHP 확장 설치
먼저, PHP에서 MQTT 프로토콜을 사용하려면 MQTT PHP 확장을 설치해야 합니다. 일반적으로 사용되는 MQTT PHP 확장에는 Mosquitto와 phpMQTT라는 두 가지가 있습니다. 이번 글에서는 phpMQTT를 예로 들어 소개하겠습니다.

phpMQTT 확장을 설치하려면 터미널에서 다음 명령을 실행하세요.

composer require bluerhinos/phpmqtt

2단계: MQTT 서버에 연결
phpMQTT 확장을 사용하여 MQTT 서버에 연결하려면 호스트 이름, 포트 번호 및 클라이언트를 지정해야 합니다. 서버의 ID입니다. 샘플 코드는 다음과 같습니다.

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

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    // 连接成功
    // ...
} else {
    // 连接失败
    // ...
}

3단계: 주제 구독
MQTT 프로토콜에서는 주제(Topic)를 사용하여 메시지 내용을 식별합니다. 기기에서 보낸 메시지를 받으려면 하나 이상의 주제를 구독해야 합니다. 샘플 코드는 다음과 같습니다.

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

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    $topics = array("topic1", "topic2"); // 订阅的主题列表
    $mqtt->subscribe($topics, 0); // 订阅主题
    while ($mqtt->proc()) {
        // 处理接收到的消息
        // ...
    }
    $mqtt->close(); // 关闭连接
} else {
    // 连接失败
    // ...
}

4단계: 메시지 게시
기기에 지침을 보내려면 지정된 주제에 메시지를 게시해야 합니다. 샘플 코드는 다음과 같습니다.

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

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    $topic = "topic"; // 发布的主题
    $message = "Hello, device!"; // 发布的消息
    $mqtt->publish($topic, $message, 0); // 发布消息
    $mqtt->close(); // 关闭连接
} else {
    // 连接失败
    // ...
}

5단계: 받은 메시지 구문 분석
위의 예에서는 받은 메시지를 받은 후 처리해야 합니다. 메시지의 내용은 장치의 필요에 따라 분석될 수 있으며 필요에 따라 해당 작업이 수행될 수 있습니다. 샘플 코드는 다음과 같습니다.

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

$mqtt = new phpMQTT("mqtt.example.com", 1883, "ClientID"); // 服务器地址、端口号和客户端ID
if ($mqtt->connect()) {
    $topics = array("topic1", "topic2"); // 订阅的主题列表
    $mqtt->subscribe($topics, 0); // 订阅主题
    while ($mqtt->proc()) {
        $message = $mqtt->message;
        
        // 解析接收到的消息
        // ...
        
        // 根据解析的结果进行操作
        // ...
    }
    $mqtt->close(); // 关闭连接
} else {
    // 连接失败
    // ...
}

요약:
PHP 및 MQTT 프로토콜을 사용하여 원격 장치 작동 및 제어를 쉽게 구현할 수 있습니다. 이 기사에서는 phpMQTT 확장을 사용하여 MQTT 서버에 연결하고, 주제를 구독하고, 메시지를 게시하고, 수신된 메시지를 구문 분석하는 기본 단계를 소개하고 해당 샘플 코드를 제공합니다. 독자는 자신의 필요에 따라 특정 프로젝트와 함께 이를 사용자 정의하고 확장하여 보다 유연하고 강력한 원격 장치 작동 및 제어 기능을 달성할 수 있습니다.

위 내용은 PHP 및 MQTT를 사용한 원격 장치 작동 및 제어의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.