jalallinux/php-cayenne-lpp

PHP Cayenne LPP encoder and decoder

v1.3.0 2023-07-02 15:30 UTC

README

cover.png

Latest Stable Version Latest Version on Packagist Tests Total Downloads

This library can encode and decode data stream for LoraWan and SigFox devices which use Cayenne LPP encoding.

Installation

You can install the package via composer:

composer require jalallinux/php-cayenne-lpp

Usage

Encoder

$encoder = new Encoder();
$encoder->addAnalogInput(2, 4.2)
    ->addRelativeHumidity(3, 32.0)
    ->addTemperature(4, 28.7)
    ->addBarometricPressure(5, 851.3)
    ->addAnalogOutput(6, 4.45);

$hex = bin2hex($encoder->getBuffer());
/**
 * RESULT
 * 020201a40368400467011f05732141060301bd
 */

Decoder

$decoder = new Decoder(hex2bin('020201a40368400467011f05732141060301bd'));
$data = $decoder->data;
/**
 * RESULT
 * [
 *  0 => [
 *    "channel" => 2
 *    "type" => 2
 *    "typeName" => "analogInput"
 *    "data" => [
 *      "value" => 4.2
 *    ]
 *  ]
 *  1 => [
 *    "channel" => 3
 *    "type" => 104
 *    "typeName" => "humidity"
 *    "data" => [
 *      "value" => 32.0
 *    ]
 *  ]
 *  2 => [
 *    "channel" => 4
 *    "type" => 103
 *    "typeName" => "temperature"
 *    "data" => [
 *      "value" => 28.7
 *    ]
 *  ]
 *  3 => [
 *    "channel" => 5
 *    "type" => 115
 *    "typeName" => "pressure"
 *    "data" => [
 *      "value" => 851.3
 *    ]
 *  ]
 *  4 => [
 *    "channel" => 6
 *    "type" => 3
 *    "typeName" => "analogOutput"
 *    "data" => [
 *      "value" => 4.45
 *   ]
 * ]
 */

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.