cayennellp编解码器

micropython-pycayennelpp的Python项目详细描述


pycayennelpp

Travis-CICodacy BadgeCodacy BadgePyPiGitHub

一种用python编写的cayennelpp解码器和编码器。 另见myDevicesIoT/CayenneLPP 有关C++中的格式和引用实现的更多信息。

该项目正在积极开发中。发布将在 一旦有了一定数量的新功能和修复程序,就可以飞起来。

开始

pycayennelpp没有任何外部依赖项,但只使用内置 python 3的函数和类型。至少需要3.4版中的python。 因为1.2.0版micropython是受支持的,并且作为单独的 在micropython-pycayennelpp下打包。

python 3先决条件

pycayennelpp包可以通过pypi使用pip获得。要安装它,请运行:

pip3 install pycayennelpp

micropython先决条件

micropython默认不包含库base64logging。 虽然后者对于嵌入式设备是可选的,但前者是必不可少的。 使用微型Pythonupip模块pycayennelpp可以安装如下 在micropython中:

importupipupip.install("micropython-pycayennelpp")

或者在shell中运行:

micropython -m upip install micropython-pycayennelpp

这也将安装micropython-base64作为依赖项。

用法示例

下面展示如何在您自己的应用程序中使用pycayennelpp 在cayennelpp中对数据进行编码和解码。代码片段 使用标准的python 3和micropython,假设 如上图所示安装了pycayennelpp包。

编码

fromcayennelppimportLppFrame# create empty frameframe=LppFrame()# add some sensor dataframe.add_temperature(0,-1.2)frame.add_humidity(6,34.5)# get byte buffer in CayenneLPP formatbuffer=frame.bytes()

解码

fromcayennelppimportLppFrame# byte buffer in CayenneLPP format with 1 data item# i.e. on channel 1, with a temperature of 25.5Cbuffer=bytearray([0x01,0x67,0x00,0xff])# create frame from bytesframe=LppFrame().from_bytes(buffer)# print the frame and its dataprint(frame)

贡献

为一个免费的开源软件项目做贡献可以发生在 不同的方式。请随意打开问题并创建请求以帮助 改进这个项目。每个请求都必须通过一些自动测试 在合并到主分支之前由travis ci运行的检查。

请注意contributing guidelinesCode of Conduct

许可证

这是一个在MIT License下发布的免费开源软件项目。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用“Wed,01 Jul 2015 17:32:41 EDT”解析字符串   java Storm apache升级(1.0.0到2.0.0)   java类驻留在不同的目录中,而不是包指定的目录。为什么?   将Java中的图像缩放到非常小的维度   java如何通过子文档从自定义方面访问ElasticSearch parentdoc字段   java如何在RationalSoftwareArchitect中使用findbugs?   Java中的事件提升处理   java值被添加到arrayList的所有索引中,而不是在“”时添加到最后一个索引中。正在使用arraylist的add()方法   JFrame中的java JPanel派生类   java如何用循环和异步方法模拟类   java Android阻止可绘制背景超出视图范围   为客户排序Java阵列   java Apache poi如何将工作表设置为枚举位置值属性?   java Rhino在使用自定义类参数调用javascript函数时出错   java格式化日期从年月日到年月日   spring如何修复java。lang.illegalargumentexception在此特定场景中是否尝试创建具有null实体的合并事件?   java如何创建更好的对象