可寻址数据包的易读编码

leap-protocol的Python项目详细描述


用于Python的L3aP

python可寻址包的易读编码

规范文件: https://leap-protocol.github.io/

安装

pip install leap-protocol

基本用途

对数据包进行编码:

importleap-protocolasleapcodec=leap.Codec("leap-config.json")packet=leap.Packet("set","led/red",True)encoded=codec.encode(packet)...

解码数据包

^{pr2}$

使用

编解码器类

codec=codec(配置文件路径)

  • config_file_path指向L3aP配置文件的字符串。在
  • codecL3aP codec对象

实例化L3aP编解码器对象,用于将数据包编码为字符串并将字符串解码为数据包。在

示例:

codec=leap.Codec("leap-config.json")

字节=编码(数据包)

  • packets一个leap.Packet对象或leap.packet对象的列表。在
  • bytesutf-8字节字符串

将一个或多个数据包编码为utf-8字节字符串。在

示例:

packet_red=leap.Packet("set","led/red",True)packet_blue=leap.Packet("set","led/blue",True)encoded=codec.encode([packet_red,packet_blue])

(余数,包)=解码(字节)

  • bytesutf-8编码字节字符串
  • remainment未使用的字节(如果可用)
  • packets一个或多个解码包的数组,如果没有,则为空

将utf-8字节字符串解码为一个或多个数据包

示例:

received_bytes+=rx.read()received_bytes,packets=codec.decode(received_bytes)forpacketinpackets:...

数据=解包(数据包)

  • packetaleap.Packet
  • data一个以地址路径为键(例如led/red)映射到各自值的字典。在

从数据包中提取字典,将地址路径映射到各自的值。在

示例:

ifpacket.category=="set":commands=codec.unpack(packet)if'led/red'incommands:led_red.set(commands['led/red']...

类数据包

packet=packet(类别,pathpayload

  • category包的类型
  • path(可选)有效负载数据的根路径
  • payload(可选)根路径所伴随的数据
  • packet一个L3aP数据包对象

构造用于编码的L3aP数据包。注意,当路径是父路径时,有效负载可以是一个数组,并一次设置多个字段。在

示例:

accelerometer_packet=leap.Packet("pub","imu/accel",[accel_x,accel_y,accel_z])disable_packet=leap.Packet("set","control/balance/disable")...

添加(path,payload

  • path有效负载数据的根路径
  • payload(可选)根路径所伴随的数据

添加数据包的路径和可选的有效负载。 这可用于创建复合数据包,允许同时处理多组数据。在

示例:

sensor_packet=leap.Packet("pub","imu/accel",[accel_x,accel_y,accel_z])sensor_packet.add("barometer/pressure",baro_pressure)...

类别

数据包的类别字符串。在

示例:

ifpacket.category=="pub":update_model(codec.unpack(packet))...

验证

结果=验证(配置文件)

  • config_file一个有效的L3aP配置文件
  • resultfalse如果配置文件无效,则为true

检查配置文件的内容是否有错误。将第一次失败的详细信息打印到stdout。对回归测试有用。在

示例:

...deftest_valid_config(self):assert(leap.verify("leap-config.json"))...

命令行

生成默认json配置文件:

python3 -m leap --json filename.toml

生成默认的toml配置文件:

python3 -m leap --toml filename.toml

验证toml/json配置文件的内容:

python3 -m leap --validate filename.json

帮助:

python3 -m leap --help

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

推荐PyPI第三方库


热门话题
来自偏移量的java JavaPairInputStream流   gzip Java TarInputStream读取tar的文件名。包含另一个tar的gz文件。gz文件   如何在Linux shell脚本中确定和使用实际的java路径   java请求太多FirebaseError   java错误json解析   java在localserver上发送安卓应用程序的输出   JavaSpring:启动和停止webapplication时更新DBtable条目   java如何使用JavaFX在矩形处设置文本?   java SQL查询在Hibernate中出现异常   java我无法使用javamail代码通过outlook(hotmail帐户)配置发送邮件,但在gmail中工作正常   java是不同的持久性。测试运行/JPA装置的xml属性   无头Eclipse的java导出战   使用ContentVersionStrategy的java Spring引导缓存禁止使用gzip进行资源压缩   java如何获取计算机的设备令牌?   图像文件的java ImageInfo不包含有效值   继承强制在Java中使用基类方法