Skip to main content

An ExoEdge source for reading and writing files.

Project description

Description

The purpose of this repository is to provide an ExoEdge protocol source that uses a text files as the input and output.

A protocol source (often just referred to as a “source”) is the glue between ExoEdge and the field-bus that you want to get data to and from. It is helpful to think of a source as a plugin to ExoEdge.

Current Usage

Currently, the source will read from a file and push the last line of data to ExoSense.

This can be used either by overwriting the file (always one line in the file) or appending the input file with a new line to keep historical information on the edge.

Planned Features

  • Implement output_file for controlling the device
  • Add custom delimiter

Install

Installing a build can be done in several ways:

Installing From Source

$ python setup.py install

Installing From Builds

$ pip install dist/*.whl

Installing From Builds

$ pip install exoedge_fileio

ExoSense Configuration

Below is an example config_io for reading from input_file and using output_file for device control.

{
  "channels": {
    "000": {
      "channel_name": "000",
      "description": "File Reader",
      "display_name": "FileIO",
      "properties": {
        "data_type": "TEMPERATURE",
        "data_unit": "DEG_FAHRENHEIT",
        "device_diagnostic": false,
        "max": null,
        "min": null,
        "precision": 2
      },
      "protocol_config": {
        "app_specific_config": {
          "input_file": "<Fully qualified path to file>",
          "output_file": "<Fully qualified path to file>"
        },
        "application": "FileIO",
        "down_sample": "actual",
        "input_raw": {},
        "interface": null,
        "report_on_change": false,
        "report_rate": 10000,
        "sample_rate": 10000,
        "timeout": null
      }
    }
  }
}

Example Protocol Configuration in ExoSense

images/FileIO_Protocol_Configuration.png

Device Control

Device control is available by using an “output_file” in the app_specific_config

ExoEdge will write the Device Control (data_out) value to this file. It will also write the latest value upon starting (in case the value was set when the device was off).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for exoedge-fileio, version 20.8.3
Filename, size File type Python version Upload date Hashes
Filename, size exoedge_fileio-20.8.3-py2.py3-none-any.whl (8.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page