>백엔드 개발 >PHP 튜토리얼 >PHP와 MQTT: 사물인터넷 기반 실시간 환경 모니터링 시스템 구축

PHP와 MQTT: 사물인터넷 기반 실시간 환경 모니터링 시스템 구축

WBOY
WBOY원래의
2023-07-09 09:01:441387검색

PHP 및 MQTT: 사물 인터넷 기반 실시간 환경 모니터링 시스템 구축

사물 인터넷 기술의 급속한 발전으로 인해 점점 더 많은 장치가 상호 연결될 수 있습니다. 이 시대에는 센서를 통해 온도, 습도, 기압 등 다양한 환경 변수를 쉽게 모니터링할 수 있습니다. 그러나 이러한 데이터를 어떻게 실시간으로 획득하고 처리하느냐가 중요한 문제가 됩니다. 본 글에서는 PHP와 MQTT를 활용하여 사물인터넷 기반의 실시간 환경 모니터링 시스템을 구축하는 방법을 소개합니다.

MQTT(Message Queue Telemetry Transport)는 게시/구독 모델을 기반으로 하는 경량 통신 프로토콜로, 사물 인터넷 애플리케이션의 장치 간 통신에 매우 적합합니다. 낮은 대역폭, 낮은 전력 소비, 작은 메모리 공간 등의 장점을 가지며 데이터를 효율적으로 전송할 수 있습니다.

먼저 MQTT 프록시 서버를 구축해야 합니다. 일반적인 MQTT 프록시 서버에는 Mosquitto, EMQ 및 ActiveMQ가 포함됩니다. 이 기사에서는 Mosquitto를 Ubuntu 시스템에 설치하는 것은 매우 간단합니다. 다음 명령을 실행하면 됩니다:

sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients

설치가 완료된 후 다음 명령을 통해 Mosquitto 서비스를 시작할 수 있습니다. PHP 코드 작성을 시작하세요. 먼저 Composer를 사용하여 쉽게 설치할 수 있는 MQTT PHP 클라이언트 라이브러리를 설치해야 합니다.

mosquitto -v

PHP에서는 MQTT 클라이언트 라이브러리를 도입하고 특정 상황에 따라 서버 연결 정보를 구성해야 합니다.

composer require eclipse/paho-mqtt

In 위 코드에서는 먼저 MQTT 클라이언트 라이브러리를 도입하고 MQTT 클라이언트 인스턴스를 생성했습니다. 그런 다음 서버 연결 정보를 구성하고 제공된 사용자 이름과 비밀번호를 사용하여 연결했습니다. 다음으로 "환경/온도" 주제를 구독하고 QoS(서비스 품질)를 1로 설정했습니다. 이는 메시지가 적어도 한 번 전송된다는 의미입니다. 마지막으로 무한 루프를 사용하여 메시지를 수신하고 필요한 경우 처리합니다.

메시지 수신 외에도 MQTT 클라이언트 라이브러리를 사용하여 메시지를 게시할 수도 있습니다. 예를 들면 다음과 같습니다.

require_once("vendor/autoload.php");

$server = "mqtt.example.com"; // MQTT服务器地址
$port = 1883; // MQTT服务器端口
$username = "your_username"; // MQTT服务器用户名
$password = "your_password"; // MQTT服务器密码
$client_id = "your_client_id"; // 客户端ID,用于区分不同的设备

$client = new EclipseMosquittoClient($client_id); // 创建MQTT客户端实例

// 配置服务器连接信息
$client->setCredentials($username, $password);
$client->connect($server, $port, 60);

// 订阅主题
$client->subscribe("environment/temperature", 1);

// 接收消息
while (true) {
    $client->loop();
}

// 断开连接
$client->disconnect();

위 코드에서는 MQTT 클라이언트 인스턴스를 생성하고 서버 연결 정보를 구성합니다. 그런 다음 게시() 함수를 사용하여 "환경/온도" 주제에 온도 데이터를 게시했습니다. 메시지를 게시할 때 메시지가 한 번 이상 전송될 수 있도록 QoS를 1로 지정해야 합니다.

위의 코드 예시를 통해 사물인터넷 기반의 실시간 환경 모니터링 시스템을 구축할 수 있습니다. 센서 데이터를 MQTT 서버로 보낸 다음 PHP 스크립트를 통해 주제를 구독하고 데이터를 수신한 다음 그에 따라 처리하고 표시할 수 있습니다.

요약하자면, PHP와 MQTT를 사용하면 사물 인터넷 기반의 실시간 환경 모니터링 시스템을 빠르게 구축할 수 있습니다. MQTT 프로토콜의 유연성과 PHP의 개발 편의성을 통해 디바이스 간 통신 및 데이터 처리를 쉽게 구현할 수 있습니다. 이 기사가 독자들에게 영감을 주고 IoT 애플리케이션 개발에서 무언가를 얻는 데 도움이 되기를 바랍니다.

참고 자료:

MQTT 공식 웹사이트: http://mqtt.org
  • Eclipse Paho MQTT PHP 클라이언트 라이브러리: https://github.com/eclipse/paho.mqtt.php

위 내용은 PHP와 MQTT: 사물인터넷 기반 실시간 환경 모니터링 시스템 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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