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
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.