Metrum API
The Metrum API provides a set of classes and functions for working with sensors and telemetry data.
classDiagram
class SensorInterface {
+device_id
+read_sensors()
+collect_datapoints()
+collect_reading()
}
class ExampleSensor {
+read_sensors()
}
class MetrumSensorPublisher {
-reticulum
-identity
-sensor
-destination
-subscribers
+announce()
+encode_announce_data()
+get_subscriber_hash(link)
+link_established(link)
+packet_received(data, packet)
+link_closed(link)
+publish_senml()
+run(collection_interval, announce_interval, read_interval)
}
class MetrumSensorSubscriber {
-reticulum
-identity
-publishers
-senml_callback
+received_announce(destination_hash, announced_identity, app_data)
+connect_to_publisher(destination_hash)
+link_established(link, destination_hash)
+link_closed(link, destination_hash)
+packet_received(data, packet)
+reconnect_disconnected(max_age)
}
class RNS {
+Identity
+Destination
+Link
+Packet
+Transport
}
SensorInterface <|-- ExampleSensor
MetrumSensorPublisher --> SensorInterface
MetrumSensorPublisher --> RNS
MetrumSensorSubscriber --> RNS
- Classes:
MetrumPublisher: A class for publishing telemetry data.MetrumSubscriber: A class for subscribing to telemetry data.
- Functions:
announce(): Announces the publisher's presence to the Reticulum network.publish_telemetry(): Publishes telemetry data to the Reticulum network.