Skip to main content

An ExoEdge source for simulating data.

Project description

Description

This project is a Simulator source for Exosite’s ExoSense which uses ExoEdge

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_simulator

ExoSense Configuration

Below is an example config_io that works for generating a sin_wave

{
  "channels": {
    "000": {
      "channel_name": "000",
      "description": "Sin Wave",
      "display_name": "Sin Wave",
      "properties": {
        "data_type": "TEMPERATURE",
        "data_unit": "DEG_FAHRENHEIT",
        "device_diagnostic": false,
        "max": null,
        "min": null,
        "precision": 2
      },
      "protocol_config": {
        "app_specific_config": {
          "function": "sin_wave",
          "parameters": {
            "amplitude": 1,
            "offset": 0,
            "period": 60,
            "precision": 2
          }
        },
        "application": "Simulator",
        "down_sample": "ACT",
        "input_raw": {},
        "interface": null,
        "report_on_change": false,
        "report_rate": 10000,
        "sample_rate": 10000,
        "timeout": null
      }
    }
  }
}

Available Functions

The following are functions supported by the simulator, including their parameters with defaults. Additional parameters can be included, and will be ignored.

fourteen

Returns 14

"function": "fourteen",
"parameters": {}

current_time

Returns the current timestamp

"function": "current_time",
"parameters": {}

echo

Echo a value into a string

"function": "echo",
"parameters": {
    "value": "Hello World"
}

strip_non_numeric

Strip out non-numeric characters from string

"function": "strip_non_numeric",
"parameters": {
    "value": "1234BEEF"
}

sin_wave

Generate a sin wave from the current time

"function": "sin_wave",
"parameters": {
    "period": 60,
    "amplitude": 1,
    "offset": 0,
    "precision": 2
}

cos_wave

Generate a cos wave from the current time

"function": "cos_wave",
"parameters": {
    "period": 60,
    "amplitude": 1,
    "offset": 0,
    "precision": 2
}

location

Generate location data from the current time and a starting location

Moves in a circle every period seconds. Path is radius decimal degrees from the center point defined by latitude and longitude.

"function": "location",
"parameters": {
    "latitude": None,
    "longitude": None,
    "period": 60,
    "radius": 0.1,
    "precision": 6
}

random_integer

Get a random integer between two values

"function": "random_integer",
"parameters": {
    "lower": 0,
    "upper": 10
}

random_sleep

Sleep for a random number of seconds

"function": "random_sleep",
"parameters": {
    "lower": 0,
    "upper": 10
}

ip_address

Returns a string that represents the ip address in octet form of the iface parameter given.
Parameters:
interface: The network interface. Use ifconfig (MAC, linux) or ipconfig (Windows) to check the interface.
"function": "ip_address",
"parameters": {
    "interface":"en0"
}

return something like: {“000”: [“192.168.2.143”]}

Project details


Download files

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

Built Distribution

exoedge_simulator-21.10.7-py2.py3-none-any.whl (18.9 kB view hashes)

Uploaded py2 py3

Supported by

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