www/api/sniff_once.php
2026-06-27 21:44:44 +00:00

24 lines
704 B
PHP

<?php
set_time_limit(30);
require __DIR__ . '/vendor/autoload.php';
use PhpMqtt\Client\MqttClient;
use PhpMqtt\Client\ConnectionSettings;
$data = [];
$mqtt = new MqttClient('xupas.mooo.com', 1883, 'web-sniffer-'.rand());
$settings = (new ConnectionSettings)->setUsername('xupa')->setPassword('xupa');
$mqtt->connect($settings, true);
$mqtt->subscribe('esp/+/event', function($topic, $message) use (&$data, $mqtt) {
$data[] = ['topic'=>$topic, 'message'=>$message];
if (count($data) >= 5) {
$mqtt->interrupt(); // para o loop depois de 5 msg
}
}, 0);
$mqtt->loop(true);
header('Content-Type: application/json');
echo json_encode($data, JSON_PRETTY_PRINT);