Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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": "actual",
        "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.

Files for exoedge-simulator, version 19.10.21
Filename, size File type Python version Upload date Hashes
Filename, size exoedge_simulator-19.10.21-py2.py3-none-any.whl (21.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page