A python library to add ans search observations into flythings


Keywords
flythings, IoT
License
GPL-3.0
Install
pip install flythings==2.2.8

Documentation

Getting Started

To use this client is necesary:

  • Install Python (>=2.7, !=3.0., !=3.1., !=3.2., !=3.3)
  • Install pip
  • To Install our library:
    $ pip install flythings   

And now start to test the flythings clients.

Documentation

Configuration File

The general properties configuration in Configuration.properties:

  • user: (Optional) user email or identifier to login on the system.
  • password: (Optional) the user password to login, is not recommended use this configuration.
  • server: (Optional, Default beta.flythings.io/api) configure the server url to insert the data.
  • token: (Optional) the user token to send data into flythings plataform.
  • device: (Optional) the device which sends data.
  • sensor: (Optional) the sensor wich sends data.
  • login_type: (Optional) type of login to use.
  • timeout: (Optional) request timeout in seconds.
  • authorization: (Optional) authorization token.
  • Example of configuration file
    SERVER:beta.flythings.io/api  
    USER:<put your username here>  
    PASSWORD:<put your password here>  
    DEVICE:Python  
    SENSOR:Client  
    LOGIN_TYPE:USER or DEVICE
    TIMEOUT: 1000
    AUTHORIZATION: <put your token here>   

To load the data from the file call this function:

  • load_data_by_file(String file)
    Description: Loads data from the file.
    Return: Nothing.

Examples:

  • Loads config data from a file.

You can also introduce this general properties using the library methods.

General Module Configuration Methods

  • set_server(String server)
    Description: Sets the server to which the requests will be sent.
    Return: Returns a string representing the server.

  • set_device(String device, (Optional) object=None, always_update=False)
    Params:

    • device: (Mandatory) Device name.
    • object: (Optional) Object with extra device params.
    • always_update: (Optional) Indicates if must send a request to create/update the device.
        object = {
          "type": "CUSTOM",
          "geom": {
          "type": "Point",
          "crs": "4326",
          "coordinates": [
          -19.323204, 27.611808
          ]
        } }

    Description: Sets the device of the observation. Uses a file named .foiCache to get a fast access to most used devices.
    Return: Returns a string representing the device.

  • set_sensor(String sensor)
    Description: Sets the sensor of the observation.
    Return: Returns a string representing the sensor.

  • set_token(String token)
    Description: Sets the x-auth-token to authenticate into the server.
    Return: Returns a string representing the token.

  • set_worskapce(Long workspace)
    Description: Sets user workspace
    Return: Returns the user workspace

  • set_custom_header(String header, String header_value)
    Description: Sets a custom header for server requests.
    Return: Returns a string representing the header.

  • get_headers(String header, String header_value)
    Description: Return current headers.
    Return: Return current headers.

  • set_timeout(int timeout)
    Description: Sets the timeout value in seconds to the server requests.
    Return: Returns an integer representing the timeout.

  • login(String user, String password, String login_type ['USER' or 'DEVICE'])
    Description: Authenticate against the server.
    Return: Returns a string representing the token or None if login fails.

  • logout() Description: Logout against the server.
    Return: Returns None.

  • set_authorization_token(token) Description: Sets bearer token on authorization hearer. Return: returns the authorization header value.

Modules documentation

Tests

In the test folder, after fill in the Configuration.Properties file write on bash:

    nosetests flythingsTest.py  

(Nose python library is needed)

Change log

Developed by ITG