跳转到主要内容

针对PyROS的遥测软件包

项目描述

遥测

PyROS针对的遥测客户端。此库提供了遥测概念的定义

  • 流(记录器,流定义):TelemetryLogger,TelemetryStreamDefinition...
  • 客户端:TelemetryClient
  • 存储:TelemetryStorage,

和实现。

流表示由源应用程序、服务或程序记录的良好数据(固定长度字节记录)的概念;其中包含感兴趣的数据。可以使用TelemetryStreamDefinition的子类定义流

  • MQTTLocalPipeTelemetryLogger提供了一个完整的客户端,用于通过本地Unix管道将数据记录到本地服务器(预期服务器已在本地运行)。它使用MQTT协商从给定定义创建流。

  • 在telemetry-server软件包中检查SocketTelemetryServer类,它允许您获取TelemetryLogger的实例,以开始向本地运行的TCP服务器记录。

示例

logger = MQTTLocalPipeTelemetryLogger('test-stream', host="172.24.1.185", port=1883)
logger.add_byte('some-status')
logger.add_double('x-coordinate')
logger.add_double('y-coordinate')
logger.init()

# ...

logger.log(1, 55, 0.0, 0.0)  # first argument is timestamp
logger.log(1.23, 0, 2.1, 0.0)
logger.log(1.90, 0, 2.2, 1.0)

客户端

客户端提供了访问遥测数据的方式。例如

client = MQTTTelemetryClient(host=host, port=port, topic=topic)

test_stream = None
test_stream_data = None

def receive_stream_def(received_stream):
    global test_stream
    test_stream = received_stream

def receive_test_stream_data(received_records):
    global test_stream_data
    test_stream_data = received_records


client.getStreamDefinition('test-stream', process_stream_def)

while test_stream is None:
    time.sleep(0.01)

# second argument is start timestamp, third end timestamp and last callback method to deliver data
client.retrieve(test_stream, 0, time.time(), receive_test_stream_data)

客户端功能使用回调。方法将请求数据,但结果会异步交付。

存储

存储通常由客户端和服务器实现内部使用

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

pyros-telemetry-1.0.1.tar.gz (17.1 kB 查看散列)

上传时间:

构建分布

pyros_telemetry-1.0.1-py3-none-any.whl (23.0 kB 查看哈希值)

上传时间 Python 3

由以下支持