jalallinux / php-cayenne-lpp
PHP Cayenne LPP encoder and decoder
v1.3.0
2023-07-02 15:30 UTC
Requires
- php: ^7.4|^8.0|^8.1|^8.2
- spatie/enum: *
Requires (Dev)
- pestphp/pest: ^1.20
- spatie/ray: ^1.28
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README

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.