Skip to main content
PyCon US is happening May 14th-22nd in Pittsburgh, PA USA.  Learn more

Utilities package for the FieldEdge project.

Project description

Inmarsat FieldEdge Utilities

Inmarsat FieldEdge project supports Internet of Things (IoT) using satellite communications technology. Generally this library is meant to be used on single board computers capable of running Debian Linux.

While the authors recognize Python has several shortcomings for embedded use, it provides a useful learning template.

This library available on PyPI provides:

  • A common logger format and wrapping file facility with UTC timestamps.
  • A timer.RepeatingTimer utility (thread) that can be started, stopped, restarted, and interval changed.
  • A simplified mqtt client that automatically (re)onnects (by default to a local fieldedge-broker).
  • Helper functions for managing files and path on different OS.
  • An interface for the FieldEdge hostpipe service for sending host commands from a Docker container, with request/result captured in a logfile.
  • Helper functions ip.interfaces for finding and validating IP interfaces and addresses/subnets.
  • A defined set of common ip.protocols used for packet analysis and satellite data traffic optimisation.
  • Helpers for managing serial ports on a host system.
  • Utilities for converting **timestamp**s between unix and ISO 8601
  • properties manipulation and conversion between JSON and PEP style, and derived from classes or instances.
  • Classes useful for implementing **microservice**s based on MQTT inter-service communications and task workflows:
    • interservice communications tasks and searchable queue.
    • microservice class for consistent abstraction and interaction.
    • msproxy microservice proxy class form a kind of twin of another microservice, as a child of a microservice.
    • feature class as a child of a microservice, with routing of MQTT topics and messages and interaction with a simple task queue.
    • propertycache concept for caching frequently referenced object properties where the query may take time.
    • subscriptionproxy allows cascading of received MQTT messages to multiple modules within a project framing a microservice.

Docmentation

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page