Чтение последовательных данных Bluetooth (RFCOMM) с переполнением стека

У меня ESP32 отправляет некоторые последовательные данные через Bluetooth на Raspberry Pi 3B +. Я уже связал ESP32 через команду rfcomm с / dev / rfcomm1, и я могу получать данные через это.

Моя проблема сейчас:

Я должен сначала запустить Bluetooth-маяк, а затем запустить скрипт — я также не могу перезапустить маяк без перезапуска моего скрипта. Fread всегда возвращает NULL и не дает никаких подсказок о подключенном или отключенном клиенте.

Мой сценарий:

<?php

$f = fopen("/dev/rfcomm1", "r");
stream_set_blocking($f, false);

$buffer = "";
while (true) {

if ($byte = fread($f, 1)) {
$buffer .= $byte;
}

if (strlen($buffer) == 4) {
echo $buffer;
exit();
}
}

С наилучшими пожеланиями и заранее спасибо,
Даниил

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …