odbieranie danych z esp easy

0

Witam potrzebuje w pliku php odebrać dane z ESP_EASY .
w esp dodany http header :
Content-Type:application/json

$json = json_decode(file_get_contents('php://input'),true);
ob_start();
print_r($json);
error_log( ob_get_clean() );
``
to cześć kodu która odbiera próbowałem var dump
0

W jaki sposób te dane wysyłasz?

0

Możesz sprawdzić w logu apache czy są jakieś requesty otrzymywane przez serwer z czujnika (jeśli xampp to C:/xampp/apache/logs/access.log)

Ogólnie to w php nie możesz nasłuchiwać danych. Jeżeli nadchodzi jakieś żądanie np. POST z danymi, to kod wykonuje się linijka po linijce i kończy. Jedyne, co mogę Ci zasugerować to albo serwer w nodejs i możesz wszystkie otrzymywane requesty wyświetlać w czasie rzeczywistym (+ zapisywać je do bazy lub pliku), albo php z zapisem otrzymywanych danych do pliku lub bazy danych i odświeżanie strony co kilka sekund/wysyłanie ajaxa w celu pobierania wszystkich zapisanych wpisów - takie prowizoryczne nasłuchiwanie.

W node to będzie wyglądało jakoś tak: https://stackoverflow.com/a/51072037

Tylko zobrazuj sobie jak php działa.

$json = json_decode(file_get_contents('php://input'),true);
ob_start();
print_r($json);
error_log( ob_get_clean() );

W chwili, kiedy czujnik przesyła POSTa do wykonania przez powyższy kod, to właśnie czujnik otrzymuje jako odpowiedź przesłane dane (print_r($json);) i kod statusu 200, bo to domyślny status jeśli żądanie było poprawne. Żebyś Ty je mógł zobaczyć, to trzeba je gdzieś zapisać i odczytywać. W nodejs nie ma tego problemu, bo wyświetlasz sobie wszystkie żądania od razu w konsoli, tak jak w przykładzie, który Ci wyżej podesłałem. Dla php jesteś jedynie clientem i nie zobaczysz tego w przeglądarce co właśnie otrzymuje serwer - no chyba, że za pomocą odczytu otrzymanych i zapisanych danych :)

1

Widzę to samo pytanie już chyba 5-ty raz, ludzie Ci w kółko to tłumaczą, a Ty nadal swoje lol

1 użytkowników online, w tym zalogowanych: 0, gości: 1