PHP 및 MQTT를 사용하여 IoT 기기에 실시간 알람 기능을 추가하는 방법
사물 인터넷의 급속한 발전으로 인해 점점 더 많은 기기가 인터넷을 통해 실시간으로 통신하고 데이터를 교환할 수 있게 되었습니다. 그러나 실제 적용에서는 장비 이상을 적시에 처리하기 위해 장비 상태를 모니터링하고 경고해야 하는 경우가 많습니다. 이 기사에서는 PHP 및 MQTT 프로토콜을 사용하여 IoT 장치에 실시간 경보 기능을 추가하는 방법을 소개합니다.
MQTT(Message Queuing Telemetry Transport)는 게시/구독 모델을 기반으로 하는 경량 IoT 프로토콜로, 장치 간 실시간 통신 문제를 효과적으로 해결합니다. PHP는 웹 개발 분야에서 널리 사용되는 범용 서버 측 스크립팅 언어입니다.
IoT 기기에 실시간 알람 기능을 추가하려면 먼저 MQTT 서버를 구축해야 합니다. 오픈 소스 Mosquitto 또는 Eclipse Mosquitto를 MQTT 서버로 사용할 수 있습니다. 다음 명령을 사용하여 Linux 시스템에 Mosquitto를 설치할 수 있습니다.
sudo apt-get install mosquitto mosquitto-clients
설치가 완료된 후 Mosquitto 서버를 시작합니다.
mosquitto
다음으로 PHP를 사용합니다. MQTT 클라이언트 라이브러리 phpMQTT는 장치의 구독 및 게시 기능을 구현합니다. 먼저 PHP 프로젝트에 phpMQTT 라이브러리를 도입합니다.
require("phpMQTT.php");
그런 다음 MQTT 클라이언트 인스턴스를 생성하고 MQTT 서버에 연결합니다.
$mqtt = new phpMQTT("localhost", 1883, "ClientID" . rand()); if (!$mqtt->connect(true, null, null, null, null)) { exit(1); }
연결이 성공하면 구독 및 게시 작업을 수행할 수 있습니다. 예를 들어 주제를 구독합니다.
$mqtt->subscribe("device/sensor", 0);
지정된 주제에 메시지 게시:
$mqtt->publish("device/sensor", "Warning: Sensor value exceeds threshold", 0);
위 코드에서는 "device/sensor"라는 주제를 구독한 다음 동일한 주제에 경보 메시지를 게시합니다.
물론 진정한 실시간 알람 기능을 구현하려면 실시간 모니터링 및 알람을 위해 장치의 상태 정보를 MQTT 서버로 전송해야 합니다. 기기 측은 Python 및 기타 언어를 사용하여 MQTT 클라이언트를 구현하고 기기 상태 정보를 지정된 주제에 정기적으로 게시할 수 있습니다.
PHP 프로젝트에 장치 상태 정보를 수신하기 위한 페이지를 추가한 다음 이 주제를 구독하면 장치 상태 정보를 얻을 수 있습니다. 예:
while ($mqtt->proc()) { // 接收设备状态信息 $message = $mqtt->message; echo $message['topic'] . ": " . $message['payload'] . " "; }
위 코드에서는 무한 루프를 사용하여 장치 상태 정보를 받은 다음 처리를 위해 인쇄합니다. 장치가 새로운 상태 정보를 공개하면 해당 알람 작동이 트리거됩니다.
요약하자면, PHP 및 MQTT 프로토콜을 사용하여 IoT 장치에 실시간 알람 기능을 추가하는 것은 복잡하지 않습니다. MQTT 서버를 구축하고, 구독 및 게시 작업을 위해 phpMQTT 라이브러리를 사용하고, 장치 측에서 상태 정보를 전송함으로써 장치 상태에 대한 실시간 모니터링 및 경보를 달성할 수 있습니다. 이 글의 소개가 IoT 개발자들에게 도움이 되기를 바랍니다.
(참고: 위의 예제 코드는 데모용일 뿐이며 완전히 사용할 수 있는 코드는 아닙니다. 실제 응용 프로그램에서는 특정 요구에 따라 수정하고 개선하십시오.)
위 내용은 PHP 및 MQTT를 사용하여 IoT 장치에 실시간 알림을 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!