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