IoTSuite is a suite of tools for developing Internet of Things applications. The main aim is of this toolkit is to reduce development efforts at various stages of application development. For this, It consists of the following components to aid developers:
-
A compiler parses the high-level specification and supports the application development phase by producing programming framework that reduces development effort in specifying the details of components of an IoT application.
-
A deployment module is supported by mapper and linker modules. They together support the deployment phase by producing device-specific code to result in a distributed system collaboratively hosted by individual devices.
-
A runtime system, which leverages existing middleware platforms and responsible for a distributed execution of an IoT application.
The current version of IoTSuite supports several IoT technologies such as Android, Raspberry PI, Arduino, and JavaSE-enabled devices, Messaging protocols such as MQTT, CoAP, WebSocket, Server technologies such as Node.js, Relational database such as MySQL, and Microsoft Azure Cloud services.
We provide IoTSuite in two versions:
-
Developer version: The aim of this version is to let developers to extend IoTSuite with additional use cases. Therefore, we provide command-line interface and expose source code. We highly recommend to use this version for research and experiment purposes.
For setup developer version - refer our wiki pages
-
User version: The aim of this version is to let users to develop IoT applications. Therefore, we provide editors (with Error checking, Syntax coloring and highlighting, Code folding, Outline/structured view etc.) as an interface to develop IoT. The interface hides internal details from the users and let users to focus on IoT application development.
To install user version - refer our wiki pages
using IoTSuite, many innovative class of IoT applications can be developed including from typical
- Sense-Compute-Control (E.g., Regulating Temperature using heater and temperature sensor)
- Personalized HAVAC involving cloud/non-cloud based database services
- Involving user using Mobile Application (E.g., Notifying to users when fire is detected)
- Real-time data Visualization on DashBoard
We have been working on the above mentioned class of applications, available in Examples folders here
See also the list of contributors who participated in this project.
Up-to-date information on publications on IoTSuite is available at Google Scholar Page.
GNU GPL v2.0, check LICENSE.txt