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.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

exoedge_fileio-20.8.3-py2.py3-none-any.whl (8.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file exoedge_fileio-20.8.3-py2.py3-none-any.whl.

File metadata

  • Download URL: exoedge_fileio-20.8.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.1 CPython/2.7.16

File hashes

Hashes for exoedge_fileio-20.8.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 221c957e8a212e27f895a306f7789c348db90748bd9020142b4189b9d72cd345
MD5 9e914e8f8e84a7a819f0b587a276f636
BLAKE2b-256 052b9b7d039135fddbe2827b7e63985b3f2b3c2818829dc9bec5b61f01d2e5f4

See more details on using hashes here.

Supported by

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