PHP Client to retrieve informations from a GPSD service. More informations about GPSD: http://catb.org/gpsd/
composer require nykopol/gpsd-client 1.*
Basic usage :
$client = new Client(); // new client for localhost on port 2947 $client->connect(); // Initiate socket with the service $client->watch(); // Tell the service to start report event $infos = $client->getNext('TPV'); // Get the next message of class TPV ()
__construct($host = 'localhost', $port = 2947)
The class instantiation accept two parameters:
localhost) the host we want to listen to
2947) the socket port
This method connect the socket to the service. The returned value is the string
returned by the service identifying itself.
watch($enable = true, $format = 'json')
The watch method tell the service to start report sensors events. This method
accept two parameters:
true) Tell the service to start or stop watching.
json) Set the desired format for the returned datas
getNext($class, $buffer = false, $blocking = true)
Return the next message of the given class. Current service class are
The method accept the tree parameters:
string The wanted class name.
false) Once the device synced, the service is
generaly reporting one message per second. This parameter specify if we want the
next message from the buffer or the next message in the time.
true) Wait for the next message or return null if
there is no new message. This option is relevant only if the buffer is enabled.
For exemple, if you are connected to the service since 1 minute, and that the sensor is synced, the next message from the buffer is proably old of about 1 minute. While requesting the next message in time will flush the buffer then wait for the next message of the desired class.
The returned value is the raw string returned by the service. So if you asked for
json format with the
watch() method, the returne value will look like :
Disconnect from the service.