osiota
v2.1.0
Published
*Osiota* is a software platform capable of running *distributed IoT applications* written in JavaScript to enable any kind of IoT tasks.
Downloads
19
Readme
Operating System for Internet of Things Applications (osiota)
Osiota is a software platform capable of running distributed IoT applications written in JavaScript to enable any kind of IoT tasks.
Its fields of operation include:
- Smart Home
- Building Automation
- Energy Management
- Smart Industrial Applications
- TV Studio Automation
- Fancy Communication Tasks
Of cause, any "normal" not distributed task can be realized as well.
Why?
The Internet of Things (IoT) consists of things as well as applications. Applications
- define the tasks and activities of things,
- interconnect things, and
- get humans involved.
But where should these IoT applications live? In the Internet of Things, of course, and not (only) in the cloud. Therefore an operating system (not as for PCs) is needed to run these distributed IoT applications and connect them with the things.
Osiota is our solution. It is a software platform capable of running software modules. Multiple of these modules can form a distributed IoT application. Osiota can be run on any device that is able to run Node.js or JavaScript code, as far as we know.
By connecting multiple running processes of osiota, connected items and applications can be shared between hosts. As smartphones, tablets and personal computer are important devices to communicate with the users, osiota can be executed on these devices as well and provide IoT applications with graphical user interfaces (GUI). A cloud service can be included too, but this service is just seen as another device.
Distinguishing features / Pros
osiota
- provides simple and universal APIs
- can be used to ensure data security, data protection and latency requirements
- uses one programming language for all devices and software layers: JavaScript
IoT Applications (osiota-app-)
An IoT application can run across multiple hosts. Therefore it can consist of multiple software parts running on different hosts, together forming the IoT application.
Osiota can start JavaScript files or repositories starting with the string osiota-app-
. It uses
- the osiota Application API as well as
- the osiota Node API
for communication with the other parts of the IoT application.
Types of Applications
- Data Acquisition from Sensors, Devices, ...
- Device Control
- Measuring and Control Techniques
- Digital Signal Processing
- User Interfaces
- Dashboards
- and many more
Applications for osiota
See on NPM with search term osiota. Official osiota apps are situated in the GitHub group osiota.
Examples (TODO):
Further Guides
- Installation, startup and configuration guide
- How to build your own application
- Building networks
- Composition of osiota
- API documentation
- Command Line Interface
Demonstrators
- Chat / File-Drag&Drop / Game / ... Applications
- ags Lebkuchenhaus (Gingerbread house) – offline
- Smart Home Virtual Environment
- Video-Box
- DMX Light Project
Publications
- Simon Walz and Yannic Schröder, “A privacy-preserving system architecture for applications raising the energy efficiency,” in 2016 IEEE 6th International Conference on Consumer Electronics - Berlin (ICCE-Berlin), 2016, pp. 62–66.
- Simon Walz, “Energie sparen mit Hilfe des Internet der Dinge (IoT),” Fachzeitschrift für Fernsehen, Film und Elektron. Medien, vol. 8–9, pp. 366–370, 2016.
- Simon Walz, “Eine Softwareplattform zur Realisierung von verteilten Smart-Energy-Anwendungen im IoT,” in VDE-Kongress 2016 - Internet der Dinge, 2016, pp. 1–5. ICCE und VDE Veröffentlichungen.
- Simon Walz, “Ein System zur Gerätevernetzung für das Energiemanagement”, Dissertation von der Fakultät für Elektrotechnik, Informationstechnik, Physik der Technischen Universität Braunschweig, Düren, Shaker Verlag, 2020, ISBN: 978-3-8440-7360-7.
Thanks to
Osiota has been mainly developed at the Institut für Nachrichtentechnik of the Technische Universität Braunschweig in cooperation with the Institut für Betriebssysteme und Rechnerverbund.
Its primary Author is Simon Walz (Github).
License
This software is released under the MIT license.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.