- Preparing the environment
- Installing and using Docker
- Setting up an IDE
- Building and testing
- Working on the UI
- Working on maps
- Docker compose profiles
- Creating a custom project
- Maintaining an installation
- Working on the mobile consoles
- Connecting Protocol adaptors with Agents
- Edge device firmware updating
- Licensing guidelines for contributors
- Useful commands and queries
- Docker swarm mode
Clone this wiki locally
OpenRemote is a 100% open source IoT platform that simplifies connecting networked assets to mobile and web applications.
The core of the OpenRemote system is the Manager, a headless Java application that forms an IoT context broker which captures the current asset state of the system. You can create a dynamic schema of your assets and their attributes in the manager, modelling the problem domain. For example, you would create Building, Apartment, Room, and Sensor assets to model an IoT system for a smart home or office.
Networked things and devices are connected to the manager via Agents, they are the interface to 3rd party APIs and service protocols. OpenRemote has many built-in protocols and it's easy to create new adapters. Co-locate your agents with the manager or install agents on Edge gateways, close to devices.
The manager provides APIs for monitoring and administrating the system:
- JAX-RS based HTTP API
- Websockets event API
- MQTT event API
The OpenRemote Frontend simplifies the creation and deployment of user interfaces such as:
- Multi tenancy monitoring dashboard
- Home automation control panel
- Smart city monitoring dashboard
We support the latest HTML standards and provide web components to build applications quickly, utilising the OpenRemote asset model and APIs: you can easily show all your assets on a map, for example. Full web applications are also bundled with OpenRemote, these can be used as templates for building custom web applications.
The OpenRemote Consoles are native mobile applications (iOS and Android) that act as a shell for web applications built with the OpenRemote web components; a web browser is also considered to be a console and we automatically integrate native console features like push notifications and geo-fencing on each platform. If you have an existing website, add OpenRemote web components and wrap it in the OpenRemote console to connect your mobile users to your IoT network.
Security is paramount when it comes to IoT and out of the box the manager integrates with Keycloak to provide industry standard multi-tenant authentication; out of the box we also provide TLS/SSL when using our HAProxy-based reverse proxy.
We rely on PostgreSQL and its GIS and JSON extensions to provide a stable asset database management system.