Deployment of IoT devices and the complete technology stack that support it is just the first phase of the IoT solution. Considering that many IoT deployments consist of a huge number of devices,a successful IoT solution requires remote maintenance and management of connected devices.
Edgeflux is a system for remote device and gateways management which ensures the secure and proper functioning of multiple IoT devices and gateways after they have been deployed.
A full range of Edgeflux IoT Device Management functionalities includes fast device onboarding with bulk provisioning, in-depth visibility of device status, its performance metrics and security issues, logical groupings of devices into hierarchical structures and software and firmware update actions.
• Device discovery and connection
• Provisioning and Registration
• Device authentication
• Remote device monitoring and troubleshooting
• Predictive maintenance
• Secure device data transfer to cloud
• Device organization and configuration
• Device location across the entire device fleet in real-time
• Remote software and firmware updates (OTA)
• Reboots, factory resets, and security patches, bug fixes
• New feature enhancements
Edgeflux is an application built on the top of the Mainflux open-source and patent-free IoT Platform, which is used internally as the main engine for device management and it is invisible/transparent to the end-user.
However, Edgeflux works as a separate product meaning that all data can be pushed to the other IoT platforms.
Edgeflux is hardware agnostic and it can be used with any gateway. What is only needed is the installation of the small IoT agent daemon - Edged, on the gateway.
Edged securely connects to Edgeflux and acts as a bridge between remote IoT gateway and Edgeflux removing the need for VPN. It is written in Go and open control MQTT channels towards Edgeflux in the cloud so it can be managed from the Edgeflux app.
Once Mainflux Labs Edged daemon is deployed to the remote gateway it connects to Edgeflux Bootstrap service enabling application lifecycle management. Edged also connects to Edgeflux enabling control plane communication.
All connections are secure (TLS and/or mTLS) and initiated by the remote gateway so there are no open ingress ports. VPN is not required for the system to operate securely, thanks to the innovative implementation of remote terminal and browser via mTLS-encrypted MQTT channels.
There are no particular hardware requirements for the Gateway, considering that Edgeflux is a very small Go statically-compiled binary that can fit under the 900k, while Go can for any architecture and OS
Mainflux provides gateway auto-conf and onboarding via Bootstrapping Server
VPN is traditionally used for secure tunnel, remote terminal and desktop. However - it is difficult (and expensive) to configure and maintain it. With Mainflux security there is not need for the secure tunnel. Additionally, a remote terminal can be implemented as a Mainflux app. For most IoT apps, remote desktop is not necessary, as IoT gateways are “headless”.
The remote terminal can be implemented as a Mainflux app over MQTT. Part of this app is the MQTT client on the gateway, embedded in Edgeflux daemon. Another part is the UI app on the top of the Mainflux presenting the actual terminal.
Edgeflux UI shows the list of EdgeX services and their status for each of the gateways. I.e. user can drill down into the gateway and inspect service by service. Edgeflux UI provide that whatever changes in the cloud isvisible on the gateway, and the interface in the cloud is the same as local gateway admin page UI visible in LAN.
Mainflux provides data storage. Edgeflux UI can additionally provide graphing this data.This way users get not only gateway management system, but also comprehensive end-to-end IoT solution.
Edgeflux provides rich GUI in the form of the dashboards to manage gateways and devices connected to it via Mainflux IoT Platform.