All MicroEJ for IoT Devices in one picture!
MicroEJ solutions help create smart IoT devices and related business models.
IoT device manufacturers use MicroEJ SDK to develop the software that runs on the device hardware (i.e. the firmware programmed in the device’s flash memory). This software includes MicroEJ OS plus any resident application for delivering the IoT devices’ initial functionality. MicroEJ OS runs on top of low-level hardware-dependent software called board support package or BSP.
IoT device manufacturers also use MicroEJ SDK to create a simulator of their IoT devices software and hardware called a Virtual Device or VD. A VD runs the same MicroEJ OS and resident application code on a software simulation of the hardware and peripherals. A VD can be published to a MicroEJ Store on the Internet. Application developers can use the VD as specifications and test environment to write downloadable apps for extending the device’s functionality.
Application developers use the free MicroEJ Studio to develop appsfor IoT devices. Apps are written using the Java language. They are published to a MicroEJ Store so end-users of IoT devices can download and use them.
End-users of IoT devices running on MicroEJ OS can connect their devices to a MicroEJ Store on the Internet, either directly (if they have broadband connectivity like Ethernet, Cellular modem, or low-power WAN), or indirectly through a narrowband connectivity to a gateway (using Wi-Fi or Thread) or companion smartphone/tablet (using Bluetooth). They can browse apps available for their device and download them. Download can be done either directly from the device user interface, or from a remote user interface (the app is pushed to the device using a smartphone/tablet for example). Apps can be dynamically installed, launched, stopped, and uninstalled on MicroEJ-ready devices.
IoT devices running MicroEJ OS can also connect to web server APIs, subscribe to web services, send data to cloud platforms for analysis, and be remotely managed by an operator. In order to enable access to all those cloud servers and services (through protocols like HTTPS REST, CoAP, MQTT, or LWM2M), web service providers can develop specific apps called agents. This Agents can be published to a MicroEJ Store and downloaded/installed like any other app. Those agents come with the protocols and information required to operate with their web services and further extend the capabilities of MicroEJ OS. Other apps can rely on those agents to deliver interactive web-based services to users directly on the device.