Merge branch 'master' into feature-python3-port

This commit is contained in:
Ronald Steinke 2019-01-11 18:01:19 +01:00
commit f8ec30c59b
11 changed files with 152 additions and 39 deletions

114
README.md
View File

@ -4,43 +4,95 @@
</a> </a>
</p> </p>
The OpenMTC SDK aims to provide developers with a convenient yet flexible tool to write oneM2M compliant applications. This includes network applications (NAs), gateway application (GAs), device applications (DAs), as well as interworking proxy entities (IPEs). [![FIWARE IoT Agents](https://nexus.lab.fiware.org/static/badges/chapters/iot-agents.svg)](https://www.fiware.org/developers/catalogue/)
[![License: Eclipse](https://img.shields.io/github/license/OpenMTC/OpenMTC.svg)](https://www.eclipse.org/legal/epl-v10.html)
[![Support badge](https://nexus.lab.fiware.org/repository/raw/public/badges/stackoverflow/iot-agents.svg)](https://stackoverflow.com/questions/tagged/fiware+iot)
<br/>
[![Documentation badge](https://img.shields.io/readthedocs/fiware-openmtc.svg)](http://fiware-openmtc.readthedocs.org/en/latest/?badge=latest)
![Status](https://nexus.lab.fiware.org/static/badges/statuses/iot-openmtc.svg)
[![](https://img.shields.io/docker/pulls/openmtc/gateway-amd64.svg)](https://hub.docker.com/u/openmtc)
[![Build Status](https://travis-ci.org/OpenMTC/OpenMTC.svg?branch=master)](https://travis-ci.org/OpenMTC/OpenMTC)
# Table of Content The OpenMTC SDK aims to provide developers with a convenient yet flexible tool
to write oneM2M compliant applications. This includes network applications
(NAs), gateway application (GAs), device applications (DAs), as well as
interworking proxy entities (IPEs).
- [Quick Start](doc/openmtc-get-started.md) This project is part of [FIWARE](https://www.fiware.org/). For more information
- [Introduction](doc/introduction.md) check the FIWARE Catalogue entry for the
- [Deployment](doc/deployment-guide.md) [IoT Agents](https://github.com/Fiware/catalogue/tree/master/iot-agents).
- [The MQTT Client](doc/onem2m-client-mqtt.md)
- [Authentication Guide](doc/authentication.md) # Content
- [Installation of the OpenMTC SDK](doc/install-sdk.md)
- [Overview REST API](doc/overview-rest-api.md) - [Install](#install)
- [Write your first OpenMTC applications](doc/training/training-index.md) - [Usage](#usage)
- [SDK - Using the Application Framework](doc/sdk-framework.md) - [API](#api)
- [SDK - The low-level CSE Client](doc/sdk-client.md) - [Quality Assurance](#quality-assurance)
- [SDK - The Data Model](doc/sdk-datamodel.md) - [License](#license)
- Examples
- [IoT Data Visualization](doc/example-apps/IoT-data-visualization.py)
- [Data Aggregation](doc/example-apps/data-aggregation.py)
- [Simple Decision](doc/example-apps/simple-decision.py)
- [Simple Decision 2](doc/example-apps/simple-decision-2.py)
- Scripts
- [Create App Structure Script](doc/create-app-structure.md)
- [Create binary docker images Script](doc/create-binary-docker.md)
- [Code Repository Structure](doc/repository-structure.md)
- [Developer FAQ](doc/developer-faq.md)
# Python ## Install
The OpenMTC SDK is written in and for the Python programming language. Users should therefore have at least a certain knowledge of Python and its paradigms. For this matter, the following material is recommended: Information about how to install the JSON IoTAgent can be found at the
corresponding section of the
[Installation & Administration Guide](https://fiware-openmtc.readthedocs.io/en/latest/deployment-guide).
- [The Python Homepage](http://www.python.org) ## Usage
- [Expert Python Programming by Tarek Ziadé](http://www.e-reading.by/bookreader.php/138816/Ziade_-_Expert_Python_programming.pdf)
- [Code Like a Pythonista: Idiomatic Python](http://www.omahapython.org/IdiomaticPython.html)
# Feedback Information about how to use the IoT Agent can be found in the
[User & Programmers Manual](https://fiware-openmtc.readthedocs.io/en/latest/introduction).
Please create issues for any problems and direct any comments or feedback you are having to <a href="mailto:support@openmtc.org">support@openmtc.org</a> ## API
Information about the REST API can be found in the
[API Section](https://fiware-openmtc.readthedocs.io/en/latest/overview-rest-api)
## Python
The OpenMTC SDK is written in and for the Python programming language. Users
should therefore have at least a certain knowledge of Python and its paradigms.
For this matter, the following material is recommended:
- [The Python Homepage](http://www.python.org)
- [Expert Python Programming by Tarek Ziadé](http://www.e-reading.by/bookreader.php/138816/Ziade_-_Expert_Python_programming.pdf)
- [Code Like a Pythonista: Idiomatic Python](http://www.omahapython.org/IdiomaticPython.html)
## Feedback
Please create issues for any problems and direct any comments or feedback you
are having to <a href="mailto:support@openmtc.org">support@openmtc.org</a>
Please let us know what you think. We are also very interested in any use case
you are _not_ able to implement with the SDK or if you find it difficult to do
so.
## Quality Assurance
This project is part of [FIWARE](https://fiware.org/) and has been rated as
follows:
- **Version Tested:**
![ ](https://img.shields.io/badge/dynamic/json.svg?label=Version&url=https://fiware.github.io/catalogue/json/open_mtc.json&query=$.version&colorB=blue)
- **Documentation:**
![ ](https://img.shields.io/badge/dynamic/json.svg?label=Completeness&url=https://fiware.github.io/catalogue/json/open_mtc.json&query=$.docCompleteness&colorB=blue)
![ ](https://img.shields.io/badge/dynamic/json.svg?label=Usability&url=https://fiware.github.io/catalogue/json/open_mtc.json&query=$.docSoundness&colorB=blue)
- **Responsiveness:**
![ ](https://img.shields.io/badge/dynamic/json.svg?label=Time%20to%20Respond&url=https://fiware.github.io/catalogue/json/open_mtc.json&query=$.timeToCharge&colorB=blue)
![ ](https://img.shields.io/badge/dynamic/json.svg?label=Time%20to%20Fix&url=https://fiware.github.io/catalogue/json/open_mtc.json&query=$.timeToFix&colorB=blue)
- **FIWARE Testing:**
![ ](https://img.shields.io/badge/dynamic/json.svg?label=Tests%20Passed&url=https://fiware.github.io/catalogue/json/open_mtc.json&query=$.failureRate&colorB=blue)
![ ](https://img.shields.io/badge/dynamic/json.svg?label=Scalability&url=https://fiware.github.io/catalogue/json/open_mtc.json&query=$.scalability&colorB=blue)
![ ](https://img.shields.io/badge/dynamic/json.svg?label=Performance&url=https://fiware.github.io/catalogue/json/open_mtc.json&query=$.performance&colorB=blue)
![ ](https://img.shields.io/badge/dynamic/json.svg?label=Stability&url=https://fiware.github.io/catalogue/json/open_mtc.json&query=$.stability&colorB=blue)
---
## Licence
The OpenMTC SDK is licensed under the Eclipse Public License (EPL)
version 1.
© 2018 OpenMTC
Please let us know what you think. We are also very interested in any use case you are *not* able to implement with the SDK or if you find it difficult to do so.

View File

@ -2,7 +2,7 @@
Transfer OpenMTC Data to an InfluxDB Transfer OpenMTC Data to an InfluxDB
""" """
__version__ = "1.1.0" __version__ = "1.2.0"
__description__ = "InfluxdbApp" __description__ = "InfluxdbApp"
__author_name__ = "Christian Klopp" __author_name__ = "Christian Klopp"
__author_mail__ = "christian.klopp@fokus.fraunhofer.de" __author_mail__ = "christian.klopp@fokus.fraunhofer.de"

View File

@ -3,7 +3,7 @@ This App will forward all incoming sensor traffic to the Fiware Orion Context
Broker Broker
""" """
__version__ = "1.1.0" __version__ = "1.2.0"
__description__ = "OrionContextBroker" __description__ = "OrionContextBroker"
__author_name__ = "Christian Klopp" __author_name__ = "Christian Klopp"
__author_mail__ = "christian.klopp@fokus.fraunhofer.de" __author_mail__ = "christian.klopp@fokus.fraunhofer.de"

View File

@ -2,7 +2,7 @@
App to inject data from a csv file to OpenMTC App to inject data from a csv file to OpenMTC
""" """
__version__ = "1.1.0" __version__ = "1.2.0"
__description__ = "csvInjector" __description__ = "csvInjector"
__author_name__ = "Christian Klopp" __author_name__ = "Christian Klopp"
__author_mail__ = "christian.klopp@fokus.fraunhofer.de" __author_mail__ = "christian.klopp@fokus.fraunhofer.de"

View File

@ -2,7 +2,7 @@
TODO: Add description here TODO: Add description here
""" """
__version__ = "1.1.0" __version__ = "1.2.0"
__description__ = "mqttConnector" __description__ = "mqttConnector"
__author_name__ = "Ronald Steinke" __author_name__ = "Ronald Steinke"
__author_mail__ = "ronald.steinke@fokus.fraunhofer.de" __author_mail__ = "ronald.steinke@fokus.fraunhofer.de"

9
doc/index.md Normal file
View File

@ -0,0 +1,9 @@
# Open MTC IoT Agent
[![FIWARE IoT Agents](https://nexus.lab.fiware.org/repository/raw/public/badges/chapters/iot-agents.svg)](https://www.fiware.org/developers/catalogue/)
[![](https://nexus.lab.fiware.org/repository/raw/public/badges/stackoverflow/iot-agents.svg)](https://stackoverflow.com/questions/tagged/fiware+iot)
The OpenMTC SDK aims to provide developers with a convenient yet flexible tool
to write oneM2M compliant applications. This includes network applications
(NAs), gateway application (GAs), device applications (DAs), as well as
interworking proxy entities (IPEs).

View File

@ -2,7 +2,7 @@
Interworking Proxy for Cul868 devices. Interworking Proxy for Cul868 devices.
""" """
__version__ = "1.1.0" __version__ = "1.2.0"
__description__ = "The OpenMTC Cul868IPE" __description__ = "The OpenMTC Cul868IPE"
__author_name__ = "Ronny Kreuch" __author_name__ = "Ronny Kreuch"
__author_mail__ = "ronny.kreuch@fokus.fraunhofer.de" __author_mail__ = "ronny.kreuch@fokus.fraunhofer.de"

52
mkdocs.yml Normal file
View File

@ -0,0 +1,52 @@
site_name: Open MTC
site_url: https://github.com/OpenMTC/OpenMTC
repo_url: https://github.com/OpenMTC/OpenMTC.git
site_description: FIWARE Open MTC IoT Agent document site
docs_dir: doc/
site_dir: html
markdown_extensions: [toc,tables, fenced_code]
use_directory_urls: false
theme: readthedocs
extra_css: ["https://fiware.org/style/fiware_readthedocs.css", "https://fiware.org/style/fiware_readthedocs_iot.css"]
pages:
- Home: index.md
- 'User & Programmers Manual':
- Introduction: introduction.md
- Quick Start: openmtc-get-started.md
- The MQTT Client: onem2m-client-mqtt.md
- Authentication Guide: authentication.md
- Overview REST API: overview-rest-api.md
- Write your first OpenMTC applications: training/training-index.md
- Console Outputs:
- Sensor Backend: training/console-outputs/training-sensor-backend.md
- Sensor Gateway: training/console-outputs/training-sensor-gateway.md
- Sensor IPE: training/console-outputs/training-sensor-ipe.md
- Sensor GUI: training/console-outputs/training-sensor-gui.md
- Sensor Actuator Backend: training/console-outputs/training-sensor-actuator-backend.md
- Sensor Actuator Gateway: training/console-outputs/training-sensor-actuator-gateway.md
- Sensor Actuator IPE: training/console-outputs/training-sensor-actuator-ipe.md
- Sensor Actuator GUI: training/console-outputs/training-sensor-actuator-gui.md
- Training:
- IPE Sensors: training/training-ipe-sensors.md
- IPE Sensors Actuators: training/training-ipe-sensors-actuators.md
- GUI Sensors: training/training-gui-sensors.md
- GUI Sensors Actuators: training/training-gui-sensors-actuators.md
- SDK - Using the Application Framework: sdk-framework.md
- SDK - The low-level CSE Client: sdk-client.md
- SDK - The Data Model: sdk-datamodel.md
- Examples:
- IoT Data Visualization: example-apps/IoT-data-visualization.py
- Data Aggregation: example-apps/data-aggregation.py
- Simple Decision: example-apps/simple-decision.py
- Simple Decision 2: example-apps/simple-decision-2.py
- Scripts:
- Create App Structure Script: create-app-structure.md
- Create binary docker images Script: create-binary-docker.md
- Code Repository Structure: repository-structure.md
- Developer FAQ: developer-faq.md
- 'Installation & Administration Manual':
- Deployment: deployment-guide.md
- Installation of the OpenMTC SDK: install-sdk.md
- Appendix : various.md
- Resource Names & Types : reference-doc/resource-names-and-types.md
- Gateway & Backend Configuration : reference-doc/gateway-and-backend-configuration.md

View File

@ -13,7 +13,7 @@ from utils import (get_packages, OpenMTCSdist, OpenMTCBuildPy,
# name and version # name and version
SETUP_NAME = "openmtc-all" SETUP_NAME = "openmtc-all"
SETUP_VERSION = "1.1.0" SETUP_VERSION = "1.2.0"
SETUP_DESCRIPTION = "The OpenMTC Backend and Gateway (GEvent version)" SETUP_DESCRIPTION = "The OpenMTC Backend and Gateway (GEvent version)"
# meta # meta

View File

@ -7,7 +7,7 @@ from utils import get_packages, OpenMTCSdist
# name and version # name and version
NAME = "sdk" NAME = "sdk"
SETUP_NAME = "openmtc-" + NAME SETUP_NAME = "openmtc-" + NAME
SETUP_VERSION = "1.1.0" SETUP_VERSION = "1.2.0"
SETUP_DESCRIPTION = "The OpenMTC Python SDK" SETUP_DESCRIPTION = "The OpenMTC Python SDK"
# meta # meta

View File

@ -17,7 +17,7 @@ The tests can be run from the command line. Make sure that a instance is running
Assuming that a gateway is running at localhost, port 8000. Assuming that a gateway is running at localhost, port 8000.
```bash ```bash
$ pyresttest http://localhost:8000 tests/conformance/basic.yaml $ pyresttest http://localhost:8000 tests/interoperability/basic.yaml
Test Group Openmtc Test 8.1.1 SUCCEEDED: : 1/1 Tests Passed! Test Group Openmtc Test 8.1.1 SUCCEEDED: : 1/1 Tests Passed!
Test Group Openmtc Test 8.1.2 SUCCEEDED: : 4/4 Tests Passed! Test Group Openmtc Test 8.1.2 SUCCEEDED: : 4/4 Tests Passed!
Test Group Openmtc Test 8.1.3 SUCCEEDED: : 4/4 Tests Passed! Test Group Openmtc Test 8.1.3 SUCCEEDED: : 4/4 Tests Passed!