Package for creating and decoding URLs that contain temperature and humidity samples.
Project description
cuplcodec
cuplcodec encodes environmental sensor data into a URL. Each sample includes two 12-bit readings (temperature and humidity). These are converted to base64 and written into a circular buffer. A HMAC is written after the most recent sample in the buffer. The URL can be rendered as a QR code or stored on an NFC tag. If a tag with a URL is tapped by a mobile phone, it opens automatically in a web browser. This allows the user to view sensor data without installing an app on their phones. A web application comprising cuplfrontend and cuplbackend runs the decoder in cuplcodec, unwraps the circular buffer and displays a list of samples in the browser.
Tests
The codec is tested with pytest. The encoder written in C can be tested with the decoder written in Python using CFFI.
Documentation
Hosted on ReadTheDocs. This includes information on how to run the encoder on an MSP430.
PyPI Package
Hosted on PyPI. Install the package with:
pip install cuplcodec
Licence
cuplcodec
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for cuplcodec-2.1.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8377df6411c1f9140f8538b8a66a4823fb39a177eb724541450950a5c926a231 |
|
MD5 | 2e62dc1dc0b9741a5dd8056a4dd9a0c4 |
|
BLAKE2b-256 | ab1ff9c29333ba87a571b865a9b42ea5f61177b7998b76964ed422d738af9e9e |
Hashes for cuplcodec-2.1.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4eb2ea93dd1216b692d03bcd6d5a9d5d35d0224934ce270e319b9f975b307fe7 |
|
MD5 | a08e03bedcad4a06eca0cf565220f20f |
|
BLAKE2b-256 | 1591ebd6a01f29fb12d832b98cb45c7472f5ed62efa11be2a9208d6adae04987 |
Hashes for cuplcodec-2.1.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f73c0450d1e6343c0dbbd7a5f0e9ae6b7a1507bc818d73d193a984e98dbe89f9 |
|
MD5 | 1c357a005c323dc91806798e19f30b1f |
|
BLAKE2b-256 | 8a5c931fa1e9611e327ca48328fc1f4253c45f4f263a5246ce8ee9a434ccd38f |
Hashes for cuplcodec-2.1.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8682e9dc4a09fd4ba347e1c6a02f0fca8cba52d7b742b557bc3849f3556d14ea |
|
MD5 | 3efd5b339865dbe6e07328edebbfaffb |
|
BLAKE2b-256 | fc201995a5e9526bd3f8d6e3d9d6bfa370dab01a7db5373992a3933239443966 |
Hashes for cuplcodec-2.1.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4de7ec99ac8e5302559b89fe183c7320ec6640061424f59b8c549f5275b10881 |
|
MD5 | f101382b02f3c9d348ad115fd1d3b84d |
|
BLAKE2b-256 | 2958d1307f43b77e3c98e9d4ade79c28dffb6a2c51d35396b33de02362ffbeae |
Hashes for cuplcodec-2.1.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a238d727280ec00646b2e5de98ebca5ade292028de4a23b8070de06e3037e17 |
|
MD5 | 157ab19ddf337bf9eb64bbaa8aeee722 |
|
BLAKE2b-256 | 8fb4b76195de32db095541c4e57b618466cdab5cf1fcf69eec72a4b581ef5152 |